3 research outputs found
Constraint solving in non-permutative nominal abstract syntax
Nominal abstract syntax is a popular first-order technique for encoding, and
reasoning about, abstract syntax involving binders. Many of its applications
involve constraint solving. The most commonly used constraint solving algorithm
over nominal abstract syntax is the Urban-Pitts-Gabbay nominal unification
algorithm, which is well-behaved, has a well-developed theory and is applicable
in many cases. However, certain problems require a constraint solver which
respects the equivariance property of nominal logic, such as Cheney's
equivariant unification algorithm. This is more powerful but is more
complicated and computationally hard. In this paper we present a novel
algorithm for solving constraints over a simple variant of nominal abstract
syntax which we call non-permutative. This constraint problem has similar
complexity to equivariant unification but without many of the additional
complications of the equivariant unification term language. We prove our
algorithm correct, paying particular attention to issues of termination, and
present an explicit translation of name-name equivariant unification problems
into non-permutative constraints
Nominal Unification with Atom and Context Variables
Automated deduction in higher-order program calculi, where properties of transformation rules are demanded, or confluence or other equational properties are requested, can often be done by syntactically computing overlaps (critical pairs) of reduction rules and transformation rules. Since higher-order calculi have alpha-equivalence as fundamental equivalence, the reasoning procedure must deal with it. We define ASD1-unification problems, which are higher-order equational unification problems employing variables for atoms, expressions and contexts, with additional distinct-variable constraints, and which have to be solved w.r.t. alpha-equivalence. Our proposal is to extend nominal unification to solve these unification problems. We succeeded in constructing the nominal unification algorithm NomUnifyASD. We show that NomUnifyASD is sound and complete for this problem class, and outputs a set of unifiers with constraints in nondeterministic polynomial time if the final constraints are satisfiable. We also show that solvability of the output constraints can be decided in NEXPTIME, and for a fixed number of context-variables in NP time. For terms without context-variables and atom-variables, NomUnifyASD runs in polynomial time, is unitary, and extends the classical problem by permitting distinct-variable constraints
Constraint solving in non-permutative nominal abstract syntax
Nominal abstract syntax is a popular first-order technique for encoding, and
reasoning about, abstract syntax involving binders. Many of its applications
involve constraint solving. The most commonly used constraint solving algorithm
over nominal abstract syntax is the Urban-Pitts-Gabbay nominal unification
algorithm, which is well-behaved, has a well-developed theory and is applicable
in many cases. However, certain problems require a constraint solver which
respects the equivariance property of nominal logic, such as Cheney's
equivariant unification algorithm. This is more powerful but is more
complicated and computationally hard. In this paper we present a novel
algorithm for solving constraints over a simple variant of nominal abstract
syntax which we call non-permutative. This constraint problem has similar
complexity to equivariant unification but without many of the additional
complications of the equivariant unification term language. We prove our
algorithm correct, paying particular attention to issues of termination, and
present an explicit translation of name-name equivariant unification problems
into non-permutative constraints