We mechanise the logic TLA∗ [8], an extension of Lamport’s Temporal Logic of Actions (TLA) [5] for specifying and reasoning about concurrent and reactive systems. Aiming at a framework for mechanising the verification of TLA (or TLA∗) specifications, this contribution reuses some elements from a previous axiomatic encoding of TLA in Isabelle/HOL by the second author [7], which has been part of the Isabelle distribution. In contrast to that previous work, we give here a shallow, definitional embedding, with the following highlights: a theory of infinite sequences, including a formalisation of the concepts of stuttering invariance central to TLA and TLA*; a definition of the semantics of TLA*, which extends TLA by a mutually-recursive definition of formulas and pre-formulas, generalising TLA action formulas; a substantial set of derived proof rules, including the TLA* axioms and Lamport’s proof rules for system verification; a set of examples illustrating the usage of Isabelle/TLA* for reasoning about systems. Note that this work is unrelated to the ongoing development of a proof system for the specification language TLA+, which includes an encoding of TLA+ as a new Isabelle object logic [1]. A previous version of this embedding has been used heavily in the work described in [4].
[1]
Stephan Merz.
An Encoding of TLA in Isabelle
,
1999
.
[2]
Tobias Nipkow,et al.
Certifying Machine Code Safety: Shallow Versus Deep Embedding
,
2004,
TPHOLs.
[3]
Leslie Lamport,et al.
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review]
,
2002,
Computer.
[4]
Leslie Lamport,et al.
The temporal logic of actions
,
1994,
TOPL.
[5]
Lawrence C. Paulson,et al.
Representing Component States in Higher-Order Logic
,
2002
.
[6]
Stephan Merz.
A More Complete TLA
,
1999,
World Congress on Formal Methods.
[7]
Gudmund Grov,et al.
Reasoning about correctness properties of a coordination programming language
,
2009
.
[8]
M. Wenzel.
Using Axiomatic Type Classes in Isabelle
,
2000
.
[9]
Olaf Müller,et al.
Possibly Infinite Sequences in Theorem Provers: A Comparative Study
,
1997,
TPHOLs.
[10]
Stephan Merz,et al.
Verifying Safety Properties with the TLA+ Proof System
,
2010,
IJCAR.