Design and Application of Strategies/Tactics in Higher Order Logics

PVS (Prototype Verification System) is a comprehensive framework for writing formal logical specifications and constructing proofs. An interactive proof checker is a key component of PVS. The capabilities of this proof checker can be extended by defining proof strategies that are similar to LCF-style tactics. Commonly used proof strategies include those for discharging typechecking proof obligations, simplification and rewriting using decision procedures, and various forms of induction. We describe the basic building blocks of PVS proof strategies and provide a pragmatic guide for writing sophisticated strategies.

[1]  Myla Archer Proving Correctness of the Basic TESLA Multicast Stream Authentication Protocol with TAME , 2002 .

[2]  Pertti Kellomaki,et al.  Mechanical Verification of Invariant Properties of DisCo Specifications , 1997 .

[3]  Larry Wos,et al.  Automated Reasoning: Introduction and Applications , 1984 .

[4]  Olaf Müller,et al.  A verification environment for I-O-automata based on formalized meta-theory , 1998 .

[5]  Robin Milner,et al.  A Metalanguage for interactive proof in LCF , 1978, POPL.

[6]  van Ls Bert Benthem Jutting,et al.  Checking Landau's “Grundlagen” in the Automath System: Appendices 3 and 4 (The PN-lines; Excerpt for “Satz 27”) , 1994 .

[7]  Mark E. Stickel,et al.  Caching and Lemmaizing in Model Elimination Theorem Provers , 1992, CADE.

[8]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[9]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[10]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[11]  L. Sintonen Event driven bus architecture for bounded area networks , 1990, [Proceedings] IECON '90: 16th Annual Conference of IEEE Industrial Electronics Society.

[12]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[13]  Brad Wieners,et al.  Reality check , 2018, Nature Energy.

[14]  Donald W. Loveland,et al.  Mechanical Theorem-Proving by Model Elimination , 1968, JACM.

[15]  Dennis M. Bushnell,et al.  Real automation in the field , 2001 .

[16]  Victor Carreño,et al.  Formal verification of conflict detection algorithms , 2001, International Journal on Software Tools for Technology Transfer.

[17]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[18]  Frank van Harmelen,et al.  Rippling: A Heuristic for Guiding Inductive Proofs , 1993, Artif. Intell..

[19]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[20]  A. M. Turing,et al.  Computing Machinery and Intelligence , 1950, The Philosophy of Artificial Intelligence.

[21]  John Harrison,et al.  Optimizing Proof Search in Model Elimination , 1996, CADE.

[22]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[23]  Kurt Gödel,et al.  On Formally Undecidable Propositions of Principia Mathematica and Related Systems , 1966 .

[24]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[25]  F. Yuan,et al.  SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES) , 1999 .

[26]  Robin Milner,et al.  Definition of standard ML , 1990 .

[27]  Florent Kirchner,et al.  Coq Tacticals and PVS Strategies: A Small Step Semantics , 2003 .

[28]  Claude Kirchner,et al.  Rewrite strategies in the rewriting calculus , 2003, WRS.

[29]  Walter L. Smith Probability and Statistics , 1959, Nature.

[30]  W. W. Bledsoe,et al.  A Man-Machine Theorem-Proving System , 1973, IJCAI.

[31]  Owen L. Astrachan,et al.  The Use of Lemmas in the Model Elimination Procedure , 2004, Journal of Automated Reasoning.

[32]  Thomas Kropf,et al.  Integrating A First-order Automatic prover In The HOL Environment , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

[33]  Richard C. T. Lee,et al.  Symbolic logic and mechanical theorem proving , 1973, Computer science classics.

[34]  J. A. Robinson,et al.  Automatic Deduction with Hyper-Resolution , 1983 .

[35]  Kari Systä,et al.  Object-oriented specification of reactive systems , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[36]  Edmund Landau,et al.  Foundations of analysis , 2001 .

[37]  Reino Kurki-Suonio Fundamentals of Object-Oriented Specification and Modeling of Collective Behaviors , 1996 .

[38]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[39]  Owre Sam,et al.  Theory Interpretations in PVS , 2001 .

[40]  Joe Hurd Integrating Gandalf and HOL , 1999, TPHOLs.

[41]  Angelo Gargantini,et al.  Providing automated support to deductive analysis of time critical systems , 1997, ESEC '97/FSE-5.

[42]  Lawrence C. Paulson,et al.  A Generic Tableau Prover and its Integration with Isabelle , 1999, J. Univers. Comput. Sci..

[43]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[44]  M. Gordon HOL: A Proof Generating System for Higher-Order Logic , 1988 .

[45]  Natarajan Shankar,et al.  Towards a Duration Calculus Proof Assistant in PVS , 1994, FTRTFT.

