Encoding TLA\(^{+}\) into Many-Sorted First-Order Logic

  • Stephan Merz
  • Hernán VanzettoEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9675)


This paper presents an encoding of a non-temporal fragment of the \({\textsc {TLA}} ^{{+}}\) language, which includes untyped set theory, functions, arithmetic expressions, and Hilbert’s \(\varepsilon \) operator, into many-sorted first-order logic, the input language of state-of-the-art smt solvers. This 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 smt solvers for the \({\textsc {TLA}} ^{{+}}\) Proof System.


Many-sorted First-order Logic Back-end Provers Proof Obligations Basic Normal Form Deterministic Choice Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Baader, F., Nipkow, T.: Term rewriting and all that. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  2. 2.
    C. Barrett, A. Stump, and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB)(2010).
  3. 3.
    Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending Sledgehammer with SMT solvers. J Autom. Reasoning 51(1), 109–128 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Cousineau, D., Doligez, D., Lamport, L., Merz, S., Ricketts, D., Vanzetto, H.: TLA\(^{+}\) proofs. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 147–154. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  5. 5.
    Déharbe, D., Fontaine, P., Guyot, Y., Voisin, L.: SMT solvers for Rodin. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 194–207. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  6. 6.
    Delahaye, D., Doligez, D., Gilbert, F., Halmagrand, P., Hermant, O.: Zenon Modulo: when Achilles Outruns the tortoise using deduction modulo. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR-19 2013. LNCS, vol. 8312, pp. 274–290. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Douceur, J.R., Lorch, J.R., Parno, B., Mickens, J., McCune, J.M.: Memoir-Formal Specs and Correctness Proofs. Technical report MSR-TR–19, Microsoft Research (2011)Google Scholar
  8. 8.
    Hansen, D., Leuschel, M.: Translating TLA\(^{+}\) to B for validation with ProB. In: Derrick, J., Gnesi, S., Latella, D., Treharne, H. (eds.) IFM 2012. LNCS, vol. 7321, pp. 24–38. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Konrad, M., Voisin, L.: Translation from set-theory to predicate calculus. Technical report, ETH Zurich (2012)Google Scholar
  10. 10.
    Lamport, L.: Specifying Systems: The TLA\(^{+}\) Language and Tools for Hardware and Software Engineers. Addison-Wesley, Boston (2002)Google Scholar
  11. 11.
    Manzano, M.: Extensions of First-Order Logic. Cambridge Tracts in Theoretical Computer Science, 2nd edn. Cambridge University Press, Cambridge (2005)zbMATHGoogle Scholar
  12. 12.
    Mentré, D., Marché, C., Filliâtre, J.-C., Asuka, M.: Discharging proof obligations from Atelier B using multiple automated provers. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 238–251. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Merz, S., Vanzetto, H.: Automatic verification of TLA\(^{+}\) proof obligations with SMT solvers. In: Bjørner, N., Voronkov, A. (eds.) LPAR-18 2012. LNCS, vol. 7180, pp. 289–303. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  14. 14.
    Merz, S., Vanzetto, H.: Harnessing SMT Solvers for TLA\(^{+}\) Proofs. Electron. Commun. Eur. Assoc. Softw. Sci. Tech., 53 (2012)Google Scholar
  15. 15.
    Merz, S., Vanzetto, H.: Refinement types for tla \(^{+}\). In: Badger, J.M., Rozier, K.Y. (eds.) NFM 2014. LNCS, vol. 8430, pp. 143–157. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  16. 16.
    Plagge, D., Leuschel, M.: Validating B,Z and TLA \(^{+}\) Using ProB and Kodkod. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 372–386. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  17. 17.
    Sutcliffe, G.: The TPTP problem library and associated infrastructure. J. Autom. Reason. 43(4), 337–362 (2009)CrossRefzbMATHGoogle Scholar
  18. 18.
    Urban, J.: Translating Mizar for first-order theorem. In: Asperti, A., Buchberger, B., Davenport, J.H. (eds.) MKM 2003. LNCS, vol. 2594, pp. 203–215. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.InriaVillers-lès-NancyFrance
  2. 2.CNRS, Université de Lorraine, LORIA, UMR 7503Vandoeuvre-lès-NancyFrance
  3. 3.Yale UniversityNew HavenUSA

Personalised recommendations