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.
Similar content being viewed by others
References
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
Abrial J-R (2010) Modeling in Event-B—system and software engineering. Cambridge University Press, Cambridge
Baars B (1988) A cognitive theory of consciousness. Cambridge University Press, Cambridge
Baars B (1997) In the theater of consciousness: the workspace of the mind. Oxford University Press, New York
Bruner J, Goodnow JJ, Austin GA (1967) A study of thinking. Science Editions, New York
Bolton C (2005) Using the Alloy analyzer to verify data refinement. Z Electron Notes Theoret Comput Sci 137(2): 23–44
Banach R, Schellhorn G (2010) Atomic actions, and their refinements to isolated protocols. Formal Aspects Comput 22(1): 33–61
Buchanan B (1975) Applications of artificial intelligence to scientific reasoning. In: Second USA–Japan computer conference, Tokyo, AFIPS and IPS I, pp 189–194
Butler M, Yadav D (2008) An incremental development of the Mondex system in Event-B. Formal Aspects Comput 20(1): 61–77
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
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
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
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
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
Charnley J, Colton S, Miguel I (2006) Automatic generation of implied constraints. In: Proceedings of the 17th European conference on AI, pp 73–77
Charnley J (2010) A global workspace framework for combined reasoning. PhD thesis, Imperial College, London
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
Colton S, Muggleton S (2006) Mathematical applications of inductive logic programming. Mach Learn 64: 25–64
Colton S (1999) Refactorable numbers—a machine invention. J Integer Sequen 2
Colton S (2002) Automated theory formation in pure mathematics. Springer, Berlin
Colton S (2002) The HR program for theorem generation. In: CADE’18. Lecture notes in computer science, vol 2392. Springer, Berlin, pp 37–61
Colton S, Pease A (2004) The TM system for repairing non-theorems. In Workshop on Disproving, Proceedings of IJCAR’04, pages 13–26
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
Colton S, Sutcliffe G (2002) Automatic generation of benchmark problems for automated theorem proving systems. In: Proceedings of the 7th AI and maths symposium
Damchoom K (2010) An incremental refinement approach to a development of a flash-based file system in Event-B. PhD thesis, University of Southampton
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
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
Holzmann GJ, Joshi R, Groce A (2008) 25 years of model checking. In: New challenges in model checking. Springer, Berlin, pp 65–76
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
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
Lakatos I (1976) Proofs and refutations. Cambridge University Press, Cambridge
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
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
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
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
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
McCune WW (1994) Otter 3.0 Reference Manual and Guide. Technical report ANL-94/6, Argonne National Laboratory, Argonne, USA
McCune W (2003) Otter 3.3 reference manual. CoRR, cs.SC/0310056
McCune W.: Prover9 and MACE4. http://www.cs.unm.edu/~mccune/prover9/, 2005–2010.
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
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
Montano-Rivas O, McCasland R, Dixon L, Bundy A (2011) Scheme-based theorem discovery and concept invention. Expert Syst Appl 39: 1637–1646
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
Pease A, Colton S, Charnley J (2012) Automated theory formation: the next generation. IFCoLog lectures in computational logic, (Forthcoming)
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
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
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
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
Snook C, Butler M (2006) UML-B: Formal modeling and design aided by UML. ACM Trans Softw Eng Methodol 15(1): 92–122
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
Sorge V, Meier A, McCasland R, Colton S (2008) Automatic construction and verification of isotopy invariants. J Autom Reason 40(2–3): 221–243
Woodcock J, Davies J (1996) Using Z: specification, refinement and proof. Prentice-Hall, New Jersey
Winston P (1970) Learning structural descriptions from examples. Technical Report TR-231, MIT
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
Author information
Authors and Affiliations
Corresponding author
Additional information
E. Boiten, J. Derrick and Steve Reeves
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-012-0264-1