English
Related papers

Related papers: Nominal anti-unification

200 papers

Nominal unification calculates substitutions that make terms involving binders equal modulo alpha-equivalence. Although nominal unification can be seen as equivalent to Miller's higher-order pattern unification, it has properties, such as…

Logic in Computer Science · Computer Science 2010-12-23 Christian Urban

Anti-unification in logic programming refers to the process of capturing common syntactic structure among given goals, computing a single new goal that is more general called a generalization of the given goals. Finding an arbitrary common…

Computational Complexity · Computer Science 2021-10-22 Gonzague Yernaux , Wim Vanhoof

Nominal Logic is a version of first-order logic with equality, name-binding, renaming via name-swapping and freshness of names. Contrarily to higher-order logic, bindable names, called atoms, and instantiable variables are considered as…

Logic in Computer Science · Computer Science 2023-03-14 Jordi Levy , Mateu Villaret

We consider anti-unification for simply typed lambda terms in associative, commutative, and associative-commutative theories and develop a sound and complete algorithm which takes two lambda terms and computes their generalizations in the…

Logic in Computer Science · Computer Science 2022-08-02 David M. Cerna , Temur Kutsia

Nominal unification is an extension of first-order unification that takes into account the \alpha-equivalence relation generated by binding operators, following the nominal approach. We propose a sound and complete procedure for nominal…

Programming Languages · Computer Science 2017-09-19 Mauricio Ayala-Rincón , Washington de Carvalho-Segundo , Maribel Fernández , Daniele Nantes-Sobrinho

Anti-unification refers to the process of generalizing two (or more) goals into a single, more general, goal that captures some of the structure that is common to all initial goals. In general one is typically interested in computing what…

Logic in Computer Science · Computer Science 2020-02-19 Gonzague Yernaux , Wim Vanhoof

Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, alpha-equivalence). This article investigates…

Programming Languages · Computer Science 2008-09-15 James Cheney , Christian Urban

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…

Programming Languages · Computer Science 2015-07-01 Matthew R. Lakin

We propose a new axiomatisation of the alpha-equivalence relation for nominal terms, based on a primitive notion of fixed-point constraint. We show that the standard freshness relation between atoms and terms can be derived from the more…

Logic in Computer Science · Computer Science 2023-06-22 Mauricio Ayala-Rincón , Maribel Fernández , Daniele Nantes-Sobrinho

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…

Logic in Computer Science · Computer Science 2023-12-27 Gilles Dowek , Murdoch J. Gabbay , Dominic Mulligan

Generalization techniques have many applications, including template construction, argument generalization, and indexing. Modern interactive provers can exploit advancement in generalization methods over expressive type theories to further…

Logic in Computer Science · Computer Science 2024-06-19 David M. Cerna , Michal Buran

Generalization problems in languages with binders involve computing the most common structure between expressions while respecting bound variable renaming and freshness constraints. These problems often lack a least general solution.…

Logic in Computer Science · Computer Science 2025-02-27 Daniele Nantes-Sobrinho , Manfred Schmidt-Schauss , Alexander Baumgartner , Temur Kutsia

Narrowing is a well-known technique that adds to term rewriting mechanisms the required power to search for solutions to equational problems. Rewriting and narrowing are well-studied in first-order term languages, but several problems…

Logic in Computer Science · Computer Science 2025-06-09 Mauricio Ayala-Rincón , Maribel Fernández , Daniele Nantes-Sobrinho , Daniella Santaguida

Interest in anti-unification, the dual problem of unification, is on the rise due to applications within the field of software analysis and related areas. For example, anti-unification-based techniques have found uses within clone detection…

Logic in Computer Science · Computer Science 2025-06-23 Mauricio Ayala-Rincon , David M. Cerna , Andres Felipe Gonzalez Barragan , Temur Kutsia

We give an algorithm for the class of second order unification problems in which second order variables have at most one occurrence.

Logic in Computer Science · Computer Science 2023-09-06 Gilles Dowek

We present a generalization of first-order unification to a term algebra where variable indexing is part of the object language. We exploit variable indexing by associating some sequences of variables ($X_0,\ X_1,\ X_2,\dots$) with a…

Logic in Computer Science · Computer Science 2024-03-12 David M. Cerna

Nominal algebra includes $\alpha$-equality and freshness constraints on nominal terms endowed with a nominal set semantics that facilitates reasoning about languages with binders. Nominal unification is decidable and unitary, however, its…

Logic in Computer Science · Computer Science 2024-12-18 Ali K. Caires-Santos , Maribel Fernández , Daniele Nantes-Sobrinho

Narrowing extends term rewriting with the ability to search for solutions to equational problems. While first-order rewriting and narrowing are well studied, significant challenges arise in the presence of binders, freshness conditions and…

Logic in Computer Science · Computer Science 2025-05-22 Maribel Fernández , Daniele Nantes-Sobrinho , Daniella Santaguida

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…

Logic in Computer Science · Computer Science 2023-06-22 Manfred Schmidt-Schauß , Temur Kutsia , Jordi Levy , Mateu Villaret , Yunus Kutz

Nominal logic is a variant of first-order logic that provides support for reasoning about bound names in abstract syntax. A key feature of nominal logic is the new-quantifier, which quantifies over fresh names (names not appearing in any…

Logic in Computer Science · Computer Science 2013-12-18 James Cheney
‹ Prev 1 2 3 10 Next ›