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
Timed Games under Environmental Interference with Real-Time Objectives
Andrea Manini, Matteo Rossi, Pierluigi San Pietro
Executable Specifications in Transition Algebra
Daniel Găină, Adrián Riesco, Ionuţ Ţuţu
Essential Unitarity for Higher-Order Quantum Computation (Extended Abstract)
Samson Abramsky, Radha Jagadeesan
Sundance: A Simple SMT Solver for Program Verification
Amar Shah, Benjamin F. Jones, Can Cebeci et al.
Global Trace Condition for Injective Transition Graphs
Stefano Berardi, Ugo de'Liguoro, Daniel Osorio-Valencia
Aero-VPA: Few-Step Flow-Matching Control over Non-Reconstructive JEPA Latents for Agile Flight on Edge Hardware
Yeonseok Lee