Encoding TLA+ into unsorted and many-sorted first-order logic

Stephan Merz 1 Hernán Vanzetto 1, 2
1 VERIDIS - Modeling and Verification of Distributed Algorithms and Systems
MPII - Max-Planck-Institut für Informatik, Inria Nancy - Grand Est, LORIA - FM - Department of Formal Methods
Abstract : TLA+ is a specification language designed for the verification of concurrent and distributed algorithms and systems. We present an encoding of a non-temporal fragment of TLA+ into (unsorted) first-order logic and many-sorted first-order logic, the input languages of first-order automated theorem provers. The non-temporal subset of TLA+ is based on untyped set theory and includes functions, arithmetic expressions, and Hilbert's choice operator. The translation, based on encoding techniques such as boolification, injection of unsorted expressions into sorted languages, term rewriting, and abstraction, is the core component of a back-end prover based on first-order theorem provers and SMT solvers for the TLA+ Proof System.
Document type :
Journal articles
Complete list of metadatas

Cited literature [35 references]  Display  Hide  Download

Contributor : Stephan Merz <>
Submitted on : Tuesday, April 17, 2018 - 2:11:28 PM
Last modification on : Tuesday, February 19, 2019 - 3:40:04 PM


Files produced by the author(s)




Stephan Merz, Hernán Vanzetto. Encoding TLA+ into unsorted and many-sorted first-order logic. Science of Computer Programming, Elsevier, 2018, 158, pp.3-20. ⟨10.1016/j.scico.2017.09.004⟩. ⟨hal-01768750⟩



Record views


Files downloads