Skip to main content
Log in

Discovery of invariants through automated theory formation

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Refinement is a powerful mechanism for mastering the complexities that arise when formally modelling systems. Refinement also brings with it additional proof obligations—requiring a developer to discover properties relating to their design decisions. With the goal of reducing this burden, we have investigated how a general purpose automated theory formation tool, HR, can be used to automate the discovery of such properties within the context of the Event-B formal modelling framework. This gave rise to an integrated approach to automated invariant discovery. In addition to formal modelling and automated theory formation, our approach relies upon the simulation of system models as a key input to the invariant discovery process. Moreover we have developed a set of heuristics which, when coupled with automated proof-failure analysis, have enabled us to effectively tailor HR to the needs of Event-B developments. Drawing in part upon case study material from the literature, we have achieved some promising experimental results. While our focus has been on Event-B, we believe that our approach could be applied more widely to formal modelling frameworks which support simulation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abrial J-R, Butler M, Hallerstede S, Hoang T, Mehta F, Voisin L (2010) Rodin: an open toolset for modelling and reasoning in Event-B. STTT 12(6): 447–466

    Article  Google Scholar 

  2. Abrial J-R (2010) Modeling in Event-B—system and software engineering. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  3. Baars B (1988) A cognitive theory of consciousness. Cambridge University Press, Cambridge

    Google Scholar 

  4. Baars B (1997) In the theater of consciousness: the workspace of the mind. Oxford University Press, New York

    Book  Google Scholar 

  5. Bruner J, Goodnow JJ, Austin GA (1967) A study of thinking. Science Editions, New York

    Google Scholar 

  6. Bolton C (2005) Using the Alloy analyzer to verify data refinement. Z Electron Notes Theoret Comput Sci 137(2): 23–44

    Article  Google Scholar 

  7. Banach R, Schellhorn G (2010) Atomic actions, and their refinements to isolated protocols. Formal Aspects Comput 22(1): 33–61

    Article  MATH  Google Scholar 

  8. Buchanan B (1975) Applications of artificial intelligence to scientific reasoning. In: Second USA–Japan computer conference, Tokyo, AFIPS and IPS I, pp 189–194

  9. Butler M, Yadav D (2008) An incremental development of the Mondex system in Event-B. Formal Aspects Comput 20(1): 61–77

    Article  Google Scholar 

  10. Colton S, Bundy A, Walsh T (1999) Automatic concept formation in pure mathematics. In: Proceedings of the 16th international joint conference on artificial intelligence, pp 786–793

  11. Colton S, Bundy A, Walsh T (2000) Automatic identification of mathematical concepts. In: Proceedings of the 17th international conference on machine learning. Morgan Kaufmann, San Francisco, pp 183–190

  12. Colton S, Bundy A, Walsh T (2000) Automatic invention of integer sequences. In: Proceedings of the 17th national conference on artificial intelligence, pp 558–563

  13. Colton S, Bundy A, Walsh T (2000) On the notion of interestingness in automated mathematical discovery. Int J Human Comput Stud 53(3): 351–375

    Article  MATH  Google Scholar 

  14. Charnley J, Colton S (2008) A global workspace framework for combining reasoning systems. In: Proceedings of the symposium on the integration of symbolic computation and mechanised reasoning, pp 261–265

  15. Charnley J, Colton S, Miguel I (2006) Automatic generation of implied constraints. In: Proceedings of the 17th European conference on AI, pp 73–77

  16. Charnley J (2010) A global workspace framework for combined reasoning. PhD thesis, Imperial College, London

  17. Colton S, Miguel I (2001) Constraint generation via automated theory formation. In: 7th international conference on the principles and practice of constraint programming, pp 575–579

  18. Colton S, Muggleton S (2006) Mathematical applications of inductive logic programming. Mach Learn 64: 25–64

    Article  MATH  Google Scholar 

  19. Colton S (1999) Refactorable numbers—a machine invention. J Integer Sequen 2

  20. Colton S (2002) Automated theory formation in pure mathematics. Springer, Berlin

    Book  MATH  Google Scholar 

  21. Colton S (2002) The HR program for theorem generation. In: CADE’18. Lecture notes in computer science, vol 2392. Springer, Berlin, pp 37–61

  22. Colton S, Pease A (2004) The TM system for repairing non-theorems. In Workshop on Disproving, Proceedings of IJCAR’04, pages 13–26

  23. Colton S, Pease A (2005) The TM system for repairing non-theorems. In: Selected papers from IJCAR’04 disproving workshop. Electron Notes Theoret Comput Sci vol 125(3):87–101

  24. Colton S, Sutcliffe G (2002) Automatic generation of benchmark problems for automated theorem proving systems. In: Proceedings of the 7th AI and maths symposium

  25. Damchoom K (2010) An incremental refinement approach to a development of a flash-based file system in Event-B. PhD thesis, University of Southampton

  26. Ernst M, Perkins J, Guo P, McCamant S, Pacheco C, Tschantz M, Xiao C (2007) The Daikon system for dynamic detection of likely invariants. Sci Comput Program 69(1–3): 35–45

    Article  MATH  MathSciNet  Google Scholar 

  27. Grov G, Ireland A, Llano MT (2012) Refinement plans for informed formal design. In: ABZ. Lecture notes in computer science. Springer, Berlin, pp 208–222

  28. Holzmann GJ, Joshi R, Groce A (2008) 25 years of model checking. In: New challenges in model checking. Springer, Berlin, pp 65–76

  29. Ireland A, Ellis BJ, Cook A, Chapman R, Barnes J (2006) An integrated approach to high integrity software verification. J Autom Reason (special issue on Empirically Successful Automated Reasoning) 36(4): 379–410

    MATH  MathSciNet  Google Scholar 

  30. Johansson M, Dixon L, Bundy A (2010) Case-analysis for rippling and inductive proof. In: 1st international conference on interactive theorem proving. LNCS, vol 6127. Springer, Berlin, pp 291–306

  31. Lakatos I (1976) Proofs and refutations. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  32. Leuschel M, Butler M (2003) ProB: a model checker for B. In: International symposium of formal methods Europe. LNCS, vol 2805. Springer, Berlin, pp 855–874

  33. Lenat D (1977) Automated theory formation in mathematics. In: Proceedings of the 5th international joint conference on artificial intelligence. Morgan Kaufmann, San Francisco, pp 833–842

  34. Llano MT, Ireland A, Pease A (2011) Discovery of invariants through automated theory formation. In: Proceedings of the 15th international refinement workshop. In: Electronic proceedings in theoretical computer science, vol 55. Open Publishing Association, pp 1–19

  35. McCasland R, Bundy A, Autexier S (2007) Automated discovery of inductive theorems. In: From insight to proof: festschrift in honour of Andrzej Trybulec. Studies in logic, grammar and rhetoric, vol 10(23). University of Białystok, pp 135–149

  36. McCune W (1994) A Davis–Putnam program and its application to finite first-order model search. Technical Report ANL/MCS-TM-194, Argonne National Laboratories

  37. McCune WW (1994) Otter 3.0 Reference Manual and Guide. Technical report ANL-94/6, Argonne National Laboratory, Argonne, USA

  38. McCune W (2003) Otter 3.3 reference manual. CoRR, cs.SC/0310056

  39. McCune W.: Prover9 and MACE4. http://www.cs.unm.edu/~mccune/prover9/, 2005–2010.

  40. Maclean E, Ireland A, Dixon L, Atkey R (2009) Refinement and term synthesis in loop invariant generation. In: 2nd international workshop on invariant generation (WING’09), a satellite workshop of ETAPS’09

  41. Maclean E, Ireland A, Grov G (2011) The CORE system: Animation and functional correctness of pointer programs. In: Proceedings of the 16th IEEE conference on automated software engineering (ASE 2011): Tool demonstration paper. Lawrence, Kansas, pp 588–591

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

    Article  Google Scholar 

  43. Meier A, Sorge V, Colton S (2002) Employing theory formation to guide proof planning. In: AISC/Calculemus’02. LNAI, vol 2385. Springer, Berlin, pp 275–289

  44. Pease A, Colton S, Charnley J (2012) Automated theory formation: the next generation. IFCoLog lectures in computational logic, (Forthcoming)

  45. Pease A (2007) A computational model of Lakatos-style reasoning. PhD thesis, School of Informatics, University of Edinburgh, Online http://hdl.handle.net/1842/2113

  46. Plagge D, Leuschel M (2007) Validating Z specifications using the ProB animator and model checker. In: Integrated formal methods. Lecture notes in computer science, vol 4591. Springer, Berlin, pp 480–500

  47. Pease A, Smaill A, Colton S, Ireland A, Llano M, Ramezani R, Grov G, Guhe M (2010) Applying Lakatos-style reasoning to AI problems. In: Thinking machines and the philosophy of computer science: concepts and principles. IGI Global, pp 149–174

  48. Ritchie G, Hanna F (1990) AM a case study in methodology. In: The foundations of AI: a sourcebook. Cambridge University Press, Cambridge, pp 247–265

  49. Snook C, Butler M (2006) UML-B: Formal modeling and design aided by UML. ACM Trans Softw Eng Methodol 15(1): 92–122

    Article  Google Scholar 

  50. Sorge V, Colton S, McCasland R, Meier A (2008) Classification results in quasigroup and loop theory via a combination of automated reasoning tools. Comment Math Univ Carolin 49(2): 319–339

    MATH  MathSciNet  Google Scholar 

  51. Sorge V, Meier A, McCasland R, Colton S (2008) Automatic construction and verification of isotopy invariants. J Autom Reason 40(2–3): 221–243

    Article  MATH  MathSciNet  Google Scholar 

  52. Woodcock J, Davies J (1996) Using Z: specification, refinement and proof. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  53. Winston P (1970) Learning structural descriptions from examples. Technical Report TR-231, MIT

  54. Zimmer J, Franke A, Colton S, Sutcliffe G (2002) Integrating HR and tptp2X into MathWeb to compare automated theorem provers. In: Proceedings of the CADE’02 workshop on problems and problem sets

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maria Teresa Llano.

Additional information

E. Boiten, J. Derrick and Steve Reeves

Rights and permissions

Reprints and permissions

About this article

Cite this article

Llano, M.T., Ireland, A. & Pease, A. Discovery of invariants through automated theory formation. Form Asp Comp 26, 203–249 (2014). https://doi.org/10.1007/s00165-012-0264-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-012-0264-1

Keywords

Navigation