# (Nominal) Unification by Recursive Descent with Triangular Substitutions

@inproceedings{Kumar2010NominalUB, title={(Nominal) Unification by Recursive Descent with Triangular Substitutions}, author={Ramana Kumar and Michael Norrish}, booktitle={ITP}, year={2010} }

Using HOL4, 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.

## 23 Citations

### Nominal Unification Revisited

- Computer ScienceUNIF
- 2010

The purpose of this paper is to simplify a clunky proof from the original paper on nominal unification and to give an overview over some results about nominal unification.

### Nominal C-Unification

- MathematicsLOPSTR
- 2017

A sound and complete procedure for nominal unification with commutative operators, or nominal C-unification for short, is proposed, which has been formalised in Coq.

### Nominal Syntax with Atom Substitutions: Matching, Unification, Rewriting

- Computer ScienceFCT
- 2019

This work considers an extension of nominal syntax with non-capturing substitutions and shows that matching is decidable and finitary but unification is undecidable, giving rise to expressive and efficient rewriting systems.

### Undecidability of Nominal Unification with Atom Substitutions

- Linguistics
- 2017

We consider a syntax for nominal terms extended with non-capturing atom substitution and show that unification over such terms is undecidable. The proof of undecidability is obtained by reducing…

### Formalization of First-Order Syntactic Unification

- Computer Science
- 2018

A new formalization in the Isabelle proof assistant of first-order syntactic unification, including a proof of termination, follows, almost down to the letter, the ML-code from Baader and Nipkow's book "Term Rewriting and All That" (1998).

### A Certified Functional Nominal C-Unification Algorithm

- Computer ScienceLOPSTR
- 2019

This work presents a specification of a nominal C-unification algorithm (nominal unification with commutative operators) in PVS and discusses the proofs of soundness and completeness.

### Nominal Syntax with Atom Substitutions: Matching, Uniﬁcation, Rewriting

- Computer Science
- 2019

It is shown that matching is decidable and ﬁnitary but uniﬁcation is undecidable and characterise problems for which matching is unitary, giving rise to expressive and eﬃcient rewriting systems.

### Soundness and Completeness in PVS of a Functional Nominal C-Unification Algorithm

- Computer Science
- 2019

This work presents a specification of nominal C-unification (nominal unification with commutative operators) in PVS, the formalization of a functional algorithm that can be directly executed and aspects about the proof of soundness and completeness are discussed.

## References

SHOWING 1-10 OF 21 REFERENCES

### Nominal Unification from a Higher-Order Perspective

- PhilosophyTOCL
- 2012

It is shown that nominal unification can be quadratically reduced to a particular fragment of higher-order unification problems: higher- order pattern unification, and it is proved that the translation preserves most generality of unifiers.

### An Efficient Unification Algorithm

- Computer ScienceTOPL
- 1982

A new unification algorithm, characterized by having the acyclicity test efficiently embedded into it, is derived from the nondeterministic one, and a PASCAL implementation is given.

### Formal Correctness of a Quadratic Unification Algorithm

- Computer ScienceJournal of Automated Reasoning
- 2006

A case study using ACL2 to verify a nontrivial algorithm that uses efficient data structures that stores terms as directed acyclic graphs by means of a pointer structure.

### Linear unification

- MathematicsSTOC '76
- 1976

A unification algorithm is described which tests a set of expressions for unifiability and which requires time and space which are only linear in the size of the input.

### Relational programming in minikanren: techniques, applications, and implementations

- Computer Science
- 2009

This dissertation presents miniKanren, a family of languages specifically designed for relational programming, and which supports a variety of relational idioms and techniques, making it feasible and useful to write interesting programs as relations.