[46]  Ben L. Di Vito High-automation proofs for properties of requirements models , 2000, International Journal on Software Tools for Technology Transfer.

[47]  Johann Schumann DELTA - A Bottom-up Preprocessor for Top-Down Theorem Provers - System Abstract , 1994, CADE.

[48]  Laurent Kling 1,2,3 A,B,C a,b,c , 2001 .

[49]  Pertti Kellomäki Verification of Reactive Systems Using DisCo and PVS , 1997, FME.

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

[51]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[52]  Yves Bertot,et al.  Theorem Proving in Higher Order Logics: 12th International Conference, TPHOLs'99, Nice, France, September 14-17, 1999, Proceedings , 1999 .

[53]  Victor Carreño,et al.  Aircraft Trajectory Modeling and Altering Algorithm Verification , 2000, TPHOLs.

[54]  John Harrison,et al.  High-Level Verification Using Theorem Proving and Formalized Mathematics , 2000, CADE.

[55]  Gilles Kahn,et al.  Proof by Pointing , 1994, TACS.

[56]  Robert E. Shostak,et al.  Deciding Combinations of Theories , 1982, JACM.

[57]  Myla Archer,et al.  TAME: Using PVS strategies for special-purpose theorem proving , 2001, Annals of Mathematics and Artificial Intelligence.

[58]  Sara Kalvala,et al.  A Formulation of TLA in Isabelle , 1995, TPHOLs.

[59]  Shankar Natarajan,et al.  The Formal Semantics of PVS , 1999 .

[60]  Vannevar Bush,et al.  As we may think , 1945, INTR.

[61]  James R. Slagle,et al.  Theorem proving , 2003 .

[62]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[63]  Rp Rob Nederpelt,et al.  Selected papers on Automath , 1994 .

[64]  Toby Walsh,et al.  Coloured Rippling: An Extension of a Theorem Proving Heuristic , 1994, ECAI.

[65]  Holger Busch First-Order Automation for Higher-Order-Logic Theorem Proving , 1994, TPHOLs.

[66]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[67]  Frits W. Vaandrager,et al.  Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394 , 2000, Formal Methods Syst. Des..

[68]  Victor Carreño,et al.  Formal Verification of Conflict Detection Algorithms , 2001, CHARME.

[69]  Alan Bundy,et al.  The Automation of Proof by Mathematical Induction , 1999, Handbook of Automated Reasoning.

[70]  Joe Hurd An LCF-Style Interface between HOL and First-Order Logic , 2002, CADE.

[71]  Nancy A. Lynch,et al.  Forward and Backward Simulations, II: Timing-Based Systems , 1991, Inf. Comput..

[72]  Bart Jacobs,et al.  The LOOP Compiler for Java and JML , 2001, TACAS.

[73]  Ingo Dahn,et al.  Interpretation of a Mizar-Like Logic in First-Order Logic , 1998, FTP.

[74]  Cdsar,et al.  Aircraft Trajectory Modeling and Alerting Algorithm Verification , .

[75]  Dale Miller,et al.  Abstract Syntax for Variable Binders: An Overview , 2000, Computational Logic.

[76]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[77]  Chris Okasaki,et al.  Purely functional data structures , 1998 .

[78]  Hans de Nivelle,et al.  Automated Proof Construction in Type Theory Using Resolution , 2000, Journal of Automated Reasoning.

[79]  Bernhard Beckert,et al.  Integrating Automated and Interactive Theorem Proving , 1998 .

[80]  de Ng Dick Bruijn,et al.  A survey of the project Automath , 1980 .

[81]  Ran Canetti,et al.  Efficient authentication and signing of multicast streams over lossy channels , 2000, Proceeding 2000 IEEE Symposium on Security and Privacy. S&P 2000.

[82]  Dieter Hutter,et al.  Using Rippling for Equational Reasoning , 1996, KI.

[83]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[84]  Ingo Dahn,et al.  Integration of Automated and Interactive Theorem Proving in ILP , 1997, CADE.

[85]  R. Milner Mathematical Centre Tracts , 1976 .

[86]  Jörg Denzinger,et al.  Knowledge-based Cooperation between Theorem Provers by Techs , 1999 .

[87]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[88]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[89]  Ian Green,et al.  Higher-Order Annotated Terms for Proof Search , 1996, TPHOLs.

[90]  Catherine Dubois Proving ML Type Soundness Within Coq , 2000, TPHOLs.

[91]  Ben L. Di Vito A PVS Prover Strategy Package for Common Manipulations , 2002 .

[92]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[93]  Toby Walsh,et al.  A calculus for and termination of rippling , 1996, Journal of Automated Reasoning.

[94]  P. Kellomaki Mechanizing Invariant Proofs of Joint Action Systems , 1995 .