Verifying the unification algorithm in LCF (Q1060023)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: Verifying the unification algorithm in LCF |
scientific article; zbMATH DE number 3905873
| Language | Label | Description | Also known as |
|---|---|---|---|
| English | Verifying the unification algorithm in LCF |
scientific article; zbMATH DE number 3905873 |
Statements
Verifying the unification algorithm in LCF (English)
0 references
1985
0 references
\textit{Z. Manna} and \textit{R. Waldinger}'s [ibid. 1, 5-48 (1981; Zbl 0472.68054)] theory of substitutions and unification has been verified using the Cambridge LCF theorem prover. A proof of the monotonicity of substitution is presented as a detailed example of interaction with LCF. Translating the theory into LCF's domain-theoretic logic is largely straightforward. Correctness of unification is expressed using predicates for such properties as idempotence and most-generality. Well-founded induction on a complex ordering is translated into nested structural inductions. The inductions divide the verification into lemmas: a constant is unifiable with itself, a constant is not unifiable with a combination, etc. The LCF proofs are compared with the original ones. Most of the work is devoted to proving that unification terminates. LCF's approach to termination proofs is compared with that of Boyer and Moore and others.
0 references
substitutions
0 references
Cambridge LCF theorem prover
0 references
termination
0 references