Verifying the Unification Algorithm in LCF
Lawrence C. Paulson
Abstract
Manna and Waldinger's theory of substitutions and unification has been verified using the Cambridge LCF theorem prover. A proof of the monotonicity of substitution is presented in detail, as an example of interaction with LCF. Translating the theory into LCF's domain-theoretic logic is largely straightforward. Well-founded induction on a complex ordering is translated into nested structural inductions. Correctness of unification is expressed using predicates for such properties as idempotence and most-generality. The verification is presented as a series of lemmas. The LCF proofs are compared with the original ones, and with other approaches. It appears difficult to find a logic that is both simple and flexible, especially for proving termination.
Create a lesson
Related papers
String Diagrams for Process Mining
Antony R. Lee, Peter Tiňo, Iain B. Styles
Rich Sequences and Decidability of Arithmetic Theories
Toghrul Karimov, Joris Nieuwveld, Joël Ouaknine
An Explicit Ordinal Bound for System T Dialogue Trees
MingKun Xiao, YiXuan Sun
Concurrency, Causality and Conflict via Independence in Reversible Calculi
Clément Aubert, Gabriele Cecilia, Iain C. C. Phillips et al.
A Theory of a Two-Dimensional Typed Lambda Calculus
Daniel O. Martínez-Rivillas, Arthur F. Ramos, Ruy J. G. B. de Queiroz
FloatLib: Verified Floating-Point Arithmetic in Lean
Robert Joseph George, Will Adkisson, Anima Anandkumar