Structuring and automating hardware proofs in a higher-order theorem-proving environment

In this article we present a structured approach to formal hardware verification by modeling circuits at the register-transfer level using a restricted form of higher-order logic. This restricted form of higher-order logic is sufficient for obtaining succinct descriptions of hierarchically designed register-transfer circuits. By exploiting the structure of the underlying hardware proofs and limiting the form of descriptions used, we have attained nearly complete automation in proving the equivalences of the specifications and implementations. A hardware-specific tool called MEPHISTO converts the original goal into a set of simpler subgoals, which are then automatically solved by a general-purpose, first-order prover called FAUST. Furthermore, the complete verification framework is being integrated within a commercial VLSI CAD framework.

[1]  M. Gordon,et al.  The Hol Veriication of Ella Designs 1 , 1991 .

[2]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

[3]  Thomas Kropf,et al.  Modelling Generic Hardware Structures by Abstract Datatypes , 1992, TPHOLs.

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

[5]  Avra Cohn Correctness properties of the Viper block model: the second level , 1989 .

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

[7]  Donald E. Thomas,et al.  A Model of Design Representation and Synthesis , 1985, 22nd ACM/IEEE Design Automation Conference.

[8]  Jeffrey J. Joyce More Reasons Why Higher-Order Logic is a Good Formalism for Specifying and Verifying Hardware , 1990 .

[9]  François Bry,et al.  SATCHMO: A Theorem Prover Implemented in Prolog , 1988, CADE.

[10]  Thomas Kropf,et al.  Efficient Representation and Computation of Tableau Proofs , 1992, TPHOLs.

[11]  Paolo Prinetto,et al.  Formal verification of hardware correctness: introduction and survey of current research , 1988, Computer.

[12]  Thomas Kropf,et al.  FIRST STEPS TOWARDS AUTOMATING HARDWARE PROOFS , 1992 .

[13]  Graham Birtwistle,et al.  Current Trends in Hardware Verification and Automated Theorem Proving , 1989, Springer New York.

[14]  Michael J. C. Gordon,et al.  Why higher-order logic is a good formalism for specifying and verifying hardware , 1985 .

[15]  Jeffrey John Joyce,et al.  Multi-level verification of microprocessor-based systems , 1989 .

[16]  Mark Longley,et al.  Formal Synthesis of Digital Systems , 1989 .

[17]  Thomas Kropf,et al.  Structure in Hardware Proofs: First Steps Towards Automation in a Higher-Order Environment , 1991, VLSI.

[18]  Howard Barringer,et al.  Formal specification and verification of hardware: a comparative case study , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

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

[20]  Thomas Kropf,et al.  First Steps Towards Automating Hardware Proofs In HOL , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

[21]  F. Hanna,et al.  Specification and verification of digital systems using higher-order predicate logic , 1986 .

[22]  Jeffrey J. Joyce,et al.  Formal Verification and Implementation of a Microprocessor , 1988 .

[23]  Thomas Kropf,et al.  A common approach to test generation and hardware verification based on temporal logic , 1991, 1991, Proceedings. International Test Conference.

[24]  Daniel Gajski,et al.  New VLSI Tools - Guest Editors' Introduction , 1983, Computer.

[25]  GERARD P. HUET,et al.  The Undecidability of Unification in Third Order Logic , 1973, Inf. Control..

[26]  Avra Cohn,et al.  A Proof of Correctness of the Viper Microprocessor: The First Level , 1988 .

[27]  Warren D. Goldfarb,et al.  The Undecidability of the Second-Order Unification Problem , 1981, Theor. Comput. Sci..

[28]  Jean H. Gallier,et al.  Logic for Computer Science: Foundations of Automatic Theorem Proving , 1985 .

[29]  Richard J. Boulton,et al.  The HOL verification of ELLA designs , 1990 .

[30]  Paolo Prinetto,et al.  Resolution-based correctness proofs of synchronous circuits , 1991, Proceedings of the European Conference on Design Automation..

[31]  Gajski,et al.  Guest Editors' Introduction: New VLSI Tools , 1983, Computer.

[32]  Thomas Kropf,et al.  The FAUST - Prover , 1992, CADE.

[33]  Glynn Winskel Proceedings of the Third {HOL} Users Meeting: Aarhus University, 1-2 October 1990 , 1990 .

[34]  Thomas Kropf,et al.  Automating Most Parts of Hardware Proofs in HOL , 1991, CAV.

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

[36]  Lawrence J. Henschen,et al.  What Is Automated Theorem Proving? , 1985, J. Autom. Reason..

[37]  Michael P. Fourman,et al.  Integration of Formal Methods with System Design , 1991, VLSI.

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

[39]  Miriam Leeser,et al.  A Methodology for Reusable Hardware Proofs , 1992, TPHOLs.

[40]  Karl N. Levitt,et al.  Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, August 1991, Davis, California, USA , 1992, TPHOLs.

[41]  Hugo De Man,et al.  Formal Hardware Verification In Hol And In Boyer-moore: A Comparative Analysis , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

[42]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[43]  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.

[44]  G. Gentzen Untersuchungen über das logische Schließen. I , 1935 .

[45]  W. J. Cullyer Implementing Safety-Critical Systems: The VIPER Microprocessor , 1988 .

[46]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[47]  K. Schneider,et al.  Eecient Representation and Computation of Tableaux Proofs , 1992 .

[48]  Alonzo Church,et al.  A note on the Entscheidungsproblem , 1936, Journal of Symbolic Logic.