Automated Theory Exploration for Interactive Theorem Proving:

An Introduction to the Hipster System
  • Moa JohanssonEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10499)


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.


  1. 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 CrossRefGoogle Scholar
  2. 2.
    Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB standard.
  3. 3.
    Buchberger, B.: Theory exploration with theorema. Analele Univ. Din Timis. ser. Mat.-Inform. 38(2), 9–32 (2000)MathSciNetzbMATHGoogle Scholar
  4. 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 MathematicsMathSciNetCrossRefzbMATHGoogle Scholar
  5. 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. 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 CrossRefGoogle Scholar
  7. 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 CrossRefGoogle Scholar
  8. 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 CrossRefGoogle Scholar
  9. 9.
    Johansson, M., Dixon, L., Bundy, A.: Conjecture synthesis for inductive theories. J. Autom. Reason. 47(3), 251–289 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 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 CrossRefGoogle Scholar
  11. 11.
    McCasland, R.L., Bundy, A., Smith, P.F.: Smith.: Ascertaining mathematical theorems. Electron. Notes Theor. Comput. Sci. 151(1), 21–38 (2006)CrossRefzbMATHGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL–A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  14. 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. 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 CrossRefGoogle Scholar
  16. 16.
    Smallbone, N., Johansson, M., Koen, C., Algehed, M.: Quick specifications for the busy programmer. J. Funct. Program. 27, e18 (2017)MathSciNetCrossRefGoogle Scholar
  17. 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)CrossRefzbMATHGoogle Scholar
  18. 18.
    Lobo Valbuena, I., Johansson, M.: Conditional lemma discovery and recursion induction in Hipster. In: ECEASST, vol. 72 (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringChalmers University of TechnologyGothenburgSweden

Personalised recommendations