Reduce interchangeable identities only when the property permits it
Use permutation symmetry to explain state-space reductions, while preserving distinguished roles, transitions, observations, and tool-specific liveness limits.
On this page
The question for today
What you’ll understand
- Count raw worker states and permutation classes in a simple model.
- State the required invariance of initialization, actions, and checked properties.
- Explain why distinguished identities and liveness checks can invalidate a proposed symmetry reduction.
Concurrent state spaces grow because each participant can occupy several local states while messages and shared variables add further combinations. Many combinations differ only by renaming otherwise identical participants. Symmetry reduction can merge such cases, but interchangeability is a property of the complete model and claim, not a consequence of using the same worker class. A reduction that erases a special leader, customer, or failure domain can remove the counterexample being sought.
A valid renaming preserves the entire checking problem
A permutation of worker identities must preserve permitted initial states and the transition relation. The checked property must also be invariant under that renaming. If every worker follows identical rules and only the number of active workers matters, swapping two opaque identities can preserve the problem. If the algorithm chooses the numerically smallest identifier, assigns one worker a special role, or uses an identity-specific resource limit, unrestricted permutations need not preserve behavior. The relevant symmetry group may then be smaller or trivial, and must be justified explicitly.
Relations among workers also matter. Renaming must consistently transform message endpoints, ownership maps, and other identity-bearing fields, rather than changing one local status array in isolation. A ring topology permits certain rotations but not every arbitrary permutation. Workers in different zones are not interchangeable if the fault model distinguishes zone failures. A property saying that worker A eventually responds is different from a permutation-invariant count property. An apparent similarity in one state variable cannot establish the conditions for reducing the whole specification.
Count equivalence classes rather than dividing by a factorial
For n identical workers with q local states and no other state, the raw valuation count is q to the power n. Under unrestricted permutations, a class can be described by how many workers occupy each local state. The number of such histograms is the combinations-with-repetition count. For binary local states it is simply n+1, indexed by active-worker count. This is a clean illustrative quotient, not a claim that every service can be represented only by counts; messages, ownership, and shared data can retain many more distinctions.
Do not estimate the reduced count by blindly dividing by n factorial. Some states are unchanged by many permutations: all-inactive and all-active states each form a singleton orbit, while intermediate counts have larger orbits. Distinguishing one worker changes the quotient too. With four binary workers and one fixed identity A, A has two possible states and the other three workers have four possible active counts, giving eight classes instead of five. If a safety assertion mentions A specially, collapsing all four identities would erase a relevant observation.
Check the reduction's support in the actual tool
TLC's model-value symmetry facility relies on the author declaring a genuine symmetry. Its official Toolbox guidance warns that an incorrect declaration can hide errors and says not to use symmetry sets for liveness checking. Treat that as a tool-specific limitation, rather than assuming a safety reduction automatically preserves fairness or identity-dependent progress. Record the symmetry declaration and justify it alongside the property. A successful reduced run should be accompanied by smaller unreduced comparisons and deliberate asymmetric cases where appropriate, while recognizing that such tests do not prove the reduction sound in general.
The reliability instrument shows a count-only observation. Reset, set replica count n=4 and unavailable count k=1, predict three available and majority threshold three, then Play or Step. Separately Reset, set n=4 and k=2, predict two available and the same threshold three, then Play or Step. The model names no replica identities or zones, so different unavailable subsets of equal size share its readout by construction. It cannot establish that those subsets are equivalent for a real protocol, a distinguished leader, a correlated fault model, or a liveness property.
Work it through
One distinguished worker changes the quotient
Four workers each have an inactive or active local state, with no messages or other variables. First assume all worker permutations preserve initialization, transitions, and the safety property. Then change the property so worker A is distinguished and only the other three may be permuted. Count states and classes in both cases.
The raw state space has 2⁴=16 valuations. Under full interchangeability, classes are indexed by active counts zero through four, giving five classes.
Those five orbit sizes are 1,4,6,4,1, which sum to sixteen. In particular, dividing sixteen by 4!=24 would not give the quotient count because the orbits have different sizes.
When A must stay fixed, its local state has two possibilities and the other three workers have four possible active counts. The valid count-based quotient therefore has 2×4=8 classes, assuming the remaining permutations still preserve the full checking problem.
The reduction changes from sixteen raw states to five or eight classes depending on the actual identity symmetry. The property is part of that justification.
The living notebook
Explore the model
Interactive lab · reliability
A count-only view deliberately forgets which replica failed
Reset, set n=4 and k=1, predict available=3 and majority=3, then Play or Step. Separately Reset, set n=4 and k=2, predict available=2 and majority=3, then Play or Step. The model counts fixed available states and contains no identities, zones, consensus protocol, or symmetry checker. A majority readout does not prove protocol safety or progress.
- Available replicas
- 4 of 5
- Majority needed
- 3
- Majority available?
- Yes
A replica count and a majority threshold, without a consensus protocol. Playback highlights fixed replica states. Having a majority alone does not establish linearizability, durability or failure independence. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.
Look forIdentity can be discarded only when the modeled mechanism and checked observation allow it.
Pause & reason
Check your understanding
Your turn
Try it yourself
Five binary-state workers have one distinguished coordinator and four otherwise interchangeable workers, with no additional state. Count raw valuations and occupancy classes when the coordinator stays fixed. Explain why this arithmetic alone does not authorize TLC symmetry for a liveness property.
Take a moment to make a prediction or work it out on paper. Open a hint when you need one.
Give me a hint
Multiply the coordinator's two states by the possible active counts of the other four workers.
Compare with the solution
There are 2⁵=32 raw valuations and 2×(4+1)=10 proposed occupancy classes. The count assumes the four-worker permutations preserve the full safety problem. TLC's documented symmetry-set facility should not be used for liveness checking; fairness and temporal observations need a supported analysis rather than an extrapolation from this count.
Keep the idea
Take it with you
- Symmetry belongs to initialization, actions, state relations, and the checked property together.
- Orbit sizes vary, so quotient counts are not obtained by blindly dividing by n factorial.
- Tool support and liveness limitations remain part of the checking configuration.
Read further
Original sources and deeper explanations to follow at your own pace.
Optional progress, saved in this browser when available. Revisit any lesson at any time.
Lesson not marked complete.