Automatic Verification of TLA +  Proof Obligations with SMT Solvers

  • Stephan Merz
  • Hernán Vanzetto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7180)

Abstract

TLA +  is a formal specification language that is based on ZF set theory and the Temporal Logic of Actions TLA. The TLA +  proof system tlaps assists users in deductively verifying safety properties of TLA +  specifications. tlaps is built around a proof manager, which interprets the TLA +  proof language, generates corresponding proof obligations, and passes them to backend verifiers. In this paper we present a new backend for use with SMT solvers that supports elementary set theory, functions, arithmetic, tuples, and records. Type information required by the solvers is provided by a typing discipline for TLA +  proof obligations, which helps us disambiguate the translation of expressions of (untyped) TLA +  , while ensuring its soundness. Preliminary results show that the backend can help to significantly increase the degree of automation of certain interactive proofs.

Keywords

Function Symbol Proof Obligation Type Inference Input Language Type Assignment 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Barrett, C., Stump, A., Tinelli, C.: The SMT-LIB standard: Version 2.0. In: Gupta, A., Kroening, D. (eds.) Satisfiability Modulo Theories (SMT 2010), Edinburgh, UK (2010), http://www.SMT-LIB.org
  2. 2.
    Barrett, C.W., Tinelli, C.: CVC3. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 298–302. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending Sledgehammer with SMT Solvers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 116–130. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Bonichon, R., Delahaye, D., Doligez, D.: Zenon: An Extensible Automated Theorem Prover Producing Checkable Proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Chaudhuri, K., et al.: Verifying Safety Properties with the TLA + Proof System. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 142–148. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    de Moura, L., Bjørner, N.S.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Déharbe, D.: Automatic Verification for a Class of Proof Obligations with SMT-Solvers. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 217–230. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Dutertre, B., de Moura, L.: The Yices SMT solver. Tool Paper (2006), http://yices.csl.sri.com/tool-paper.pdf
  9. 9.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM 17(8), 453–454 (1974)MathSciNetMATHCrossRefGoogle 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.
    Lamport, L., Paulson, L.C.: Should your specification language be typed? ACM Trans. Prog. Lang. Syst. 21(3), 502–526 (1999)CrossRefGoogle Scholar
  12. 12.
    Parno, B., Lorch, J.R., Douceur, J.R., Mickens, J., McCune, J.M.: Memoir: Practical state continuity for protected modules. In: IEEE Symp. Security and Privacy, Berkeley, California, U.S.A., 2011. IEEE Computer Society. Formal Specifications and Correctness Proofs: Tech. Report, Microsoft Research (February 2011)Google Scholar
  13. 13.
    Wenzel, M., Paulson, L.C., Nipkow, T.: The Isabelle Framework. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 33–38. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Stephan Merz
    • 1
  • Hernán Vanzetto
    • 1
    • 2
  1. 1.INRIA Nancy Grand-Est & LORIANancyFrance
  2. 2.Microsoft Research-INRIA Joint CentreSaclayFrance

Personalised recommendations