Human-Style Theorem Proving Using PVS

A major barrier to more common use of mechanical theorem provers in verifying software designs is the significant distance between proof styles natural to humans and proof styles supported by mechanical provers. To make mechanical provers useful to software designers with some mathematical sophistication but without expertise in mechanical provers, the distance between hand proofs and their mechanized versions must be reduced. To achieve this, we are developing a mechanical prover called TAME on top of PVS. TAME is designed to process proof steps that resemble in style and size the typical steps in hand proofs. TAME's support of more natural proof steps should not only facilitate mechanized checking of hand proofs, but in addition should provide assurance that theorems proved mechanically are true for the reasons expected and also provide a basis for conceptual level feedback when a mechanized proof fails. While infeasible for all applications, designing a prover that can process a set of high-level, natural proof steps for restricted domains should be achievable. In developing TAME, we have had moderate success in defining specialized proof strategies to validate hand proofs of properties of Lynch-Vaandrager timed automata. This paper reports on our successes, the services provided by PVS that support these successes, and some desired enhancements to PVS that would permit us to improve and extend TAME.

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

[2]  Stephen H. Brackin Deciding Cryptographic Protocol Adequacy with HOL , 1995, TPHOLs.

[3]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[4]  Piotr Rudnicki,et al.  A Note on "How to Write a Proof" , 1996 .

[5]  Leslie Lamport,et al.  How to Write a Proof , 1995 .

[6]  Phillip J. Windley,et al.  Autotically Synthesized Term Denotation Predicates: A Proof Aid , 1995, TPHOLs.

[7]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice: Rex Workshop, Mook, the Netherlands, June 3-7, 1991: Proceedings , 1992 .

[8]  Nancy A. Lynch,et al.  Correctness of vehicle control systems-a case study , 1996, 17th IEEE Real-Time Systems Symposium.

[9]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[10]  Piotr Rudnicki,et al.  An Overview of the MIZAR Project , 1992 .

[11]  John Harrison,et al.  A Mizar Mode for HOL , 1996, TPHOLs.

[12]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[13]  Nancy A. Lynch,et al.  Forward and backward simulations, part II: timing-based systems , 1993 .

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

[15]  Victor Luchangco,et al.  Using simulation techniques to prove timing properties , 1995 .

[16]  Nancy A. Lynch,et al.  The generalized railroad crossing: a case study in formal verification of real-time systems , 1994, 1994 Proceedings Real-Time Systems Symposium.

[17]  Nancy A. Lynch,et al.  Proving Safety Properties of the Steam Boiler Controller , 1995, Formal Methods for Industrial Applications.

[18]  Nancy A. Lynch,et al.  Simulation Techniques for Proving Properties of Real-Time Systems , 1993, REX School/Symposium.

[19]  Thomas A. Henzinger,et al.  HYTECH: The Cornell HYbrid TECHnology Tool , 1994, Hybrid Systems.

[20]  Nancy A. Lynch,et al.  Specifying and using a partitionable group communication service , 1997, PODC '97.

[21]  N. S. Barnett,et al.  Private communication , 1969 .

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

[23]  Myla Archer,et al.  Verifying Hybrid Systems Modeled as Timed Automata: A Case Study , 1997, HART.

[24]  Myla Archer,et al.  TAME: A Specialized Specification and Verification System for Timed Automata , 1996 .

[25]  Myla Archer,et al.  Mechanical verification of timed automata: a case study , 1996, Proceedings Real-Time Technology and Applications.

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