Permissive nominal terms and their unification: an infinite, co-infinite approach to nominal techniques
arXiv:2312.15651 · doi:10.1093/jigpal/jzq006
Abstract
Nominal terms extend first-order terms with binding. They lack some properties of first- and higher-order terms: Terms must be reasoned about in a context of 'freshness assumptions'; it is not always possible to 'choose a fresh variable symbol' for a nominal term; it is not always possible to 'alpha-convert a bound variable symbol' or to 'quotient by alpha-equivalence'; the notion of unifier is not based just on substitution. Permissive nominal terms closely resemble nominal terms but they recover these properties, and in particular the 'always fresh' and 'always rename' properties. In the permissive world, freshness contexts are elided, equality is fixed, and the notion of unifier is based on substitution alone rather than on nominal terms' notion of unification based on substitution plus extra freshness conditions. We prove that expressivity is not lost moving to the permissive case and provide an injection of nominal terms unification problems and their solutions into permissive nominal terms problems and their solutions. We investigate the relation between permissive nominal unification and higher-order pattern unification. We show how to translate permissive nominal unification problems and solutions in a sound, complete, and optimal manner, in suitable senses which we make formal.
References in corpus (3)
Cited by in corpus (6)
- Permissive-Nominal Logic (journal version)
- Nominal Henkin Semantics: simply-typed lambda-calculus models in nominal sets
- PNL to HOL: from the logic of nominal sets to the logic of higher-order functions
- From nominal sets binding to functions and lambda-abstraction: connecting the logic of permutation models with the logic of functions
- Nominal Unification and Matching of Higher Order Expressions with Recursive Let
- Finite and infinite support in nominal algebra and logic: nominal completeness theorems for free