Nominal Unification and Matching of Higher Order Expressions with Recursive Let
Abstract
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.
- Publication:
-
arXiv e-prints
- Pub Date:
- February 2021
- DOI:
- 10.48550/arXiv.2102.08146
- arXiv:
- arXiv:2102.08146
- Bibcode:
- 2021arXiv210208146S
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Computer Science - Artificial Intelligence;
- I.2.3
- E-Print:
- 37 pages, 9 figures, This paper is an extended version of the conference publication: Manfred Schmidt-Schau{\ss} and Temur Kutsia and Jordi Levy and Mateu Villaret and Yunus Kutz, Nominal Unification of Higher Order Expressions with Recursive Let, LOPSTR-16, Lecture Notes in Computer Science 10184, Springer, p 328 -344, 2016. arXiv admin note: text overlap with arXiv:1608.03771