This set of specifications is useful for demonstrating many of the interesting properties of TLA+, TLC and model checking.
- Single process
increment_1.tla- Introduce TLA+ syntax and actions
- Basic invariants and properties
- Liveness properties, stuttering and fairness
- Two processes
increment_2.tlaand the correctedincrement_2_lock.tla- How to model non-determinism in the
Nextformula - Counter-examples for properties and how we can fix it in this case
- How to model non-determinism in the
- Arbitrary processes
increment_g.tlaandincrement_g_lock.tla- Complete (ish) TLA+ syntax
- State space explosion (increase the number of processes in
increment_g.cfgandincrement_g_lock.cfg) - Symmetry reduction solving the state space explosion
To run: tlc2 increment_{variant}.tla.