Abstract

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 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 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 Proof System. • A TLA + Proof System back-end prover based on first-order provers and SMT solvers. • New techniques for encoding set theory, functions and Hilbert's operator into FOL. • Encoding of an untyped language (TLA + ) into many-sorted FOL. • Improved verification of safety properties of distributed systems in TLA + . • Reduce effort required to write interactive proofs in the TLA + Proof System.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call