Questions tagged [unification]

42 questions
18
votes
3 answers

Why is unification so important to inference engines?

I am learning Automated Theorem Proving / SMT solvers / Proof Assistants by myself and post a series of questions about the process, starting here. I keep reading about the Unification Algorithm. What is it and why is so important to Inference…
13
votes
1 answer

Unification vs. SAT solver

I read on Wikipedia that unification is a process of solving the satisfability problem. At the same time, I know that such solvers are called "SAT solvers" or "SMT solvers". So, are they different names for the same thing? If you say that they are…
Val
  • 857
  • 6
  • 16
9
votes
1 answer

Is there a general algorithm to fill holes in terms of the Calculus of Constructions?

Suppose that you extend the Calculus of Constructions with "holes" - i.e., incomplete pieces of code that you didn't fill yet. I wonder if there is an algorithm to fill those roles automatically. For example (using Morte's syntax): Case A: λ (pred :…
MaiaVictor
  • 4,199
  • 2
  • 18
  • 34
9
votes
1 answer

Term Rewriting vs Unification

How is term rewriting different from unification, and what's the difference between term rewriting languages and logic programming, like Prolog?
MWB
  • 515
  • 3
  • 11
7
votes
2 answers

Generating constraints to solve dependently-typed metavariables?

In dependent-types, Miller pattern unification is used to solve a decidable fragment of higher-order unification. This allows dependently-typed languages to contain metavariables or implicit arguments. There are many papers which describe, given a…
6
votes
1 answer

why nominal unification is a first-order unification?

In my understanding, if a unification solves equations of terms that are not higher-order terms, then it is a first-order unification. If a unification solves equations of terms that are higher-order terms, then it is a higher-order unification.…
alim
  • 1,044
  • 7
  • 24
6
votes
1 answer

What is a unifier?

Currently I read up on unifiers, however have some problem understanding its concept. Thus far I found an example of an equation: add(suc(x); y) $\stackrel{.}{=}$ add(y; suc(z)) and unifiers to it: $\omicron$ = [suc(x)/y; x/z], $\omicron'$ =…
Imago
  • 425
  • 4
  • 17
6
votes
3 answers

Can someone clarify this unification algorithm?

I've been having trouble understanding a unification algorithm for first order logic, as I don't know what a compound expression is. I googled it, but found nothing relevant. I also don't know what a list means in this context. A list of what?…
4
votes
1 answer

E-Unification: “Goal seeking” pattern matching between directed trees

Preamble Suppose we have some symbols x, y, ... and wildcards (ξ), (ζ), ... which have any meaning. Wildcards are said to ‘match’ any symbol: wildcard (ξ) matches symbol x under the mapping {(ξ): x}. Now suppose we can construct directed trees from…
Jollywatt
  • 141
  • 5
4
votes
1 answer

How can unifying 2 sentences in first-order logic result in a variable becoming 2 different things?

I'm working on a program which must use inference in first-order logic, and everything is working great except for 1 thing which I don't understand. The book I'm using, "Artificial Intelligence A Modern Approach" by Russell and Norvig, shows a proof…
Aaron T
  • 143
  • 3
4
votes
2 answers

Skolemization with multiple arguments -- how to unify

Edit: answerers keep finding (valid!) problems with my example. I'll try again. The older version is below the horizontal line. Thanks to Klaus below for pointing out the last problem. My question is how to unify skolemizations that have…
4
votes
2 answers

Unification --- most specific unifier

In unification, given a set of equations, a standard problem is to compute a most general unifier (mgu). I am interested in a somewhat reversed problem. Imagine having a set of equations that do not have an mgu, like this one: x = a x = b x here is…
zpavlinovic
  • 1,664
  • 10
  • 19
4
votes
1 answer

Is unification over regular expression equations doable?

By way of example, suppose I know that $X + a = b + Y$ where $X$ and $Y$ are variables standing for regular expressions, then $(X, Y) = (b, a)$ is a solution to this set of equations. Generalizing over all such equations, is there a computable…
3
votes
0 answers

Most efficient unification algorithm?

I've been trying to find the most efficient unification algorithm by following reference chains on the Wikipedia article on unification. As far as I can tell, the fastest one is the one presented in "A Practical Unification Algorithm", but is there…
3
votes
1 answer

Type inference of pair (product) types

I am looking into Hindler-Milney type system and I am trying to add support for the pair type. In Pierces book, he introduces special language constructs for creation of pairs and getting their elements. What I am interested in is the following.…
zpavlinovic
  • 1,664
  • 10
  • 19
1
2 3