## LCF Examples in HOL (1994)

Venue: | The Computer Journal |

Citations: | 12 - 4 self |

### BibTeX

@ARTICLE{Agerholm94lcfexamples,

author = {Sten Agerholm and Sten Agerholm},

title = {LCF Examples in HOL},

journal = {The Computer Journal},

year = {1994},

volume = {38},

pages = {pp.}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

501 |
Introduction to HOL: A Theorem Proving Environment for Higher Order Logic
- Gordon, Melham
- 1993
(Show Context)
Citation Context ... and arbitrary recursive (computable) functions. For instance, it has been successfully applied to reason about infinite data structures and lazy evaluation [Pa84b]. On the other hand, the HOL system =-=[GM93]-=- supports set theoretic reasoning. It has no inbuilt notion of nontermination, all functions are total, and only primitive recursive definitions are supported. It has mainly been used for reasoning ab... |

239 |
The formal semantics of Programming languages
- Winskel
- 1993
(Show Context)
Citation Context ...er it is not necessary to know the semantic definitions of the subset of domain theory which is used. Therefore the presentation below shall be very brief. More details can be sought in [Ag94], or in =-=[Wi93]-=- on which the formalization is based. 2 2.1 Basic Concepts Domain theory is the study of complete partial orders (cpos) and continuous functions. These notions are introduced as predicates in HOL by t... |

165 |
Logic and Computation: Interactive Proof with Cambridge LCF
- Paulson
- 1987
(Show Context)
Citation Context ...ve already been done in LCF by Paulson which makes a comparison of the two systems possible. The first two examples, on natural numbers and lazy sequences, are described in chapter 10 of the LCF book =-=[Pa87]-=- and the third example is based on Paulson 's version of a correctness proof of a unification algorithm by Manna and Waldinger [MW81, Pa85]. The unification algorithm is defined as a fixed point and p... |

130 | Edinburgh LCF: A mechanised logic of computation - Gordon, Milner, et al. - 1979 |

74 | Automating recursive type definitions in higher order logic - Melham - 1989 |

35 |
Deductive synthesis of the unification algorithm
- Manna, Waldinger
- 1981
(Show Context)
Citation Context ...sions that specifies which expressions should be substituted for which variables in an expression. Manna and Waldinger synthesized a unification algorithm by hand using their deductive tableau system =-=[MW81]-=- and Paulson made an attempt to translate their proof of correctness to LCF [Pa85]. Paulson did not deduce the algorithm from the proof as Manna and Waldinger did; he stated the algorithm first and th... |

23 | A HOL Basis for Reasoning about Functional Programs
- Agerholm
- 1994
(Show Context)
Citation Context ...o read the paper it is not necessary to know the semantic definitions of the subset of domain theory which is used. Therefore the presentation below shall be very brief. More details can be sought in =-=[Ag94]-=-, or in [Wi93] on which the formalization is based. 2 2.1 Basic Concepts Domain theory is the study of complete partial orders (cpos) and continuous functions. These notions are introduced as predicat... |

12 |
Mechanizing program verification in HOL
- Agerholm
- 1991
(Show Context)
Citation Context ...ation algorithm by Manna and Waldinger [MW81, Pa85]. The unification algorithm is defined as a fixed point and proved total afterwards. Termination is non-trivial and proved by well-founded induction =-=[Ag91]-=-. Before we turn our attention to the examples we give an overview of the formalization of domain theory in section 2 and describe the LCF system in section 3. In section 4 we introduce a cpo of natur... |

9 | Verifying the Unification Algorithm in LCF
- Paulson
- 1985
(Show Context)
Citation Context ... be a conflict with the bottom case. A consequence of this is that most theorems stated about addition inherit this assumption. Definedness assumptions make reasoning about strict functions difficult =-=[Pa85]. In HOL-CPO, a stri-=-ct addition on "lift Nat" is introduced in the same way as the strict successor, by extending a built-in HOL function $+ : ---- Add = Ext("nn :: Dom Nat. Ext("mm :: Dom Nat. Lift(n... |

8 | Domain Theory in HOL - Agerholm - 1993 |

6 |
Deriving structural induction in LCF
- Paulson
- 1984
(Show Context)
Citation Context ...nfinite values. It is not easy to define such domains in HOL and LCF could just axiomatize the domains; still this has its theoretical difficulties in general, but has been automated in certain cases =-=[Pa84a]-=-. However, HOL-CPO is not just another LCF system. Ignoring the problems with recursive domains, we claim it is more powerful and usable than LCF since (1) it inherits Basic Research in Computer Scien... |

5 |
Graph Model of LAMBDA in Higher Order Logic
- Petersen
- 1993
(Show Context)
Citation Context ... and tools of HOL directly and hence, to benefit from mixing domain and set theoretic reasoning as discussed above. A semantic embedding does not always have this property. The formalization of P! in =-=[Pe93]-=- builds a separate P! world inside HOL so there is no direct relationship between, for instance, natural numbers in the P! model and in the HOL system. The same thing would be true about a formalizati... |

2 |
Lessons Learned from LCF
- Paulson
- 1984
(Show Context)
Citation Context ...point theory to reason about nontermination and arbitrary recursive (computable) functions. For instance, it has been successfully applied to reason about infinite data structures and lazy evaluation =-=[Pa84b]-=-. On the other hand, the HOL system [GM93] supports set theoretic reasoning. It has no inbuilt notion of nontermination, all functions are total, and only primitive recursive definitions are supported... |