Verifying Safety Properties with the TLA + Proof System
TLAPS, the TLA + proof system, is a platform for the development and mechanical verification of TLA + proofs. The TLA + proof language is declarative, and understanding proofs requires little background beyond elementary mathematics. The language supports hierarchical and non-linear proof construction and verification, and it is independent of any verification tool or strategy. Proofs are written in the same language as specifications; engineers do not have to translate their high-level designs into the language of a particular verification tool. A proof manager interprets a TLA + proof as a collection of proof obligations to be verified, which it sends to backend verifiers that include theorem provers, proof assistants, SMT solvers, and decision procedures.
The first public release of TLAPS is available from , distributed with a BSD-like license. It handles almost all the non-temporal part of TLA + as well as the temporal reasoning needed to prove standard safety properties, in particular invariance and step simulation, but not liveness properties. Intuitively, a safety property asserts what is permitted to happen; a liveness property asserts what must happen; for a more formal overview, see [3,10].
KeywordsTheorem Prover Proof System Safety Property Proof Obligation Proof Assistant
Unable to display preview. Download preview PDF.
- 1.TLAPS web-site, http://www.msr-inria.inria.fr/~doligez/tlaps
- 2.TLA + Toolbox, http://www.tlaplus.net/tools/tla-toolbox/
- 5.Bouton, T., de Oliveira, D.C., Déharbe, D., Fontaine, P.: veriT: An open, trustable and efficient SMT-solver. In: Schmidt, R.A. (ed.) CADE 2009. LNCS, vol. 5663, pp. 151–156. Springer, Heidelberg (2009)Google Scholar
- 7.Chaudhuri, K., Doligez, D., Lamport, L., Merz, S.: A TLA + Proof System. In: Sutcliffe, G., Rudnicki, P., Schmidt, R., Konev, B., Schulz, S. (eds.) Workshop on Knowledge Exchange: Automated Provers and Proof Assistants. CEUR Workshop Proceedings, vol. 418, pp. 17–37 (2008)Google Scholar
- 12.Lamport, L.: Specifying Systems. Addison-Wesley, Boston (2003)Google Scholar
- 14.Rudnicki, P.: An overview of the Mizar project. In: Workshop on Types for Proofs and Programs, Bastad, Sweden, pp. 311–332 (1992)Google Scholar
- 15.Wenzel, M.: The Isabelle/Isar reference manual (December 2009), http://isabelle.in.tum.de/dist/Isabelle/doc/isar-ref.pdf