Nominal Unification and Matching of Higher Order Expressions with Recursive Let
This work addresses foundational challenges in automated reasoning and programming language theory, providing efficient algorithms for a complex unification problem.
The paper tackles the problem of nominal unification and matching for higher-order expressions with recursive let, presenting sound and complete algorithms that run in nondeterministic polynomial time, including specializations for DAGs and garbage-free expressions.
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive let is described, and shown to run in nondeterministic polynomial time. We also explore specializations like nominal letrec-matching for expressions, for DAGs, and for garbage-free expressions and determine their complexity. We also provide a nominal unification algorithm for higher-order expressions with recursive let and atom-variables, where we show that it also runs in nondeterministic polynomial time. In addition we prove that there is a guessing strategy for nominal unification with letrec and atom-variable that is a trade-off between exponential growth and non-determinism. Nominal matching with variables representing partial letrec-environments is also shown to be in NP.