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

  • Stephan Merz
  • Hernán Vanzetto
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.


  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