LCF Examples in HOL

The LCF system provides a logic of fixed point theory and is useful to reason about nontermination, recursive definitions and infinite-valued types such as lazy lists. Because of continual presence of bottom elements, it is clumsy for reasoning about finite-valued types and strict functions. The HOL system provides set theory and supports reasoning about finite-valued types and total functions well. In this paper a number of examples are used to demonstrate that an extension of HOL with domain theory combines the benefits of both systems. The examples illustrate reasoning about infinite values and nonterminating functions and show how domain and set theoretic reasoning can be mixed to advantage. An example presents a proof of correctness of a recursive unification algorithm using well-founded induction.

[1]  Lars Arge,et al.  External-Storage Data Structures for Plane-Sweep Algorithms , 1994 .

[2]  Glynn Winskel Stable Bistructure Models of PCF , 1994, MFCS.

[3]  Glynn Winskel,et al.  Petri Nets and Bisimulations , 1994 .

[4]  Allan Cheng,et al.  Local Model Checking and Traces , 1994 .

[5]  Sten Agerholm Domain Theory in HOL , 1993, HUG.

[6]  Lawrence C. Paulson,et al.  Verifying the Unification Algorithm in LCF , 1985, Sci. Comput. Program..

[7]  Sten Agerholm,et al.  A HOL Basis for Reasoning about Functional Programs , 1994 .

[8]  Nils Klarlund,et al.  Monadic Second-order Logic for Parameterized Verification , 1994 .

[9]  Nils Klarlund,et al.  The Limit View of Infinite Computations , 1994, CONCUR.

[10]  Zohar Manna,et al.  Deductive Synthesis of the Unification Algorithm , 1981, Sci. Comput. Program..

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

[12]  Sten Agerholm LCF Examples in HOL , 1995, Comput. J..

[13]  G. Winskel The formal semantics of programming languages , 1993 .

[14]  Kim Dam Petersen,et al.  Graph model of LAMBDA in Higher Order Logic , 1993, HUG.

[15]  Nils Klarlund The Limit View of Infinite Computations , 1994 .

[16]  T. Melham Automating recursive type definitions in higher order logic , 1989 .

[17]  Sten Agerholm Mechanizing Program Verification in HOL , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

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

[19]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[20]  Lawrence C. Paulson Lessons learned from LCF , 1984 .

[21]  Lawrence C. Paulson,et al.  Logic and computation - interactive proof with Cambridge LCF , 1987, Cambridge tracts in theoretical computer science.