(Nominal) Unification by Recursive Descent with Triangular Substitutions [chapter]

Ramana Kumar, Michael Norrish
2010 Lecture Notes in Computer Science  
We mechanise termination and correctness for two unification algorithms, written in a recursive descent style. One computes unifiers for first order terms, the other for nominal terms (terms including α-equivalent binding structure). Both algorithms work with triangular substitutions in accumulator-passing style: taking a substitution as input, and returning an extension of that substitution on success. This style of algorithm has performance benefits and has not been mechanised previously. The
more » ... algorithms use nested recursion so the termination proofs are non-trivial; the termination relation is also slightly different from usual.
doi:10.1007/978-3-642-14052-5_6 fatcat:dnc4a3cjcrhp3bjxxptdsfazte