HUG 1994: Higher Order Logic Theorem Proving and Its Applications pp 113-127 | Cite as
Symbolic animation as a proof tool
Abstract
This paper illustrates how animation conversions [14] which help in preliminary debugging of behavioural definitions, can subsequently be used as effective proof tools which play an important role in the verification of properties related to the definitions. We illustrate this point by specifying a simple compiler to map constructs of a toy imperative programming language into instructions which run on a rudimentary abstract machine. The same conversions used to symbolically compile programs of the language and to execute the resulting machine instructions are used in the verification of the compiler. This paper suggests that conversions provide a sound basis for a proof methodology with formal animation acting as an integral step in a verification process.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Aagaard and Leeser: Verifying a logic synthesis tool in Nuprl. 4th Workshop on Computer Aided Verification. (1992)Google Scholar
- 2.R. Boulton, M. Gordon, J. Herbert, and J. Van Tassel: The HOL Verification of ELLA Designs. Technical Report 199, University of Cambridge Computer Laboratory, August 1990. Revised version in the Proceedings of the International Workshop on Formal Methods in VLSI Design, Miami. (1991)Google Scholar
- 3.Albert John Camilleri: Executing Behavioural Definitions in Higher Order Logic. Ph.D. thesis, University of Cambridge Computer Laboratory. (1988)Google Scholar
- 4.Juanito Camilleri: Symbolic Compilation and Execution of Programs by Proof: A case study in HOL. Technical Report 240, University of Cambridge Computer Laboratory. (1991)Google Scholar
- 5.Juanito Camilleri and T.F. Melham: Reasoning with Inductively Defined Relations in the HOL Theorem Prover. Technical Report 265, University of Cambridge Computer Laboratory. (1992)Google Scholar
- 6.Paul Curzon: A verified compiler for a structured assembly language. In Proc. 4th International HOL Users Meeting. (1991)Google Scholar
- 7.Paul Curzon: Of what use is a verified compiler specification? Technical Report 274, University of Cambridge Computer Laboratory. (1992)Google Scholar
- 8.M.J.C. Gordon: HOL — A Machine Oriented Formulation of Higher Order Logic. Technical Report 68, University of Cambridge Computer Laboratory. (1985)Google Scholar
- 9.Matthew Hennessy: The Semantics of Programming Languages: An Elementary Introduction using Structural Operational Semantics. Wiley. (1990)Google Scholar
- 10.Hall and Windley: Simulating microprocessors from formal specifications. Higher Order Logic Theorem Proving and its Applications, Horth Holland. (1992)Google Scholar
- 11.J.J. Joyce: A verified compiler for a verified microprocessor. Technical Report 167, Computer Laboratory, University of Cambridge. (1989)Google Scholar
- 12.T.F. Melham: Automating Recursive Type Definitions in Higher Order Logic. In Current Trends in Hardware Verification and Automated Deduction, G.Birtwhistle and P.A.Subrahmanyam eds., Springer Verlag. (1988)Google Scholar
- 13.T.F. Melham: A package for Inductive Relation Definitions in HOL. In Proc. 4th International HOL Users Meeting. (1991)Google Scholar
- 14.Lawrence Paulson: A higher-order implementation of rewriting. In Science of Computer Programming 3 (1983) 119–149Google Scholar
- 15.Gordon D. Plotkin: A Structural Approach to Operational Semantics. Technical Report, Department of Computer Science, Aarhus University Denmark. (1981)Google Scholar
- 16.Rajan: Executing HOL. In Higher Order Logic Theorem Proving and its Applications. Horth Holland. (1992)Google Scholar