Automated verification of refinement laws

Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back’s atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs.

[1]  Ralph-Johan Back,et al.  Reasoning algebraically about loops , 1999, Acta Informatica.

[2]  Georg Struth,et al.  On Automating the Calculus of Relations , 2008, IJCAR.

[3]  Georg Struth,et al.  Can Refinement be Automated? , 2008, REFINE@IFM.

[4]  Bernhard Möller,et al.  Mathematics of Program Construction , 2002, Lecture Notes in Computer Science.

[5]  Geoff Sutcliffe,et al.  SRASS - A Semantic Relevance Axiom Selection System , 2007, CADE.

[6]  Georg Struth,et al.  Diagram Chase in Relational System Development , 2005, VLFM.

[7]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[8]  Georg Struth Reasoning Automatically about Termination and Refinement , 2007 .

[9]  Georg Struth,et al.  Automated Reasoning in Kleene Algebra , 2007, CADE.

[10]  Georg Struth,et al.  Domain Axioms for a Family of Near-Semirings , 2008, AMAST.

[11]  Ulrich Furbach,et al.  Proceedings of the Third international joint conference on Automated Reasoning , 2006 .

[12]  Alan Bundy Proceedings of the 12th International Conference on Automated Deduction , 1994 .

[13]  Peter Höfner,et al.  Automated Reasoning for Hybrid Systems - Two Case Studies - , 2008, RelMiCS.

[14]  Geoff Sutcliffe The CADE-21 automated theorem proving system competition , 2008, AI Commun..

[15]  Andrei Voronkov,et al.  The design and implementation of VAMPIRE , 2002, AI Commun..

[16]  Renate A. Schmidt Relations and Kleene Algebra in Computer Science: Proceedings of RelMiCS/AKA 2006 , 2006 .

[17]  Georg Struth,et al.  Modal Semirings Revisited , 2008, MPC.

[18]  Annabelle McIver,et al.  Using probabilistic Kleene algebra pKA for protocol verification , 2008, J. Log. Algebraic Methods Program..

[19]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[20]  Pierre Courtieu,et al.  Certification of Automated Termination Proofs , 2007, FroCoS.

[21]  John Derrick,et al.  Verifying data refinements using a model checker , 2006, Formal Aspects of Computing.

[22]  Frank Pfenning,et al.  Automated Deduction - CADE-21, 21st International Conference on Automated Deduction, Bremen, Germany, July 17-20, 2007, Proceedings , 2007, CADE.

[23]  Ernie Cohen,et al.  Separation and Reduction , 2000, MPC.

[24]  Geoff Sutcliffe Semantic Derivation Verification: Techniques and Implementation , 2006, Int. J. Artif. Intell. Tools.

[25]  A. Rybalchenko,et al.  Transition invariants , 2004, LICS 2004.

[26]  Christoph Weidenbach,et al.  SPASS Version 3.5 , 2009, CADE.

[27]  Ralph-Johan Back A Method for Refining Atomicity in Parallel Algorithms , 1989, PARLE.

[28]  José Meseguer,et al.  Algebraic Methodology and Software Technology, 12th International Conference, AMAST 2008, Urbana, IL, USA, July 28-31, 2008, Proceedings , 2008, AMAST.

[29]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[30]  Josef Urban,et al.  MaLARea: a Metasystem for Automated Reasoning in Large Theories , 2007, ESARLT.

[31]  Joakim von Wright Program Refinement by Theorem Prover , 1994, Refine.

[32]  Geoff Sutcliffe,et al.  Semantic Derivation Verification , 2005, FLAIRS Conference.

[33]  Enno Ohlebusch,et al.  Term Rewriting Systems , 2002 .

[34]  Geoff Sutcliffe,et al.  Evaluating general purpose automated theorem proving systems , 2001, Artif. Intell..

[35]  William McCune,et al.  OTTER 3.3 Reference Manual , 2003, ArXiv.

[36]  Michael J. Butler,et al.  Automatic Refinement Checking for B , 2005, ICFEM.

[37]  Georg Struth,et al.  Deriving Focused Calculi for Transitive Relations , 2001, RTA.

[38]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[39]  Georg Struth,et al.  Modal Tools for Separation and Refinement , 2008, Refine@FM.

[40]  Hans de Nivelle,et al.  Geometric Resolution: A Proof Procedure Based on Finite Model Search , 2006, IJCAR.

[41]  Geoff Sutcliffe,et al.  The development of CASC , 2002, AI Commun..

[42]  Joakim von Wright,et al.  Towards a refinement algebra , 2004, Sci. Comput. Program..

[43]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[44]  Wolfgang Bibel,et al.  leanCoP: lean connection-based theorem proving , 2003, J. Symb. Comput..

[45]  Konstantin Korovin Implementing an instantiation-based theorem prover for first-order logic , 2006, ICLP 2006.

[46]  Geoff Sutcliffe,et al.  The TPTP Problem Library , 1994, Journal of Automated Reasoning.

[47]  Georg Struth,et al.  Abstract abstract reduction , 2006, J. Log. Algebraic Methods Program..

[48]  Harald Ganzinger,et al.  Ordered chaining calculi for first-order theories of transitive relations , 1998, JACM.

[49]  J. Hurd First-Order Proof Tactics in Higher-Order Logic Theorem Provers In Proc , 2003 .

[50]  Christoph Weidenbach,et al.  System Description: SpassVersion 3.0 , 2007, CADE.

[51]  Daniel Jackson,et al.  Abstract Model Checking of Infinite Specifications , 1994, FME.

[52]  Mark Saaltink,et al.  The Z/EVES System , 1997, ZUM.

[53]  C. A. R. Hoare,et al.  Intelligent Systems and Formal Methods in Software Engineering , 2006, IEEE Intelligent Systems.

[54]  Stephan Schulz,et al.  E - a brainiac theorem prover , 2002, AI Commun..

[55]  Larissa Meinicke,et al.  Refinement algebra for probabilistic programs , 2008, Formal Aspects of Computing.

[56]  Jim Grundy,et al.  The Refinement Calculator: Proof Support for Program Refinement , 1997 .

[57]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[58]  Terese Term rewriting systems , 2003, Cambridge tracts in theoretical computer science.

[59]  Geoff Sutcliffe,et al.  The state of CASC , 2006, AI Commun..

[60]  Joakim von Wright,et al.  From Kleene Algebra to Refinement Algebra , 2002, MPC.