Abstract
The LCF theorem prover provides a logic of domain theory and is useful for reasoning about nontermination, general recursive definitions and infinite-valued datatypes like lazy lists. Because of the continued presence of bottom (undefined) elements, it is clumsy for reasoning about finite-valued datatypes and strict functions. By contrast, the HOL theorem prover provides a logic of set theory (without a notion of undefinedness) and supports reasoning about finite-valued datatypes and primitive recursive functions well. In this paper, a number of examples are used to demonstrate that an extension of HOL with concepts of domain theory combines the best of both systems. The examples illustrate how domain and set theoretic reasoning can be mixed to advantage, allowing the full use of both. Moreover, a larger example presents a proof of correctness of the unification algorithm which show how the painful reasoning about bottom in LCF can be eliminated.

This publication has 0 references indexed in Scilit: