The TLA+ Proof System: Building a Heterogeneous Verification Platform
Abstract
TLAPS, the TLA+ proof system, is a platform for the development and mechanical verification of TLA+ proofs. Proofs are written in TLA+, which contains a hierarchical proof language based on elementary mathematics. It has been designed independently of any specific verification tool or strategy. TLAPS consists of a front-end, called the proof manager, and of a collection of back-end verifiers that include theorem provers, SMT solvers, and decision procedures. The proof manager interprets TLA+ proofs and generates the corresponding proof obligations that must be verified. The current release handles almost all the non-temporal part of TLA+, which suffices for proving standard safety properties, but not liveness properties. The proof manager supports hierarchical and non-linear proof construction and verification so that the skeleton of an incomplete proof can be verified independently of the lower-level subproofs.