Results 1  10
of
25
Nominal Unification
 Theoretical Computer Science
, 2003
"... We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the a ..."
Abstract

Cited by 52 (20 self)
 Add to MetaCart
We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a `nominal' approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijnstyle representations) and yet get a version of this form of substitution that respects #equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical firstorder unification algorithm to this setting which retains the latter's pleasant properties: unification problems involving #equivalence and freshness are decidable; and solvable problems possess most general solutions.
Numbering matters: Firstorder canonical forms for secondorder recursive types
 In Proceedings of the 2004 ACM SIGPLAN International Conference on Functional Programming (ICFP’04
, 2004
"... We study a type system equipped with universal types and equirecursive types, which we refer to as Fµ. We show that type equality may be decided in time O(n log n), an improvement over the previous known bound of O(n 2). In fact, we show that two more general problems, namely entailment of type equa ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
We study a type system equipped with universal types and equirecursive types, which we refer to as Fµ. We show that type equality may be decided in time O(n log n), an improvement over the previous known bound of O(n 2). In fact, we show that two more general problems, namely entailment of type equations and type unification, may be decided in time O(n log n), a new result. To achieve this bound, we associate, with every Fµ type, a firstorder canonical form, which may be computed in time O(n log n). By exploiting this notion, we reduce all three problems to equality and unification of firstorder recursive terms, for which efficient algorithms are known. 1
Probabilistic Modelling, Inference and Learning using Logical Theories
"... This paper provides a study of probabilistic modelling, inference and learning in a logicbased setting. We show how probability densities, being functions, can be represented and reasoned with naturally and directly in higherorder logic, an expressive formalism not unlike the (informal) everyday l ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
This paper provides a study of probabilistic modelling, inference and learning in a logicbased setting. We show how probability densities, being functions, can be represented and reasoned with naturally and directly in higherorder logic, an expressive formalism not unlike the (informal) everyday language of mathematics. We give efficient inference algorithms and illustrate the general approach with a diverse collection of applications. Some learning issues are also considered.
DECIDABILITY OF HIGHERORDER MATCHING
"... Abstract. We show that the higherorder matching problem is decidable using a gametheoretic argument. ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Abstract. We show that the higherorder matching problem is decidable using a gametheoretic argument.
Monadic secondorder unification is NPcomplete
 In RTA’04, volume 3091 of LNCS
, 2004
"... Abstract. Bounded SecondOrder Unification is the problem of deciding, for a given secondorder equation t? = u and a positive integer m, whether there exists a unifier σ such that, for every secondorder variable F, the terms instantiated for F have at most m occurrences of every bound variable. I ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
Abstract. Bounded SecondOrder Unification is the problem of deciding, for a given secondorder equation t? = u and a positive integer m, whether there exists a unifier σ such that, for every secondorder variable F, the terms instantiated for F have at most m occurrences of every bound variable. It is already known that Bounded SecondOrder Unification is decidable and NPhard, whereas general SecondOrder Unification is undecidable. We prove that Bounded SecondOrder Unification is NPcomplete, provided that m is given in unary encoding, by proving that a sizeminimal solution can be represented in polynomial space, and then applying a generalization of Plandowski’s polynomial algorithm that compares compacted terms in polynomial time. 1
Stratified context unification is npcomplete
 In Proc. of the 3rd International Joint Conference on Automated Reasoning, IJCAR’06
, 2006
"... Abstract. Context Unification is the problem to decide for a given set of secondorder equations E where all secondorder variables are unary, whether there exists a unifier, such that for every secondorder variable X, theabstractionλx.r instantiated for X has exactly one occurrence of the bound va ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Abstract. Context Unification is the problem to decide for a given set of secondorder equations E where all secondorder variables are unary, whether there exists a unifier, such that for every secondorder variable X, theabstractionλx.r instantiated for X has exactly one occurrence of the bound variable x in r. Stratified Context Unification is a specialization where the nesting of secondorder variables in E is restricted. It is already known that Stratified Context Unification is decidable, NPhard, and in PSPACE, whereas the decidability and the complexity of Context Unification is unknown. We prove that Stratified Context Unification is in NP by proving that a sizeminimal solution can be represented in a singleton tree grammar of polynomial size, and then applying a generalization of Plandowski’s polynomial algorithm that compares compacted terms in polynomial time. This also demonstrates the high potential of singleton tree grammars for optimizing programs maintaining large terms. A corollary of our result is that solvability of rewrite constraints is NPcomplete. 1
Type Classes With More HigherOrder Polymorphism
 In ACM SIGPLAN International Conference on Functional Programming
, 2002
"... We propose an extension of Haskell's type class system with lambda abstractions in the type language. Type inference for our extension relies on a novel constrained unification procedure called guided higherorder unification. This unification procedure is more general than Haskell's kindpreserving ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We propose an extension of Haskell's type class system with lambda abstractions in the type language. Type inference for our extension relies on a novel constrained unification procedure called guided higherorder unification. This unification procedure is more general than Haskell's kindpreserving unification but less powerful than full higherorder unification.
Nominal unification from a higherorder perspective
 In Proceedings of RTA’08
"... Abstract. Nominal Logic is an extension of firstorder logic with equality, namebinding, nameswapping, and freshness of names. Contrarily to higherorder logic, bound variables are treated as atoms, and only free variables are proper unknowns in nominal unification. This allows “variable capture”, ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Abstract. Nominal Logic is an extension of firstorder logic with equality, namebinding, nameswapping, and freshness of names. Contrarily to higherorder logic, bound variables are treated as atoms, and only free variables are proper unknowns in nominal unification. This allows “variable capture”, breaking a fundamental principle of lambdacalculus. Despite this difference, nominal unification can be seen from a higherorder perspective. From this view, we show that nominal unification can be reduced to a particular fragment of higherorder unification problems: higherorder patterns unification. This reduction proves that nominal unification can be decided in quadratic deterministic time. 1
Higherorder matching, games and automata
 Proceedings of 22nd Annual IEEE Symposium on Logic in Computer Science, (LICS
, 2007
"... Higherorder matching is the problem given t = u where t, u are terms of simply typed λcalculus and u is closed, is there a substitution θ such that tθ and u have the same normal form with respect to βηequality: can t be pattern matched to u? This paper considers the question: can we characterize ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
Higherorder matching is the problem given t = u where t, u are terms of simply typed λcalculus and u is closed, is there a substitution θ such that tθ and u have the same normal form with respect to βηequality: can t be pattern matched to u? This paper considers the question: can we characterize the set of all solution terms to a matching problem? We provide an automatatheoretic account that is relative to resource: given a matching problem and a finite set of variables and constants, the (possibly infinite) set of terms that are built from those components and that solve the problem is regular. The characterization uses standard bottomup tree automata. 1.