Formally Linking MDG and HOL Based on a Verified MDG System

We describe an approach for formally linking a symbolic state enumeration system and a theorem proving system based on a verified version of the former. It has been realized using a simplified version of the MDG system and the HOL system. Firstly, we have verified aspects of correctness of a simplified version of the MDG system. We have made certain that the semantics of a program is preserved in those of its translated form. Secondly, we have provided a formal linkage between the MDG system and the HOL system based on importing theorems. The MDG verification results can be formally imported into HOL to form a HOL theorem. Thirdly, we have combined the translator correctness theorems and importing theorems. This allows the MDG verification results to be imported in terms of a high level language (MDG-HDL) rather than a low level language. We also summarize a general method to prove existential theorems for the design. The feasibility of this approach is demonstrated in a case study that integrates two applications: hardware verification (in MDG) and usability verification (in HOL). A single HOL theorem is proved that integrates the two results.

[1]  Carl-Johan H. Seger,et al.  Symbolic Trajectory Evaluation , 1997, Formal Hardware Verification.

[2]  Thomas F. Melham Higher Order Logic and Hardware Verification , 1993, Cambridge Tracts in Theoretical Computer Science.

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

[4]  Carl-Johan H. Seger,et al.  Formal verification of iterative algorithms in microprocessors , 2000, Proceedings 37th Design Automation Conference.

[5]  Richard J. Boulton,et al.  The PROSPER Toolkit , 2000, TACAS.

[6]  Michael J. C. Gordon,et al.  Reachability Programming in HOL98 Using BDDs , 2000, TPHOLs.

[7]  Natarajan Shankar,et al.  An Integration of Model Checking with Automated Proof Checking , 1995, CAV.

[8]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

[9]  Doron A. Peled,et al.  Formal Verification of a Partial-Order Reduction Technique for Model Checking , 1996, TACAS.

[10]  David F. Martin,et al.  Toward compiler implementation correctness proofs , 1986, TOPL.

[11]  Sofiène Tahar,et al.  Importing MDG Verification Results into HOL , 1999, TPHOLs.

[12]  Mandayam K. Srivas,et al.  A Tutorial Introduction to PVS , 1998 .

[13]  Jeffrey J. Joyce,et al.  Linking BDD-Based Symbolic Evaluation to Interactive Theorem-Proving , 1993, 30th ACM/IEEE Design Automation Conference.

[14]  Ann Blandford,et al.  Using a verification system to reason about post-completion errors , 2000 .

[15]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

[17]  Haiyan Xiong,et al.  Providing a formal linkage between MDG and HOL , 2007, Formal Methods Syst. Des..

[18]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[19]  Xiaoyu Song,et al.  Multiway Decision Graphs for Automated Hardware Verification , 1997, Formal Methods Syst. Des..

[20]  Sofiène Tahar,et al.  Hierarchical Verification Using an MDG-HOL Hybrid Tool , 2001, CHARME.

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