Verifying safety properties with the TLA+ proof system

  • Authors:
  • Kaustuv Chaudhuri;Damien Doligez;Leslie Lamport;Stephan Merz

  • Affiliations:
  • INRIA Saclay, France;INRIA Rocquencourt, France;Microsoft Research Silicon Valley;INRIA Nancy, France

  • Venue:
  • IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 [1], 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].