Encoding Monomorphic and Polymorphic Types

  • Jasmin Christian Blanchette
  • Sascha Böhme
  • Andrei Popescu
  • Nicholas Smallbone
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7795)

Abstract

Most automatic theorem provers are restricted to untyped logics, and existing translations from typed logics are bulky or unsound. Recent research proposes monotonicity as a means to remove some clutter. Here we pursue this approach systematically, analysing formally a variety of encodings that further improve on efficiency while retaining soundness and completeness. We extend the approach to rank-1 polymorphism and present alternative schemes that lighten the translation of polymorphic symbols based on the novel notion of “cover”. The new encodings are implemented, and partly proved correct, in Isabelle/HOL. Our evaluation finds them vastly superior to previous schemes.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Blanchette, J.C., Böhme, S., Popescu, A., Smallbone, N.: Empirical data associated with this paper (2012), http://www21.in.tum.de/~blanchet/enc_types_data.tar.gz
  2. 2.
    Blanchette, J.C., Böhme, S., Popescu, A., Smallbone, N.: Encoding monomorphic and polymorphic types. Tech. report (2012), http://www21.in.tum.de/~blanchet/enc_types_report.pdf
  3. 3.
    Blanchette, J.C., Paskevich, A.: TFF1: The TPTP typed first-order form with rank-1 polymorphism. Tech. report (2012), http://www21.in.tum.de/~blanchet/tff1spec.pdf
  4. 4.
    Blanchette, J.C., Popescu, A.: Formal development associated with this paper (2012), http://www21.in.tum.de/~popescua/enc_types_devel.zip
  5. 5.
    Bobot, F., Conchon, S., Contejean, E., Lescuyer, S.: Implementing polymorphism in SMT solvers. In: Barrett, C., de Moura, L. (eds.) SMT 2008 (2008)Google Scholar
  6. 6.
    Bobot, F., Filliâtre, J.-C., Marché, C., Paskevich, A.: Why3: Shepherd your herd of provers. In: Leino, K.R.M., Moskal, M. (eds.) Boogie 2011, pp. 53–64 (2011)Google Scholar
  7. 7.
    Bobot, F., Paskevich, A.: Expressing Polymorphic Types in a Many-Sorted Language. In: Tinelli, C., Sofronie-Stokkermans, V. (eds.) FroCoS 2011. LNCS (LNAI), vol. 6989, pp. 87–102. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Bouillaguet, C., Kuncak, V., Wies, T., Zee, K., Rinard, M.: Using First-Order Theorem Provers in the Jahob Data Structure Verification System. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 74–88. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Claessen, K., Lillieström, A.: Automated inference of finite unsatisfiability. J. Autom. Reasoning 47(2), 111–132 (2011)MATHCrossRefGoogle Scholar
  10. 10.
    Claessen, K., Lillieström, A., Smallbone, N.: Sort It Out with Monotonicity: Translating between Many-Sorted and Unsorted First-Order Logic. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS (LNAI), vol. 6803, pp. 207–221. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Enderton, H.B.: A Mathematical Introduction to Logic. Academic Press (1972)Google Scholar
  12. 12.
    Leino, K.R.M., Rümmer, P.: A Polymorphic Intermediate Verification Language: Design and Logical Encoding. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 312–327. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Meng, J., Paulson, L.C.: Translating higher-order clauses to first-order clauses. J. Autom. Reasoning 40(1), 35–60 (2008)MathSciNetMATHCrossRefGoogle Scholar
  14. 14.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)Google Scholar
  15. 15.
    Stickel, M.E.: Schubert’s steamroller problem: Formulations and solutions. J. Autom. Reasoning 2(1), 89–101 (1986)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Sutcliffe, G.: Proceedings of the 6th IJCAR ATP system competition (CASC-J6). In: Sutcliffe, G. (ed.) CASC-J6. EPiC, vol. 11, pp. 1–50. EasyChair (2012)Google Scholar
  17. 17.
    Urban, J.: MPTP 0.2: Design, implementation, and initial experiments. J. Autom. Reasoning 37(1-2), 21–43 (2006)MATHCrossRefGoogle Scholar
  18. 18.
    Wick, C.A., McCune, W.W.: Automated reasoning about elementary point-set topology. J. Autom. Reasoning 5(2), 239–255 (1989)MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jasmin Christian Blanchette
    • 1
  • Sascha Böhme
    • 1
  • Andrei Popescu
    • 1
  • Nicholas Smallbone
    • 2
  1. 1.Fakultät für InformatikTechnische Universität MünchenGermany
  2. 2.Dept. of CSEChalmers University of TechnologyGothenburgSweden

Personalised recommendations