Skip to main content

Automated Theory Exploration for Interactive Theorem Proving:

An Introduction to the Hipster System

  • Conference paper
Interactive Theorem Proving (ITP 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10499))

Included in the following conference series:

Abstract

Theory exploration is a technique for automatically discovering new interesting lemmas in a mathematical theory development using testing. In this paper I will present the theory exploration system Hipster, which automatically discovers and proves lemmas about a given set of datatypes and functions in Isabelle/HOL. The development of Hipster was originally motivated by attempts to provide a higher level of automation for proofs by induction. Automating inductive proofs is tricky, not least because they often need auxiliary lemmas which themselves need to be proved by induction. We found that many such basic lemmas can be discovered automatically by theory exploration, and importantly, quickly enough for use in conjunction with an interactive theorem prover without boring the user.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This example can be found online: https://github.com/moajohansson/IsaHipster/blob/master/Examples/ITP2017/Tree.thy.

  2. 2.

    The source code is at: https://github.com/moajohansson/IsaHipster/blob/master/Examples/ITP2017/Qrev.thy.

  3. 3.

    The proof command metis (followed by a list of required library facts) in the proof of lemma_aa is produced by Sledgehammer. Metis is Isabelle’s built in first order prover used to reconstruct proofs from external provers.

  4. 4.

    The interested reader may consult the file Tactic_Data.ML in the Hipster source code repository for details of several pre-defined combinations of easy/hard reasoning tactics, as well as how to define additional ones.

References

  1. Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171–177. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22110-1_14

    Chapter  Google Scholar 

  2. Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB standard. http://smtlib.cs.uiowa.edu/standard.shtm

  3. Buchberger, B.: Theory exploration with theorema. Analele Univ. Din Timis. ser. Mat.-Inform. 38(2), 9–32 (2000)

    MathSciNet  MATH  Google Scholar 

  4. Buchberger, B., Creciun, A., Jebelean, T., Kovacs, L., Kutsia, T., Nakagawa, K., Piroi, F., Popov, N., Robu, J., Rosenkranz, M., Windsteiger, W.: Theorema: towards computer-aided mathematical theory exploration. J. Appl. Log. 4(4), 470–504 (2006). Towards Computer Aided Mathematics

    Article  MathSciNet  Google Scholar 

  5. Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of ICFP, pp. 268–279 (2000)

    Google Scholar 

  6. Claessen, K., Johansson, M., Rosén, D., Smallbone, N.: Automating inductive proofs using theory exploration. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 392–406. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38574-2_27

    Chapter  Google Scholar 

  7. Claessen, K., Johansson, M., Rosén, D., Smallbone, N.: TIP: tons of inductive problems. In: Kerber, M., Carette, J., Kaliszyk, C., Rabe, F., Sorge, V. (eds.) CICM 2015. LNCS (LNAI), vol. 9150, pp. 333–337. Springer, Cham (2015). doi:10.1007/978-3-319-20615-8_23

    Chapter  Google Scholar 

  8. De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi:10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  9. Johansson, M., Dixon, L., Bundy, A.: Conjecture synthesis for inductive theories. J. Autom. Reason. 47(3), 251–289 (2011)

    Article  MathSciNet  Google Scholar 

  10. Johansson, M., Rosén, D., Smallbone, N., Claessen, K.: Hipster: integrating theory exploration in a proof assistant. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 108–122. Springer, Cham (2014). doi:10.1007/978-3-319-08434-3_9

    Chapter  Google Scholar 

  11. McCasland, R.L., Bundy, A., Smith, P.F.: Smith.: Ascertaining mathematical theorems. Electron. Notes Theor. Comput. Sci. 151(1), 21–38 (2006)

    Article  Google Scholar 

  12. Montano-Rivas, O., McCasland, R., Dixon, L., Bundy, A.: Scheme-based theorem discovery and concept invention. Expert Syst. Appl. 39(2), 1637–1646 (2012)

    Article  Google Scholar 

  13. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL–A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  14. Paulson, L.C., Blanchette, J.C.: Three years of experience with sledgehammer, a practical link between automatic and interactive theorem provers. In: IWIL-2010, (2010)

    Google Scholar 

  15. Rosén, D., Smallbone, N.: TIP: tools for inductive provers. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 219–232. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48899-7_16

    Chapter  MATH  Google Scholar 

  16. Smallbone, N., Johansson, M., Koen, C., Algehed, M.: Quick specifications for the busy programmer. J. Funct. Program. 27, e18 (2017)

    Article  MathSciNet  Google Scholar 

  17. Sutcliffe, G.: The TPTP problem library and associated infrastructure: the FOF and CNF parts, v3.5.0. J. Autom. Reason. 43(4), 337–362 (2009)

    Article  Google Scholar 

  18. Lobo Valbuena, I., Johansson, M.: Conditional lemma discovery and recursion induction in Hipster. In: ECEASST, vol. 72 (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Moa Johansson .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Johansson, M. (2017). Automated Theory Exploration for Interactive Theorem Proving:. In: Ayala-Rincón, M., Muñoz, C.A. (eds) Interactive Theorem Proving. ITP 2017. Lecture Notes in Computer Science(), vol 10499. Springer, Cham. https://doi.org/10.1007/978-3-319-66107-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-66107-0_1

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-66106-3

  • Online ISBN: 978-3-319-66107-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics