Knowledge

Talk:Unification (computer science)

Source 📝

3616:
formalism. This entails preprocessing first their input and postprocessing their output when a substitution is produced. The overhead causes these linear algorithms to be slower on small sized arguments. Using a parser that generates an object-oriented C++/Java type representation can support (meta) annotations on formulas, terms, constants and variables. The linear DC algorithm uses 'object' variables with infrastructure for building substitutions. This makes this version also competitive on small sized input, [de Champeaux, D. Faster Linear Unification Algorithm. J Autom Reasoning 66, 845–860 (2022);
4133:[[ I want to add less than 10 pages to the wiki ... and notice how much trouble you create with your lack of ... of experience. You may be smart, but it does not work here. Trying to help me so that I can help improving the wiki? Doubt you can ... No relevant credentials anywhere. Please check my language because English is my 3rd one. ]] [[ BTW The talk page suggests to take out the Prolog stuff. Agree. Prolog never made sense when OO came on the scene (via Smalltalk). OO has added additional ways to decompose 'engineering' challenges. Reversing the order of <functionality & substrate: --> 2242:(non-ground) terms over 0,s,p,+,-,*; however, each such substitution could be instantiated to a ground substitution. Hence as a Corollary of Matiyasevich, unification w.r.t this E is undecidable. In this sense, this E can be viewed as the equational theory underlying Diophantine equations, with a grain of salt. You are of course right in that this E can't characterize ℤ up to isomorphism. Anyway, the argument of Dershowitz and Jouannaud about the distinction between word problem and unification problem would be worth to be explained in the article. 4166:
size arguments - by using richer formalisms. This requires preprocessing their inputs and postprocessing their output when a substitution is produced. Another approach relies on a 'fat' version of the predicate calculus using an OO architecture for formulas, terms, constants, variables (and axioms, definitions, lemmas, theorems, etc.) A parser can generate these expressions with optional support for (meta) annotations. An example is capturing in a hash table the variables in a formula (and term), which can be used to improve the occur check.
3887:[[ Let me add: the quicksort wiki is FATALLY wrong with its quadratic worst case complexity. A 1997 paper by David Musser gave a fix to get O(NlogN). The result? Java & Python use mergesort to avoid a quadratic blow up. Stupid. Slow and not in-place. Ditto with qsort on my ubuntu box. ChatGPT & Bard/Gemini regurgitate the O(N**2) complexity. The disasters get repeated ... and repeated ... and ... There are 2 people mentioned in the qs wiki 12&11 times. They made a cyberspace tombstone. Someone needs to clean them out. ]] 595: 585: 564: 1896:
theories themselves (which is of course well known for both). Next, there is a claim that unification is semidecidable for “Diophantine equations”. I don’t even know what that’s supposed to mean, as Diophantine equations as such are not a theory at all, but again, the given source (Matiyasevich’s paper proving the MRDP theorem) does not say anything about unification. There may be something I’m missing here, but as written, these examples do not make sense, and are unsourced.—
3025:, it is quite straightforward. Now that I look at it, it does not in fact prove confluence. The lead just refers to Martelli and Montanari's paper to say that a most general unifier (MGU) exists and the algorithm produces that unique answer. I guess if you wanted, you could expand the "proof of termination" to a "proof of termination and uniqueness" based on Martelli and Montanari's paper. It seems like a good idea, maybe you will be able to improve the article that way. 3593:
about using a 'rich' OO version of the predicate calculus: --- Formulas/ terms/ etc. have a hashtable attribute containing variables (used by the parser) -- which helps with the occur check --- Variables contain infrastructure for building substitutions and dealing with aliasing of variables exploiting the Union-Find algorithm Subclassing and/or adding attributes can enrich the semantics and 'pragmatics' of expressions.
4270:. Since higher-order unification is undecidable, there is in fact no algorithm for doing higher-order unification, so it can't be an algorithm, just like the halting problem is not an algorithm. Pedantically we could distinguish "a unification problem", "a unification algorithm", and "the process of executing a unification algorithm on a unification problem", but this doesn't reflect how people write about unification in practice. 2985:, and of course *I* can see it's more rewrite rules; 2) my/our objection remains: you try and implement those rules as written and you get an infinite loop: indeed YOU do try and prove that it's confluent and fail! (and note 8 is totally irrelevant, so what are you you even talking about??); 3) the focus of the article is not "logic", which is not even meaningful... I will fix that definition as soon as I find the time. 320: 677: 4105:
while the code might be longer, it will probably also be faster than the Java version. Your discussion of an "object-oriented" approach in the "faster" paper is really just a disguised method to use pointers instead of a hash table. In Java, the only way to use pointers is to make a class and instantiate an object of that class, but this is not the case in other languages.
243: 4686:(I would have cited it but there is nothing to verify for an example) It is non-trivial because it shows that unification is bidirectional. I guess I could have used "foo" like the source, I have no objection to changing it if you think it's clearer. I think though it is important to mention uninterpreted functions in the lead, the notion of syntactic equivalence doesn't make much sense without it. 222: 2002:
better to call it unification with constants for abelian groups. (I observe that unification with constants is not even mentioned in the article.) I still do not know what to make of the “Diophantine equations” example, but I begin to suspect that whatever the author may have intended also boils down to unification in the theory of commutative rings, as in the case of RCF.
191: 1687:, and that is what the opening paragraph says. Now, in systems which have bound and free variables, and one performs a substitution on a bound variable, then, yes, I guess you could think of it as being kind-of-like binding a value to a variable; but these are different ideas, really. Among other things, you can always make substitutions on free variables as well :-) 2566:"Postfix" refers to the order of the substitution "{x1 ↦ t1, ..., xk ↦ tk}" as a whole and its operand "t"; the former is written after the latter. See also the notation "tσ" in the same section. You are right if you meant that the operator "↦" is an infix operator; however, it is internal to the substitution and not referred to by the sentence you cited above. - 4219:
small sized inputs where the other linear versions are slower). Karen Oliver added to the wiki twice unacceptable sentences about my paper with references to me. My 3rd contribution - carefully crafted - is again ripped out by Mr Jochen Burghardt - totally ignoring my explanations here and without follow up on my clarifications. This is not acceptable.
3337: 728: 4488:, most papers treat it as a black box "we translated the problem to SMTLIB and fed it to Z3", but I think there is a significant amount of literature around the techniques used. I don't know if you are interested, creating new articles from scratch is a lot of work, but if you are, I would suggest creating a draft article in your user space, like 4440:
box. ChatGPT & Bard/Gemini regurgitate the O(N**2) complexity. The disasters get repeated ... and repeated ... and ... There are 2 people mentioned in the qs wiki 12&11 times. They made a cyberspace tombstone. Someone needs to clean them out. They are Sedgwick and Bentley. They block my papers already for a decade.
4475:
reader than your sentence "can be made equal through a substitution obtained by assigning values to variables in the two terms." But you are right that the article should explain the differences among forms of unification (first-order, higher-order, E-unification) in the lead, rather than just their application areas, so I have revised that part.
3192: 4783:
Knight, focussing on the simplest case of first-order logic before dealing with more exotic and less familiar logics. Here is a link to the paper: If this approach were taken, then Knight's characterisation of unification would cover the most common and familiar case and would be more faithful to the original notion of unification:
3651:"you removed a carefully crafted section - in vandalism fashion - in stealth mode/ without any notification -- twice i believe" This is the normal mode of editing on Knowledge, a section is added in one edit and then it is deleted in the next. This is the art of Knowledge - to not only make an edit, but to avoid having it reverted. 885:
m(x,x) and m(y,m(y,y)) where 'm' denotes multiplication. Can these terms be unified? I think so because they both begin with the same function symbol and have the same number of arguments, which - I believe - can themselves be unified. But the definition of unification given on this page does not cover binary (n-ary) functions.
1268:
and there it is misplaced: it belongs in the section on higher-order unification, as it's the canonical example of a higher-order unification algorithm, and because virtually every type-inferencing algorithm that I've come across for functional PL's use Robinson's first-order unification algorithm, not higher-order unification.
4299:, where we can present only the major improvements. Since your improvement (which I still don't fully understand from your article and discussion contributions; I'd like to read your paper, but didn't find an open-source version of it) didn't affect the computational complexity, I removed your addition; see my edit summary. - 4141:(A) The 'Further reading' section has an entry from Franz Baader and Wayne Snyder (2001). How about moving it to the reference section? I want to use it in my new section. And add it to the section 'Unification algorithms'. BTW: I found earlier a defect in the PW version (published) and recently a defect in the BS version. 3907:"two unpaid, unvetted, unaccountable volunteers." "A purpose of life is: help other people." "you not entitled to make that fuzzy assertion." "Spend way, way to much time tracking down the perpetrator" "This is NOT normal." "As an unvetted volunteer you can not assume a 'WE' authority stance. You are entitled only to ': --> 4693:
says "Couldn't match type ‘Bool’ with ‘’", which is a failure of unification, but an explanation of how unification is involved would probably take up the majority of the lead. An arity 2+ example is actually pretty rare in Haskell, as most type constructors only take one parameter. Most problems are
4218:
An earlier addition to this wiki was removed twice - vandalism style - by Jochen Burghardt without any notification on the talk page. Since then I have explained here page after page what is behind my linear unification paper (faster than all competition and also faster than the Robinson versions on
3969:
I don't think such an observation is correct. One can implement your Java algorithms in C or C++, and while the code might be longer, it will probably also be faster than the Java version. Your discussion of an "object-oriented" approach in the "faster" paper is really just a disguised method to use
3833:
this article.' Fatal ex-cathedra assertion." Well Knowledge does have pillars: in particular there is WP:NPOV and in particular WP:UNDUE. If there is only one article and it has 0 citations then it is hard to justify giving it more space in the article than a sentence, when there are so
3592:
believe< that it can be a 'game-changer' - google lingo - elsewhere in theorem proving; for example in the preprocessors for theorem provers that I wrote about 4 decades ago. Hence my section has the dual purpose of stating the progress of the algorithm AND that it dependent crucially
3092:
Related to this rule, the text says that it must decrease the number of variables that occur more than once, because it eliminates all other mentions of x. But what if t contains the only mention of another variable y? Wouldn't then this variable occur more than once afterwards, and show that this is
2716:
For instance the first substitution applied to g(x,z) produces t1 = g(f(u),z), while the second gives t2 = g(z,z). And t1 is not more special than t2. (Hence the two substitutions do not satisfy the standard definition of "more general": theta is more general than tau if tau is the composition
2083:
I didn't understand what you meant by "unification with constants" in general, since you seem not to consider unification in monoids as a special case of that. Anyway, the section on E-unification is admittedly still in a very preliminary state; you're welcome to explain unification with constants in
1895:
In the E-unification section, it is claimed that unification is decidable over Presburger arithmetic and the theory of real-closed fields. I’ve never heard of these theories in the context of unification, and the given references do not seem to support these claims, they are about decidability of the
1411:
Basically, three topics are mixed here: Theory-free unification, Theory-unification (also called equational unification) and Higher order Unification. All three topics are large enough for an own article -- what do you think is the best way to proceed without creating 2 stub articels which may not be
4782:
I hesitate to become involved in this unnecessarily unpleasant discussion. However, it seems that some of the problem may be due to the article's overly general approach, treating multiple kinds of logic simultaneously. A much better approach would have been to follow the lead of the survey by Kevin
4193:
Informatics has gone through the following sequence: Turing machines, hand coded hardware, assemblers, compilers for Fortran, machine instruction for multi tasking, recursion for Algol, C, Cobol, OO languages, C++, Java, concurrency & parallelism and these days ontologies. Each time other types
4120:
Being familiar with OO (check Google for my books) [and papers 9000+ reads], having written Mbs of Java code and having an OO version available for fol, I was able to exploit OO features to obtain a better/ competitive fol unification version. Could this be done also in assembly language? Sure, but
3143:
In citing the Paterson, Wegman paper, the article gives it a year of 1978, and therefore seems to give more credit to Martelli, Montanari (1976) But the year of 1978 is the date of the journal version of the Paterson, Wegman paper. There was an earlier publication from Paterson, Wegman in STOC '76
3028:
I myself am more interested in higher-order unification though, and there the MGU doesn't exist. It is for this reason that Huet's "algorithm" is only a semi-algorithm and all higher-order unification algorithms can get stuck in infinite loops evaluating possibilities for unification. So I would say
2966:
And I think the focus of the article is in fact logic. For one, the lead sentence says "in logic and computer science". I looked for a bit to find uses for unification besides in logic programming / proof search type applications but there really aren't any. The closest is "matching", which is where
2125:
Dershowitz.Jouannaud.1990 gives on p.284 a canonical term rewriting system (TRS) for addition, subtraction, and multiplication of integers, as an example for a theory where the word problem is decidable (by the TRS), but the unification problem is not (, since solvability of Diophantine equations is
1790:
As far as I understand unification (and I understand it fairly well), unification does not try to show that terms are equal (or identical), but rather determine if they have equal (or identical) instances. As an example, f(a,X) and f(Y,b) are neither equal nor identical, but have the common instance
1662:
Is Unification the operation that binds two terms, or is it the process that finds a solution to a whole theory? Some sections describe it as the former ("It represents the mechanism of binding the contents of variables and can be viewed as a kind of one-time assignment") and some as the latter (the
4259:
Well, I warned you... "given your previous writing style, it will probably get reverted if you add it unedited to the main page." And indeed, this was what happened. Jochen is pretty quick with the reverts, but even in the absence of Jochen and myself, most likely someone else would have eventually
4169:
The linear DC algorithm in uses 'object' variables with infrastructure for building substitutions, and for using the Union-Find algorithm to deal with variable aliasing and for the occur check +REF. This makes this version also competitive on small sized inputs. Using such a 'fat' version of the
4165:
Logic operations work typically with a LISP like representation for formulas, terms, constants and variables. The Robinson type algorithms exhibit exponential performance on them. The linear unification algorithms by Patterson-Wegman and by Baader-Snyder obtain their better performance - on larger
4111:
Sorry, things are getting worse. It is not even wrong. Suppose your parent needs a tool that reminds on their laptop to take medication X at time Y. Would you code that in assembly language? Fortran? C? C#? java-servlets? The choices are the 'same' from a theoretical perspective? The choices are
3993:
Please remove from the talk page your and this version of: <<< "two unpaid, unvetted, unaccountable volunteers." "A purpose of life is: help other people." "you not entitled to make that fuzzy assertion." "Spend way, way to much time tracking down the perpetrator" "This is NOT normal." "As
3837:
My paper is NOT about vanilla unification. It is about linear unification. I had one sentence about MY paper while I pointed out in the new section that richer languages have been used and are likely relevant also for other logic operations. {BTW I get still notification by ResearchGate about my
3792:
I did. Doubling down again. OK, show me ten papers about vanilla unification with correctness proof, code on GitHub & comparison/ performance tests against 3 competitors. OK, show me five papers about LINEAR unification with correctness proof, code on GitHub & comparison/ performance tests
3772:
This is NOT normal. Doubling down is even worse. I was totally confused by first seeing the addition and later it had disappeared. I checked the talk section: nothing. Spend way, way to much time tracking down the perpetrator: Jochen Burghardt. A consequence of not being trained, vetted, and not
3047:
Sorry again, for misreading a poor reply. Yes, the article is poorly written if at all correct(!), that was indeed the whole point! But it's true that any half-competent programmer understands what was actually meant, surely the first-order part, so I'll just fix that spec when I find the time...
2405:
Thanks for explaining the Diphantine equations theory, however I think that what I just said applies to it as well. It is a weaker theory than commutative rings, but it has undecidable unification for exactly the same reasons, so it does not illustrate anything new, and being an artificial example,
2109:
As for unification with constants, see section 3.2.2 of the Baader and Snyder chapter in the Handbook of Automated Reasoning for an explanation. The basic point is to consider unification problems involving additional free constant outside the signature of the equational theory. I might try writing
1267:
The description of higher-order unification is also just ... bizarre. What are ellipsis, in this context? IMO, it's easier to describe higher-order unification as "just" the process of unifying higher-order (lambda-) terms. Huet's algorithm is mentioned in the programming language section above,
1259:
The introduction seems hopelessly confused to me. For one, it doesn't even mention what constitutes a solution to a unification problem. As far as I'm aware, it's entirely standard to return a *substitution* as a solution to a unification problem, not another term, where applying the substitution
1131:
This is simply Prolog syntax: A = B is the unification operator, and it cannot be chained like A = B = C, one has to write it as several unifications joined by commas (which are really conjunction operators). I do not see any particular reason why a general article on unification should be bound by
1006:
Yes, BenKovitz and Kilgore666, you are right: The article is leaving out a number of important aspects and in my opinion it is complete rubbish in certain portions. It should be completely rewritten. In some parts the explanations really do hurt, since they are just not at all catching the meaning
884:
To say that x^2 can be unified with y^3 is at best misleading because the argument that (z^3)^2 = (z^2)^3 = z^6 is semantic and unification is - as I understand it - purely syntactic. I am not enough of an expert to get this right but it seems to me that as *terms* x^2 and y^3 have to be written as
851:
assume the reader wants to do it in Prolog/Lisp/etc. If there are any good web pages that explain unification on logic with a series of clauses containing nothing but plain ol' variables (not even quantifiers, just variables) as you would do logic problems on paper, I think a link to that would be
4588:
I guess you are right though about unification not being associated with Lisp, I have replaced it with a Prolog-based example. I am not sure though about going into detail with multiple different examples in the lead - that seems more suitable for a section. The "Formal definition" section already
3307:
Rereading our paper, I realized that independently both Robinson and (G. Huet and G. Kahn) came up with the simplified algorithm with and used the union-find algorithm to implement the equivalence algorithm. So if you are going to credit John Alan Robinson, you should also give credit to Huet and
3228:
It's a scanned PDF. I find it easier to read than the Martelli and Montanari reference but I'm hardly representative of most readers. You may find it easier too though. It's not important but the actual first version of that paper was an IBM RC in May '76, though that version had a minor error,
3062:
As for confluence, Martelli and Montanari have proved (on p.4 of their 1976 internal note) the algorithm to produce always a "solved form", which, moreover, corresponds to a most general unifier. It is straight-forward to show that two different most general unifiers need to variants of each other
1908:
Come to think of it, unification for real-closed fields is UNdecidable. To begin with, E-unification of terms only uses the equational part of the given theory, and the equational fragment of the theory real-closed fields is the theory of commutative rings. Anyway, since there is a constant in the
4474:
Regarding the lead, the article has to be at least somewhat accessible to non-technical readers. "Solving equations" is understandable to those with even a basic understanding of mathematics in a way that "investigating substitutions" is not. I think the example conveys more information to such a
4439:
Let me add: the quicksort wiki is FATALLY wrong with its quadratic worst case complexity. A 1997 paper by David Musser gave a fix to get O(NlogN). The result? Java & Python use mergesort to avoid a quadratic blow up. Stupid. Slow and not in-place. Ditto with qsort on my ubuntu
4104:
I had one sentence about MY paper while I pointed out in the new section that richer languages have been used and are likely relevant also for other logic operations. I don't think such an observation is correct. One can implement your Java algorithms in C or C++, and
3958:
I don't really see this distinction in the literature. All the algorithms for first-order unification are discussed equally. Whether they are linear or exponential is a matter of analysis, and if you analyze them empirically you will come to different conclusions on different datasets (and if you
3854:
wrote about 4 decades ago." - So then you write things? Are you in fact Dennis de Champeaux, as the d's and c's in your username might suggest? If so then it's a conflict-of-interest to cite your articles. Now per WP:SELFCITE it is allowed within reason (particularly note the
2496:
signs (because for some silly reason, the preprocessor wraps \stackrel’s in { } before passing them to LaTeX; \mathrel and friends are likewise broken). This is a long-standing problem, and I don’t know of a good way to work around this (inserting explicit \, fixes the texvc output, but makes the
1705:
to theory unification, i.e. unification modulo some (equational) theory. The first is decidable with a fairly simple algorithm. The second is not, in general, decidable, but semi-decidable. There are interesting instances that are decidable (unification modulo associativity and commutativity is a
781:
No; this is essentially the same concept as is used in various theorem provers and type checkers, and is not specific to Prolog or to computer programming. (Although in most "mathematical" uses of unification, the example A=f(A) fails rather than returning an infinite term; the extra step in the
4380:
The Unification operation investigates whether two pc terms are equal or can be made equal through a substitution obtained by assigning values to variables in the two terms. The operation terminates in fol with a unique 'best' substitution or with the conclusion that unification fails.
3615:
Logic operations work typically with a LISP like representation for formulas, terms, constants and variables. The Robinson type algorithms exhibit exponential performance on them. The linear unification algorithm by Patterson-Wegman (and others) obtain their better performance by using a richer
2401:
The article is too long as is, and I don’t think that artificial examples involving unsightly ad hoc lists of equations are helpful to the reader. The fact that an equational theory can have undecidable unification with constants even though elementary unification is decidable is certainly worth
1620:
In the termination proof, what is meant by "non-unique variable"? If the rules had names or numbers, the proof could list for each triple-component NUVN,NLHS,EQN the rules where it is decreased. (By the way: the proof is a good example for proving based on a well-ordering, but not by "structural
1263:
Also, nitpicking, but the section on first-order unification is mistitled. It isn't unification for first-order logic that is being described, but first-order unification, a description of the terms themselves to be unified (first-order terms, as opposed to higher-order terms or nominal terms).
4478:
Regarding your other suggestions, they seem great. I've incorporated your additional suggestions almost exactly as you suggested. It seems like you're really getting the hang of writing in Knowledge's style, which is fantastic to see. Regarding the "Logic Representation" section, I don't see it
2253:
as a term. When talking about term algebras, both notions coincide; else (e.g. in RCF, you said), they may differ. I think, this point should also be explained in the article - maybe even Dershowitz and Jouannaud (who certainly have a clue about this particular issue) jumped to conclusions when
2001:
I suppose unification over Presburger arithmetic is decidable by a similar argument, as it reduces to decidability of existential Presburger formulas. In any case, the equational fragment of Presburger arithmetic is the theory of abelian groups with an additional free constant 1, so it would be
800:
We really ought to distinguish between syntactic unification (discussed here) and E-unification (not yet discussed). E-unification is really important in automated theorem proving. Syntactic unification (and matching) also has important applications aside from Prolog; in ML-style languages, for
3148:
Note that in the Paterson, Wegman paper there is a description of an otherwise unpublished algorithm due to Robinson, which is significantly easier to describe than the one in this article. That algorithm is almost linear, but might be more appropriate for a Knowledge article because of it's
4116:
suggest< a LISP style (not code) for the data structures; this is detrimental - exponential complexity - for the Robinson-type versions. PW & BS used similar structures to get their linear versions - but still not competitive on small sized arguments due to input and output overheads.
3769:- in stealth mode/ without any notification -- twice i believe" - This is the normal mode of editing on Knowledge, a section is added in one edit and then it is deleted in the next. This is the art of Knowledge - to not only make an edit, but to avoid having it reverted. 3032:
3) There is a section "Application: unification in logic programming"... you clearly are in too much of a hurry. I would say to calm down and find some time to understand the subject, before attempting to make "fixes". Certainly the article is not very good, but at least it has some usable
2257:
After having had a glance at sect.3.2.2 in Baader and Snyder, I think, this distinction of elementary / with-constants- / general E-unification (which is somewhat new and isn't adressed at all by Dershowitz.Jouannaud.1990) should also be mentioned in the article; perhaps illustrated with
4420:
De Champeaux (2022) is also of linear complexity while also competitive with the Robinson algorithm on small size inputs. The speedup is obtained by using an object-oriented version of the predicate calculus. This avoids the need for pre- and post-processing. Variable-:
2854:
rule, we should express something like "recurs on G only", i.e., overall, we should rewrite the procedure to make the recursive call explicit, and what we are returning/how we are building the return value. (And, in any case, building it "in place" is per se not satisfactory: we want a
4747:
And doesn't it produce a solution set? It seems quite appropriate to describe the process as solving. Indeed, reviewing equation solving the description is identical other than that "equation solving" is generally over the real numbers and limited to one equation.
1260:
to input terms results in two alpha-equivalent terms. The notion of mgu is defined by taking an ordering on substitutions, not on terms. The polynomial example is completely unclear, as whether or not these two polynomials even have a unifier depends entirely on how they are encoded.
3877:
Bizarre ... You admit being useless/ obnoxious/ authoritarian/ ...? Remember your purpose? Helping other people. I try. You two don't. I invited you two to IMPROVE my new section - coming soon. Nothing but wasting our time. How about you do some solid research instead. Start with:
1761:
p.p.s. I've casually noticed that associativity seems to make a striking difference in decidability, (i've noticed it here and there), but I don't really get why, so both details, and general remarks on why associativity (and commutativity) seems to tilt things around, would be nice.
4411:
de Champeaux (2022) is of linear complexity in the input size but is also competitive with the Robinson algorithm on small size inputs. Champeaux attributes the speedup to using object-oriented programming techniques to avoid preprocessing and construction of a DAG.
4373:
design/solution<< realm, concocted by Montanari. (And is not linear at all.) [ This reminds me about programmers that start coding instead of:: ascertaining what the purpose is, subsequently make a design, and validate that against the reqs, and only then start coding, etc. ]
2070:
decidable. Hence, given any set of Diophantine equations, it is possible to enumerate all possible substitutions, checking for each one whether it is a solution. This would "semidecide" the equation set. Maybe, some of the preceeding should be said in the article, as an additional
4427:
Alternatively this paragraph is shortened while the new section is added wbout logic representation - see above. Just consider, for example, the problem dealing with time/situation as in McCarthy situation calculus by adding a param to a term. Instead the term can be enriched :
2005:
I thus propose to ditch the three entries, and possibly replace them with abelian groups with additional constants as an example of decidable unification, and commutative rings as an example of semidecidable unification. (As for references, these are both mentioned on page 486 of
4033:
Vukmirović, already in the article. And an older comparison of first-order algorithms here. I wouldn't say any of them are "complete" in the sense in comparing every published algorithm. Such a comparison would be useful but I guess is too tedious for anyone to have done. :
2105:
As for RCF, it is far from true that unifiability in decidable theories is decidable. The decision algorithm for RCF cannot provide witnessing terms, because (constant) terms in RCF only denote integers, whereas existential quantifiers need to be witnessed by arbitrary algebraic
4546:
The Unification operation investigates whether two pc terms are equal or can be made equal through a substitution. For example unification of: P(a) and P(a) succeeds P(a) and Q(a) fails P(a) and P(b) fails P(a) and P(x) succeeds with the substitution x-:
3450:
I didn't remove it; rather, I moved the essence of it (in particular the reference) up to the start of the section talking about complexity (cf. my edit summary). There are literally thousands of papers about unification, so we can't devote an own subsection to each of them. An
1541:
is quite nice. I tried to improve the rules' layout, using table alignment. The rules should possibly be named or numbered to ease referring to a particular one. Maybe a link to an article about presenting algorithms in rule form ("separation of logic and control", mentioned in
1305:
Hi, i wrote some semntences for HO unification, but its more a stub than something else. Explaining HO unification in detail requires lots of technical knowledge, so even an example is very hard to give. If you like, i can add some more stuff, but i don't know, if it is useful.
341: 2881:. The rules just represent the "logic" part; adding an arbitrary "control" strategy will lead to a correct unification algorithm (provided the strategy is "fair", i.e. every applicable rule is eventually applied). This is the reason why no explicit recursion strategy is shown. 3692:"for example in the preprocessors for theorem provers that I wrote about 4 decades ago." - So then you write things? Are you in fact Dennis de Champeaux, as the d's and c's in your username might suggest? If so then it's a conflict-of-interest to cite your articles. Now per 3738:
I have rewritten the new section with the better title 'Infrastructure for linear versions'. This deals with linear unification having different algorithms that rely on different data structures. It is NOT specific for my DC algorithm. It will be added to the wiki soon.
1682:
Don't know what you mean by "binding". In practice, unification is done on pairs of terms; in principle, you can take its reflexive, transitive closure which would make it apply to entire theories. I'll try to modify article to say this. ... Note: Unification is done with
1068:
Why speak of unifying "A=B, B=abc"? This is simply confusing. It is better to speak of unifying "A,B,abc" or "A=B=abc". There is no reason to mix equal signs and commas like that, when they mean the same thing in this context. I'm changing it to use commas throughout.
4073:
Homework: What is the time ratio on a 1024 array for insertionsort/ mergesort? Homework: What algorithm to use when the array is 512M and memory is 700M? Homework: Can the empirical results differ from the theoretical complexity analysis when the same language is used?
2079:
is decidable, too; if the theory decision algorithm happens to provide a witness term for each proven existentially-quantified formula, then an answer substitution can be constructed from it. I admit, that it may still be a problem to get a complete and minimal solution
3927:
I have rewritten the new section with the better title 'Infrastructure for linear versions'. This deals with linear unification having different algorithms that rely on different data structures. It is NOT specific for my DC algorithm. It will be added to the wiki
2738:
I am not familiar with non-syntactical unification. I hope that the definition I introduced works also in such case. However I am unable to add a standard definition for a general case. It possibly should replace = by ≡ in σ = τη. But what is ≡ for substitutions?
4060:
Whether they are linear or exponential is a matter of analysis, and if you analyze them empirically you will come to different conclusions on different datasets (and if you analyze them theoretically you will reach a third set of conclusions).
4655:
Giving an example using Lisp function names does not imply that unification is just a Lisp issue. For these reasons, I'd still prefer the former version. If there are other, similarly popular, uninterpreted functions around (maybe nowadays in languages like
4483:
but perhaps a more focused article on representations used in implementations of logic provers could be written, perhaps with research on the representations AI models learn if more material is needed. I certainly have wondered about the implementation of
4022:
What makes you think that I am not willing to change an addition to the wiki if improvements/ critique is provided? Deletion of an addition is based on what authority? Who are you anyway? Are you helping other people? Have you published 500 page books?
1326:
I have started reworking the article, starting with the Introduction, removing all the technical jargon (we do not need to mention lattices in the introduction to a unification article). Any comments (in particular, any technical mistakes) are welcome.
3704: 4015:
I would say maybe to post it as a section on the talk page here (click "add topic" in the toolbar on the top), just because given your previous writing style it will probably get reverted if you add it unedited to the main page.
4260:
done the same, seeing as it is an unsourced section with quite different writing style from the rest of the page. That is just how Knowledge works - even the most finely crafted essay on quantum mechanics, if lacking sources, would get deleted as
3401:
Why was the new section 'Logic language representation' deleted? By whom? Why? It reports about a 2022 algorithm that improves the 1965 & 1978 versions AND introduces an OO version of predicate calculus --- allowing meta info to be added.
1791:
f(a,b) (with most general unifier {X<-b, Y<-a}). Similarly, if the background theory is {g(a)=b}, then g(X) and g(b) have equal instances (g(g(a)) and g(b), respectively), although the terms themselves are neither equal nor identical. --
4794:"The unification problem is most often stated in the following context: Given two terms of logic built up from function symbols, variables, and constants, is there a substitution of terms for variables that will make the two terms identical?" 4053:
Indeed the wiki is ordered along another dimension and ignores now the complexity (exponential vs linear) of the different fol versions. There is a treatment of the Robinson type fol version by Montanari. But not about the linear versions.
2406:
it would require listing all the equations above. (The undecidability of its unification problem also directly follows from undecidability of unification in commutative rings, since the two theories prove the same variable-free equations.)—
2074:
I don't have sufficient knowledge to follow your argument about undecidability of unification for real-closed fields (e.g. why are only integers admitted as ground unifiers). However, I think if the whole theory is decidable, then at least
3855:"only if it is relevant" clause), but also per WP:CITESPAM an academic author trying to persistently add a citation to their work without going through the proper processes is one of the most common reasons for banning people. 4203:
Certified low-level trivia garbage. Get out of the way. My linear unification algorithm relies on the availability of an object-oriented version of the predicate calculus (pc); and CANNOT be done effectively on a ... Turing-machine.
2999:
Sorry, I have just seen note 8: the thing is so poorly written and formatted that that portion goes off screen. It's a mess and very poorly written, it simply deserves a rewrite that is decently formal and not just that much handwaving.
1083:
Actually, I see why they are using equal signs. They are "unifying" a list of equations by separately unifying the terms that can be inferred to be equal in those equations. That is, whoever wrote those examples would say that unifying
4037:
Remember: the hyperbolic 'there are 1000 unification papers'? You don't show me ten papers about (fol) unification algorithms. You don't show me five papers about (fol) linear unification algorithms. Instead you refer to a paper about :
4046:
My paper is NOT about vanilla unification. It is about linear unification. I don't really see this distinction in the literature. All the algorithms for first-order unification are discussed equally.
3874:- You don't have to edit Knowledge... it is your choice to spend time here. Many people have left. There is a page Knowledge:Expert retention which discusses the fact that some (most?) experts get fed up pretty quickly. 153: 3933:
I would say maybe to post it as a section on the talk page here (click "add topic" in the toolbar on the top), just because given your previous writing style it will probably get reverted if you add it unedited to the main
1743:' instead. These are really not the same thing, and some space should be devoted to this, as this is a point of confusion. More generally, I have yet to see any article on WP that really deals with syntax vs. semantics -- 1418:
The algorithm is very fuzzy explained -- what do you think of the algorithm of Martelli Montanari (this is the one with the rules of decomposition, variable elimination, occurs check and symbol clash, hope i did not forget
4029:
Show me ten papers about unification with correctness proof, code on GitHub & comparison/ performance tests against 3 competitors. There is the efficient higher-order unification paper by
4134:
and providing architectures with mini-ontologies, subconcepts, inheritance, encapsulation, etc. {Hoare logic breaks with the raw-wild-west semantics of pointer assignment. Encapsulation geofences the side-effects.} ]]
2723:
I am going to at least introduce a simple correction, replacing for "each variable x" by "for each term". (This is easier than introducing substitution composition.) Hope this does not introduce any new hidden error :)
3292:
You use the disjoint set union algorithm to maintain knowledge of equivalence. Actually way back when, I was taught the disjoint set union algorithm under the name "equivalence algorithm", so that's very natural.
4548:
a The operation terminates in fol with a unique 'best' substitution or with the conclusion that unification fails. Higher order logic unification can also fail or can produce one or more than one unifier.
1720:
I tried to carefully distinguish between "equal" and "identical" in the article: syntactic unification is about identity, not equality. If there are no equations, there cannot be any equalities, only identities.
4177:] 2nd Ref already available:: Baader, F. & W.Snyder, Unification theory, Chapter 8 in HANDBOOK OF AUTOMATED REASONING, Edited by Alan Robinson and Andrei Voronkov, Elsevier Science Publishers B.V., 2001. 2098:
The main problem with the “Diophantine equations” line is that saying that E-unification for Diophantine equations is semidecidable makes as much sense as saying that E-unification for apples is semidecidable.
1354:, which seems to want to cover unification in nominal equational logic. Before we get to the latest research topic (which you seem to be involved with), please write some more basic stuff missing. I wrote the 2592:
n. Given a type class instance Num Char, «1:» can be correctly inferred to have type . Therefore, I suggest to use another example here, like «1 : ('a', 'b')» which will fail to unify types and (b, c). --
3455:
certainly doesn't belong to this article. BTW: I doubt that Robinson's algorithm is faster than e.g. Martelli's and Montanari's, even for small terms, but nevertheless, I kept that claim of Champeaux. -
2237:
terms over 0,s,p,+,-,*, factorized by the congruence (say, E) induced by the TRS, is obviously isomorphic to ℤ. On the other hand, a unification oracle wrt. this E would return substitutions mapping to
1990:, and it has a ground unifier if and only if it has an integer solution. Thus unification over RCF (or for that matter, over any simple extension of the theory of commutative rings that does not prove 3753:
A purpose of life is: help other people. Knowledge is a great example but is vulnerable due to sociopaths. Its solution is using unpaid, unvetted volunteers, who create other problems. Here goes:
2040:
On the brighter side, many other theories have decidable unification problems, including Presburger arithmetic (Presburger , Shostak ), real closed fields (Tarski , Collins ) and monoids (Makanin ).
3603:(10) If you think that you can capture my content better how about you rewrite my section and put it somewhere. Otherwise please restore my section. Please notify me at: temp AT ontooo DOT com 3014:
1) Actually it was you, the first hit for "separation logic" is your comment of 14:56, 3 July 2023 (UTC). Jochen was discussing separation of logic and control, which is completely different from
2955:
formalism rather than a relational one - it's the same process of (nondeterministically) applying rules until no more rules are applicable. And of course one you prove the final result is unique (
3199:
I have included your STOC reference, and adapted the historical remarks. Since I don't have access to any of the Paterson,Wegmann papers, I can't check their description of Robinson's algorithm.
4000:" "Bizarre ... You admit being useless/ obnoxious/ authoritarian/ ...? Remember your purpose? Helping other people." "www.ontooo.com/AIAssessment2.pdf which I presented Feb 1 at ACDSA." : --> 365: 1909:
language, any unifiable set of equations has a ground unifier. Since every term is a polynomial with integer coefficients, any set of equations is equivalent to a set of polynomial equations
4200:
Factors such as programming language, programming style, input size, and whether the equations are unifiable or non-unifiable can affect the performance of a unification algorithm.
651: 2591:
This may sound a bit nit-picking, but the expression «1:» is not necessarily ill-typed. Number literals are overloaded in Haskell, so «1» isn't of type Int but actually of type Num n =: -->
4682:
I think the most common place people will encounter unification is Haskell or Prolog (I say Haskell but also include strict FP languages like Ocaml). The example is a Prolog example, from
4264:. I guess you find this unacceptable, like many experts who have attempted to edit Knowledge, but it is also one of Knowledge's core policies and I don't think it is changing anytime soon. 4070:
mergesort: time NlogN, space 2N insertionsort: time N**2, space N quicksort 1: worst time N**2, space N (average NlogN) quicksort 2: time NlogN, space N
1366:
article is still lacks major topics, including term rewriting and unification. You seem very into lambda-calculus stuff, but please (re)write this from a more general perspective. Thanks,
4689:
With Haskell, there is plenty of unification going on in H-M, but it is a bit complex to make the unification visible - it generally only shows up when something goes wrong. For example,
2064:
Of course, E-unifiability is semidecidable for recursively-enumerable E. ... 'British-museum' method of interleaving the production of substitutions with the search for equational proofs.
4194:
of applications became possible. Unix relied on functional code, GUIs relied on OO. As mentioned earlier: there is a feedback loop between applications and better languages/ metaphors.
4127:
I had one sentence about MY paper while I pointed out in the new section that richer languages have been used and are likely relevant also for other logic operations.
3913:" "Bizarre ... You admit being useless/ obnoxious/ authoritarian/ ...? Remember your purpose? Helping other people." "www.ontooo.com/AIAssessment2.pdf which I presented Feb 1 at ACDSA." 3349: 505: 2113:
No offence, but despite your expertise in other unification topics, none of the above persuades me that you have a clue about this particular issue, so I’ll go ahead with the changes.—
1849:", where unification of terms (rather than sentences) is explained, since I don't see anything particular to logical sentences here. Instead, the main contents is the explanation of " 147: 4358:
In logic and computer science, unification is an algorithmic process of solving equations between symbolic expressions, each of the form Left-hand side = Right-hand side.
3948:. I wouldn't say any of them are "complete" in the sense in comparing every published algorithm. Such a comparison would be useful but I guess is too tedious for anyone to have done. 44: 4422:
objects< become responsibility for creating a substitution and for dealing with aliasing. He claims that the ability to add functionality to predicate calculus : -->
2494: 1185: 3858:
Outrageous. Did you read my article? Did you see a self reference? I recommend, based on your persona - as shown, that you join law enforcement; you would likely thrive there.
1988: 977: 3970:
pointers instead of a hash table. In Java, the only way to use pointers is to make a class and instantiate an object of that class, but this is not the case in other languages.
1951: 422: 360: 1735:
And, as I read the above, I see that I misused the word "theory". Sigh.. my bad. However, this comes back to Diego Moya's initial point: for syntactic unification, we use '
4805:
The interpretation of unification as equation solving, which is the way unification is defined in this article, does not come up in Knight's 32-page survey until page 21.
2774:
The eliminate step in the algorithm seems wrong. I would suspect it to drop an element from the set in the right-hand side. This definition seems to loop. Anyone agrees?
2588:
and for the first argument "1" the polymorphic type variable "a" has to denote the type Int whereas "" is of type , but "a" cannot be both Char and Int at the same time.»
3809:- "we" is the community of Knowledge editors. You can see from this table that simply by having made more than 10 edits, you are in the top 5% of Knowledge users. 4953: 293: 283: 4537:
Again the 1st paragraph is TERRIBLE. Referring to solving equations is wrong; that is a metaphor used by Montanari to sketch a (lousy) design. Also using the notation:
3668:"'An OO version of predicate calculus certainly doesn't belong to this article.' Fatal ex-cathedra assertion." Well Knowledge does have pillars: in particular there is 3700:
an academic author trying to persistently add a citation to their work without going through the proper processes is one of the most common reasons for banning people.
3662: 4754:
Meanwhile, saying "pc terms" ("predicate calculus" terms as used in first-order logic?) is misleading as not all unification problems are first-order logic.
3964:
I had one sentence about MY paper while I pointed out in the new section that richer languages have been used and are likely relevant also for other logic operations.
2925:
to discuss at that level, but you say << ule "eliminate" is applicable only if the equation set contains "x=t" and some other occurrence of x outside of t : -->
2451:
Indeed, \textcolor and \leadsto are not supported by the default TeX rendering engine. They are supported by MathJax, which is probably why it went unnoticed so far.—
1596: 1572: 4570:
You say "referring to solving equations is wrong", but I'm not clear on how it is wrong. Doesn't unification start with a set of equations? And doesn't it produce a
4555:--- Take your ear-plugs out and listen to uncle Dennis who consulted for Fortune 500 companies to prevent them not doing their SW requirements homework thoroughly. 2433:
Failed to parse (unknown function '\textcolor'): \{ \textcolor{red}{y \stackrel{?}{=} nil}, \; a.v_3 \stackrel{?}{=} v_4, \; app(v_3,v_4) \stackrel{?}{=} a.nil \}
1861:". I also suggest not to define simultaneous unification of more than two terms formally, i.e., to simplify the explications about a set L of sentences/terms to. 4958: 1205: 2934:
specification, not a relational/equational one: all the more so in the context of a/any article whose focus is not per se logic programming or equational logic.
1872:" without agreement. An alternative could be to keep it, but to elaborate on the differences between unification of terms and sentences, making connections to 821:
I have added some more general statements to the article, and corrected some typos. These generalities should lend credence to keeping it as its own topic.
3789:
Hyperbolic, which weakens your stance" - This was actually not hyperbolic, see Google Scholar which says there are hundreds of thousands of papers,
259: 4968: 4948: 4207:
You get it now? Plus I argue that an enhanced pc that supports meta annotations most likely facilitates future logic reasoning and planning algorithms.
2951:
All the unification algorithms I've read are formulated similarly to the example algorithm, as a series of rules. I would argue the rules are based on a
2907:
If that doesn't convince you, try to make up a counter example, i.e. a unification problem and a sequence of rule applications that doesn't terminate. -
2062:
Concerning the source on Diophantine equations, I inferred the claim about semidecidability from the quote from Dershowitz.Jouannaud.1990, again p.282: "
641: 467: 79: 4405:... is slower than the Robinson version on small sized input due to the overhead of preprocessing the inputs and postprocessing of the output. 4973: 4479:
fitting in this article as this article is mainly about the concepts of unification rather than their implementation. There is an existing article on
1739:' to describe what's going on. But soon as one goes over to equational theories, or talks about satisfiability, and esp boolean sat, we use the word ' 1613:. If a potential eqn is generated several times, won't it be sufficient to solve it just once? That is, wouldn't the alg. work also with ordinary 3703:"I am 82 and dismayed that I need to spend time on you." - You don't have to edit Knowledge... it is your choice to spend time here. Many people 2948:
Regarding the eliminate rule, Jochen added a note 8 on eliminate which points out that x must appear in G, i.e. outside t. So yes, you missed it.
1415:
As mentioned by others below, first order syntax seems better to me than prolog syntax. Also the notion of unification problem should be present.
441: 2586:
The example in the article says «The Haskell expression 1: is not correctly typed, because the list construction function ":" is of type a-: -->
1290:
From reading the article I have *no* idea what higher-order unification is. DPMulligan has the right idea; this article definitely needs work!
4480: 3944:
There is the efficient higher-order unification paper by Vukmirović, already in the article. And an older comparison of first-order algorithms
2035:
Concerning the sources, here is a literal quote from Dershowitz.Jouannaud.1990 (see section "References"), p.282, sect. "Semantic unification":
1650:
e.g. Jörg H. Siekmann, Universal Unification, Proc. 7th Int. Conf. on Automated Deduction, Springer LNCS vol. 170, p.1-42, 1984 gives a catalog
617: 306: 250: 227: 3812:
Doubling down yet again. This is fatal. As an unvetted volunteer you can not assume a 'WE' authority stance. You are entitled only to ': -->
2967:
you are unifying a pattern with a closed term. That has some applications in higher-order term rewriting. But it's kind of a specialized use.
1490: 4963: 4769:
I am not sure though about going into detail with multiple different examples in the lead - that seems more suitable for a section.
3654:" 'There are literally thousands of papers about unification' Hyperbolic, which weakens your stance" - This was actually not hyperbolic, see 2258:
Burckert.1989's example of elementary unification being decidable, but unification with constants being undecidable (p.533-534 in his paper):
1034: 530: 85: 3680:
then it is hard to justify giving it more space in the article than a sentence, when there are so many highly-cited articles on unification.
2437: 168: 4006:<<< This is all very interesting but as it is out of scope of the article content I have replied on your talk page. : --> 3229:
which we corrected eventually (a test was placed in the wrong place in the algorithm, which effected correctness :-( but not performance).
1116:, actually performing two separate unifications. However, I think that this syntactic sugar is unnecessary for an introductory article. 135: 4627:
example, its solution is not obvious at first glance, so it gives an impression that unification might not be a trivial problem. As for
4144:(B) Please add my linear unification paper (#15 in the references) to the 'Unification algorithms' section after 'Baader-Snyder' of (A) 2548: 2522: 1014: 413: 4763:
I guess you are right though about unification not being associated with Lisp, I have replaced it with a Prolog-based example.
3939:
Show me ten papers about unification with correctness proof, code on GitHub & comparison/ performance tests against 3 competitors.
3371:
Request to replace the inline reference to an entry in the Reference section -- it is far beyond my abilities. Thanks. February 2024
3345: 3329: 2781: 1388: 1240: 1214: 828: 2850:
have to be considered "resolved"/have to be dropped from G, otherwise indeed all we get is infinite recursion: alternatively, in the
2796:
Your argument is tempting, but wrong. The algorithm is given in a form where the solution substitution is accumulated within the set
1507:
1.1.1. purely syntactically, i.e. wrt. an empty equational background theory - most existing stuff from the current article goes here
4834: 608: 569: 394: 4333:
The more recent addition is more manageable. I did expand it a little with some lines from the paper ("competitive", avoids DAGs).
2927:, which even makes sense, indeed closes the alleged "circle", but, unless I have missed it, the article does not say that anywhere. 2541:"Applying that substitution to a term t is written in postfix notation as t {x1 ↦ t1, ..., xk ↦ tk}". This is infix, not postfix. 3505:
Yes you removed a carefully crafted section - in vandalism fashion - in stealth mode/ without any notification -- twice i believe
4733:
No. That is just a metaphor. Unification is left-to-right traversal over the pair and decide failure or construct substitutions.
3164: 1518:
wrt. equational constraints) and particular equational background theories, which is currently only mentioned, but not explained
1351: 900: 4578:
the description is identical other than that "equation solving" is generally over the real numbers and limited to one equation.
2956: 1471: 486: 99: 30: 4187:[ My paper contains a reference to my GitHub unification repos, which has an implementation of a 'fat' predicate calculus. ] 1485:
1. Unification in general - Defn.: trying to solve a system of equations - Common notions (substitution etc.) - Applications:
129: 4296: 3112:
was already present before rule application (see the rule's left-hand side). So, if it contains the only occurrences of some
3022: 1603: 1599: 1575: 1551: 1547: 1538: 808:
I agree. This means that the dominance of Prolog should somehow be removed from the article. The right context to mention is
685: 104: 24: 20: 3390: 2930:
That said, on a more general note and FWIW, I'd contend that the most generic and readable expression of an algorithm is a
3677: 853: 74: 3029:
that first-order unification being terminating and confluent is a nice property but not really that important to discuss.
1835:
of two terms (or sentences) p and q, the notion "UNIFY(p,q)" made no sense; since it wasn't used elsewhere, I deleted it.
125: 3685:
believe< that it can be a 'game-changer'" - and do you have sources for this? Independent of the original article (
3341: 1511: 1370: 760: 451: 332: 202: 2084:
general and/or in particular theories, as well as unification in modal theories (I wasn't aware of the latter at all).
2018:
It might be also worthwhile to include some examples from modal logic, such as transitive modal algebras (decidable), K
4463: 4248: 3637: 3417: 3386: 2846:: namely, what you say may make sense but then a base case seems to be missing, to say that all equations of the form 2758: 461: 375: 65: 4197:
And what has been added to this wiki by an unvetted, overconfident volunteer (in response to what I want to add)??:
4170:
predicate calculus provides likely opportunities for other unification versions and for other deductive operations.
3063:
mod. renaming. So there can't be two essentially different outcomes of the algorithm, hence it must be confluent. -
1407:
Hi, i don't have much time to rewrite the article at the moment, but would ask you to give me feedback on my ideas:
175: 4930: 4673: 4304: 3708: 3461: 3212: 3180: 3128: 3068: 2912: 2833: 2571: 2563:(I moved the preceding remark from page top to here and added a section heading, in order to improve traceability.) 2392: 2089: 2050: 1998:) is equivalent to solvability of integer polynomial (i.e., Diophantine) equations, and as such it is undecidable. 1881: 1630: 1528: 812:; note that Prolog uses just a particular form of resolution. Higher-order unification should also be mentioned. -- 496: 258:
related articles on Knowledge. If you would like to participate, please visit the project page, where you can join
4810: 1355: 523: 4489: 4067:
Sorry, this does not make any sense. Doubt that you have a grip on computational complexity. Here an analogy:
1455:
I've done some work, introducing the idea of potential equatio, ans a nice mult-set based unifation algorithm.
4699: 4594: 4519: 4501: 4338: 4322: 4275: 3975: 3718: 3038: 2972: 2059:(In the preceeding quote, I replaced Dershowitz+Jouannaud reference numbers by the article's footnote numbers.) 1796: 1711: 1038: 2441: 2720:
In particular, {x/y} is not more general than {x/a} (Example 2.7, K.Apt "From logic programming to Prolog").
2552: 2526: 1018: 4493: 3433: 2245:
As for real closed fields, I see your point now: a formula "∃x: s=t" may be satisfied by a value for x that
1392: 1367: 1295: 1244: 1218: 832: 109: 3053: 3005: 2990: 2939: 2864: 1482:
I agree the topics should not be mixed in the current way. What do you think about the following structure?
1033:
What about the Most General Unifier? This article even redirects here, but the page does not mention it --
737: 4872: 4660:? Or in any other application area, not only in programming?), I have no objection to use them instead of 4446: 3313: 3298: 3160: 2960: 2785: 1740: 896: 809: 756: 141: 4313:
For accessing the paper, I found a Github link which is in the references. It is also available from the
1701:
Unification can refer to syntactic unification, i.e. finding a substitution that makes both terms equal,
1467: 4926: 4831: 4683: 4669: 4300: 3457: 3429: 3208: 3176: 3124: 3064: 2908: 2829: 2567: 2388: 2085: 2046: 1877: 1626: 1524: 870:
and referenced, I think. The Prolog page doesn't deal with it sufficiently on its own, and it matters.
432: 208: 2466: 1157: 871: 594: 4824: 4267:
Regarding "unification is an algorithm", there are various sources which define it as a process, e.g.
4173:
Refs::: [de Champeaux, D. Faster Linear Unification Algorithm. J. Autom Reasoning 66, 845–860 (2022);
2598: 1956: 949: 4806: 4451: 4236: 3918:
This is all very interesting but as it is out of scope of the article content I have replied on your
3625: 3405: 3374: 3352:
until a consensus is reached, and readers of this page are welcome to contribute to the discussion.
3152: 2777: 2746: 2544: 2518: 2463:
Fixed. Another problem with the default rendering is that spacing is wrong (viz. missing) around the
1736: 1672: 1622: 1459: 1384: 1332: 1276: 1236: 1210: 1142: 1010: 892: 888: 824: 789: 770: 764: 681: 4857: 4124:
There is a feedback loop between better languages and better applications. That is the reason for:
3749:
Please remove. I cover this in my new section. Also you not entitled to make that fuzzy assertion.
2900:. After it has been applied, the latter condition is false, so the rule is no longer applicable (on 1912: 190: 4876: 4695: 4590: 4515: 4497: 4334: 4318: 4271: 3971: 3714: 3686: 3034: 2968: 1792: 1707: 1428:
is the most prominent example, with prolog as a resolution based programming language as an example
1117: 1070: 992: 161: 55: 4639:
are what we call uninterpreted functions, without the need to be familiar with the latter notion.
3696:
it is allowed within reason (particularly note the "only if it is relevant" clause), but also per
1498: 1342:
Yeah, this article sucks. But before diving into it, perhaps its prerequisites should be written.
987:
true. What?? Is the example wrong or is the article leaving out a crucial piece of information? --
782:
unification algorithm which checks for this case and makes it fail is called the "occurs check".)
616:
on Knowledge. If you would like to participate, please visit the project page, where you can join
4914: 4889: 3994:
an unvetted volunteer you can not assume a 'WE' authority stance. You are entitled only to ': -->
3697: 3693: 3441: 3357: 3175:
Thanks for the STOC reference; I'll insert it when I have more time. For now, I just see the . -
2594: 1873: 1515: 1486: 1425: 1291: 1121: 1074: 1053: 600: 70: 4908: 4734: 4556: 4455: 4390:... (which I still don't fully understand from your article and discussion contributions; ... 4366:
Are two logic terms equal, can they be made equal through a substition or are they unequal?
4286: 4268: 4240: 4178: 3896: 3629: 3409: 3378: 2066:" I think, checking equality of ground instance of polynomial expressions over integers is even 584: 563: 4724:
You say "referring to solving equations is wrong", but I'm not clear on how it is wrong.
4582: 4485: 4040:
higher-order unification<<. These algorithms are totally different from fol algorithms.
3098: 2878: 1445: 1311: 351: 51: 801:
instance. Perhaps some discussion of the problem of coverage analysis would also be useful?--
4934: 4881: 4837: 4828: 4814: 4742: 4703: 4677: 4598: 4575: 4564: 4523: 4505: 4467: 4342: 4326: 4308: 4279: 4252: 3979: 3722: 3641: 3465: 3445: 3421: 3361: 3317: 3302: 3216: 3184: 3168: 3132: 3102: 3072: 3057: 3049: 3042: 3015: 3009: 3001: 2994: 2986: 2976: 2943: 2935: 2916: 2868: 2860: 2837: 2789: 2762: 2733: 2602: 2575: 2556: 2530: 2504: 2458: 2445: 2413: 2396: 2120: 2093: 2054: 2029: 2013: 1903: 1885: 1812: 1800: 1771: 1756: 1730: 1715: 1696: 1676: 1634: 1532: 1475: 1449: 1396: 1375: 1359: 1347: 1336: 1315: 1299: 1280: 1248: 1222: 1146: 1125: 1078: 1057: 1042: 1022: 996: 904: 874: 856: 836: 816: 793: 774: 403: 255: 4417:
programming technique<. It relies on a different (OO) representation of the pc. Hence::
4738: 4560: 4459: 4244: 3919: 3814:
I<< believe that XYZ'. Just consider the connection between authority and fascism:
3673: 3633: 3413: 3382: 3309: 3294: 3274:
An equivalence relation on the nodes of a dag is valid if it has the following properties:
3202: 3156: 2754: 2729: 2501: 2455: 2436:
I think this is related to LaTex. You can delete this section if I've made a mistake :)
2410: 2117: 2026: 2010: 1900: 1767: 1752: 1726: 1692: 1668: 1581: 1557: 1328: 1272: 1136: 3996:
I<< believe that XYZ'. Just consider the connection between authority and fascism:
3909:
I<< believe that XYZ'. Just consider the connection between authority and fascism:
3655: 3547:(cf. my edit summary). Yes you did because you did not appreciate the section added. 1381:
The article is good on syntactic unification but unclear on other forms of unification.
3665:
that simply by having made more than 10 edits, you are in the top 5% of Knowledge users.
3648:
Dear Ddccc, thank you for your contributions. I will go through and answer your points:
1841:
The notion of applying a substitution to a set of sentences still remains to be defined.
4511: 4433:[[ BTW The PW version is NOT using the Union-Find algorithm -- quite remarkable ... ]] 3669: 2254:
claiming a decidable unification problem (rather than only a decidable theory) for RCF?
1808: 1664: 1494: 1463: 1343: 988: 477: 319: 3289:(iii) the equivalence classesmay be partially ordered by the partial order on the dag. 1190: 342:
Requested articles/Applied arts and sciences/Computer science, computing, and Internet
4942: 4381:
Higher order logic unification can also fail or can produce more than one unifier.
3437: 3353: 3350:
Knowledge:Redirects for discussion/Log/2022 September 19#Narrowing (computer science)
3283:(ii) each equivalence class is homogeneous,that is it does not contain two nodes with 2959:), then the rewriting system defines a function. Rewriting is a natural extension of 1049: 802: 4892: 3253:
r$ '$ $ \equiv$ s$ '$ unknown for a pair of corresponding sons r $ '$ , s$ '$ ):
4574:? It seems quite appropriate to describe the process as solving. Indeed, reviewing 4571: 4261: 3232:
Here's a latex version of Robinson's faster algorithm. It's time is $ n\alpha(n)$
3094: 2249:
as a term, while a solution of the unification problem "s=t" can only be something
1684: 1441: 1307: 3277:(i) if two function nodes are equivalent then their corresponding sons are equiva- 2384:, ..." amounts to DA-unification, "... and hence unification will be undecidable." 1827:
I made some changes in section "Definition of unification for first-order logic":
1048:
I have now tried to add the definition of MGU to the article. Hope this is helps.
724:
Discuss higher-order unification and various kinds of non-first-order unification.
4115:
The fol algorithms in the wiki were developed pre OO and their descriptions : -->
3498:(1) Thx for adding my paper the reference section. (2) I didn't remove it; 2402:
pointing out, but I’d leave out the counterexample, a reference should be enough.
4363:
purpose< is of unification; for example a special case of pattern matching:
3591:
representation< of the logic language makes a key difference - and I : -->
2742:
So a competent look of someone familiar with general unification is necessary.
2368:"In this theory every unification problem is trivially solvable by substituting 813: 783: 613: 3225: 3145: 1546:) should be added. Some notation needs to be unified: "no solution" in section 4514:, each talk page is intended for discussion only of its accompanying article. 4112:
the same from a pragmatic perspect? Why do you select a particular language?
3661:"Who is 'we'?" - "we" is the community of Knowledge editors. You can see from 2750: 2725: 2498: 2452: 2407: 2114: 2023: 2007: 1897: 1763: 1748: 1722: 1688: 1133: 590: 4619:, we need an uninterpreted function of arity ≥2. Due to the 2 occurrences of 4174: 3711:
which discusses the fact that some (most?) experts get fed up pretty quickly.
3684:
representation< of the logic language makes a key difference - and I : -->
3617: 3144:
from May of 1976 paper that was almost the same as the journal version. See
4543:
is crazy. We are not doing LISP here. Here a 2nd alternative: <<<
2952: 2430:
It might be my browser, but I seem to get a lot of error messages? Example:
1744: 1543: 1363: 384: 4362:
This is all seriously WRONG. The 1st sentence should convey what the : -->
3953:
My paper is NOT about vanilla unification. It is about linear unification.
3746:
According to Champeaux, Robinson's algorithm is faster on small inputs.
242: 221: 4098:
The timings of the linear versions are proportional to the Size argument.
3945: 3838:
papers from 40, 30, 20 years ago and from recent papers about quicksort.}
3589:
to this article. Fatal ex-cathedra assertion. Unification is : -->
3259:
Test the relation `$ \equiv$ ' for conditions (ii) and (iii) of validity.
4225:
In logic and computer science, unification is an algorithmic process ...
4885: 4314: 3336: 2828:). I'll add a corresponding note to the article; thanks for the hint. - 2816:
rule isn't applicable more than once, since after its first application
1362:
one a while back, but don't have much time to contribute lately, so the
4917:
in your discussion style, and avoid personal attacks and phrases like "
4657: 4585:?) is misleading as not all unification problems are first-order logic. 3554:(6) There are literally thousands of papers about unification, so 4228:
is already wrong. It is not a process. Unification is an algorithm.
3959:
analyze them theoretically you will reach a third set of conclusions).
3590:
functional< code. It turns out that an OO approach to the : -->
3582:(8) An OO version of predicate calculus certainly doesn't belong 4684:
https://www.dai.ed.ac.uk/groups/ssp/bookpages/quickprolog/node12.html
1132:
syntactic conventions of a specific language, your change is fine. —
867: 4581:
Meanwhile, saying "pc terms" ("predicate calculus" terms as used in
4424:
objects<< provides opportunities for other logic operations.
3793:
against 3 competitors. FOLLOW UP instead of shouting in the void.
3540:(5) up to the start of the section talking about complexity 2884:
Rule "eliminate" is applicable only if the equation set contains "
2110:
something about it later, but I don’t have the time at the moment.
3825:"'An OO version of predicate calculus certainly doesn't belong to 4615:
be understandable without much explanation. In order to achieve
3610:
Here is my section: <<< Logic language representation
3568:(7) we can't devote an own subsection to each of them. 1838:
The notion of a unifier of a set of sentences had to be defined.
4399:... is slower than the Robinson version on small sized inputs. 3761:"you removed a carefully crafted section - in vandalism fashion 3340:
An editor has identified a potential problem with the redirect
2045:
Concerning your arguments, I'll try later to understand them.
667: 460:
Find pictures for the biographies of computer scientists (see
184: 15: 4717:
For Mr Jochen Burghardt & Mathnerd314159 ako Karen Oliver
4533:
For Mr Jochen Burghardt & Mathnerd314159 ako Karen Oliver
4351:
For Mr Jochen Burghardt & Mathnerd314159 ako Karen Oliver
4293:
implementations of unsorted syntactic first-order unification
4291:
Your recent addition might be acceptable in an article about
4214:
For Mr Jochen Burghardt & Mathnerd314159 ako Karen Oliver
4179:
https://www.cs.bu.edu/fac/snyder/publications/UnifChapter.pdf
3781:" 'There are literally thousands of papers about unification' 3731:
For Mr Jochen Burghardt & Mathnerd314159 ako Karen Oliver
2981:
You guys are amazing: 1) it wasn't me who started talking of
2372:
for each variable, since then all terms will become equal to
1606:- maybe some explanations at appropriate places will suffice. 847:
I've no luck finding a page on this kind of unification that
4076:
Quicksort is the fastest but the quicksort wiki is f-ked-up.
3846:"for example in the preprocessors for theorem provers that I 2380:, a subset of the terms, where the third argument is always 1621:
induction" - both notions seem still to be confused e.g. in
3600:(9) I am 82 and dismayed that I need to spend time on you. 2842:
I too am very perplexed by that, indeed that specification
4766:
Even worse. Prolog delenda est. Give up - go away please.
4757:
pc stands for predicate calculus, which can be any order.
4429:
as an object< by a time/situation attribute. Etc. ...
3116:, they also were present before, and hence cannot prevent 2515:
Note 4 has gone wrong. I do not know how to correct it.
4156:'Examples of syntactic unification of first-order terms' 1845:
I now think that this section should be integrated into "
1521:
1.2. Unification of lambda-terms, i.e. higher-order unif.
4631:: for everybody who has heard of Lisp, it is clear that 4393:
Self knowledge is the best. Excellent! Thank you!! ---
3866:"I am 82 and dismayed that I need to spend time on you." 4080:
Robinson time performance on arguments of size 15-18::
3997: 3910: 3815: 3238:
Comment: tests the pair of nodes u, v for unifiability.
1233:
click this link for car because it is a part of a car
911: 709: 703: 697: 691: 2808:
has still to appear on the rule's rhs. For a variable
1552:
Examples_of_syntactic_unification_of_first-order_terms
160: 4443:
Please apply your expertise to fix this DISASTER. ]]
3658:
which says there are hundreds of thousands of papers,
2844:
cannot be translated straight to a recursive function
2469: 1959: 1915: 1584: 1560: 1193: 1160: 952: 4730:Doesn't unification start with a set of equations? 3735:
No idea why I have to deal now with two volunteers.
843:
link to non-compsci logic unification would be dandy
612:, a collaborative effort to improve the coverage of 254:, a collaborative effort to improve the coverage of 3023:
Unification_(computer_science)#Proof_of_termination
2608:
erroneous definition of "more special substitution"
1271:If I get time, I plan to rework this article soon. 738:
difference between pattern-matching and unification
4825:(Mar 1989) Unification: A Multidisciplinary Survey 4210:Do NOT dare damaging my subsequent additions. Ugh 4162:<<< Infrastructure for (linear) versions 3990:Dear KO, Thx for removing the floating assertion. 2488: 1982: 1945: 1866:Syntactic unification problem on first-order terms 1859:Syntactic unification problem on first-order terms 1847:Syntactic unification problem on first-order terms 1600:Syntactic_unification_problem_on_first-order_terms 1590: 1566: 1548:Syntactic_unification_problem_on_first-order_terms 1199: 1179: 971: 366:Computer science articles needing expert attention 4009:Sorry, you may have time on your hand. I don't. 3367:Added the section 'Logic language representation' 3021:2) There is a sketch of the termination proof in 1617:(a notion which needs no additional explanation)? 3834:many highly- cited articles on unification. 2904:). Therefore, no infinite recursion is possible. 862:Move unification in Prolog to the prolog article 33:for general discussion of the article's subject. 4510:Oh, and regarding quicksort, that should go on 3962: 3951: 3937: 3925: 3905: 3207:maybe, you can publish the description here? - 2612:This statement from the current text is wrong: 2376:. However, if we introduce a new free constant 1870:Definition of unification for first-order logic 1821:Definition of unification for first-order logic 4607:illustrate first-order syntactic unification, 3683:"It turns out that an OO approach to the : --> 506:WikiProject Computer science/Unreferenced BLPs 4147:(C) Here the text for the new section after: 3575:Who is 'we'? Sorry - you weaken even further 3519:that is your value statement - but not mine 2387:Btw: Thanks for fixing the MathJax Problems! 2101:What equational theory are you talking about? 1255:Introduction: non-standard notion of unifier? 174: 8: 4641:(I guess, everybody who knows the notion of 4159:PLease propose improvements as you see fit. 3366: 3226:https://doi.org/10.1016/0022-0000(78)90043-0 3146:https://dl.acm.org/doi/10.1145/800113.803646 1609:I don't understand why the algorithms needs 4355:Not done yet. Regarding the 1st sentence:: 3512:(3) rather, I moved the essence of it 3262:If `$ \equiv$ ' valid : print (`UNIFIABLE') 1868:" accordingly, but I don't dare to delete " 1706:major example with practical relevance). -- 1346:has no article basically, and neither does 423:Computer science articles without infoboxes 361:Computer science articles needing attention 4449: 4234: 4175:https://doi.org/10.1007/s10817-022-09635-1 3890:Go ahead ... do something useful instead. 3676:. If there is only one article and it has 3623: 3618:https://doi.org/10.1007/s10817-022-09635-1 3403: 3372: 2775: 1510:1.1.2. "semantically", i.e. wrt. general ( 558: 327:Here are some tasks awaiting attention: 301: 216: 4875: 4858:"Unification: A Multidisciplinary Survey" 3328:"Narrowing (computer science)" listed at 3250:with r $ \equiv$ s but with the relation 2478: 2473: 2471: 2470: 2468: 1967: 1966: 1958: 1923: 1922: 1914: 1583: 1559: 1192: 1169: 1164: 1162: 1161: 1159: 962: 951: 4954:Mid-importance Computer science articles 1747:could almost do that, but it doesn't... 1154:It is better to use potential equations 4848: 2717:of theta with some substitution eta). 1643: 1403:Suggestions for a rework of the article 910:I also find the polynomial example (in 866:The bit on prolog ought to be moved to 560: 218: 188: 4922: 4918: 4481:Knowledge representation and reasoning 4075: 3561:Hyperbolic, which weakens your stance 3526:(4) (in particular the reference) 3452: 1434:Type inference in functional languages 1422:The applications could be redesigned: 268:Knowledge:WikiProject Computer science 4959:WikiProject Computer science articles 4540:{ cons(x,cons(x,nil)) = cons(2,y) } 1857:", which could better be shifted to " 1831:Since there is usually more than one 271:Template:WikiProject Computer science 7: 4823:I found this link to Kevin Knight 3265:else print (`UNUNIFIABLE') and halt. 3247:While (there is a pair of nodes r, s 1286:Higher-Order Unification needs help! 606:This article is within the scope of 248:This article is within the scope of 2879:Logic_programming#Logic_and_control 755:Should this page be renamed, e.g., 207:It is of interest to the following 23:for discussing improvements to the 3884:which I presented Feb 1 at ACDSA. 2489:{\displaystyle {\stackrel {?}{=}}} 1623:Structural_induction#Well-ordering 1585: 1561: 1504:1.1. Unification of ordinary terms 1180:{\displaystyle {\stackrel {?}{=}}} 1064:Why use equations in the examples? 761:Unification (Computer Programming) 442:Timeline of computing 2020–present 14: 4969:Mid-priority mathematics articles 4949:C-Class Computer science articles 4396:Regarding the current additions: 4222:The first sentence of this wiki: 3881:www.ontooo.com/AIAssessment2.pdf 3743:I noticed that the wiki has now: 2873:The rules follow the paradigm of 1983:{\displaystyle f\in \mathbb {Z} } 1491:Knuth–Bendix_completion_algorithm 1350:. I see that you started writing 972:{\displaystyle z=\pm {\sqrt {2}}} 626:Knowledge:WikiProject Mathematics 468:Computing articles needing images 4974:Knowledge pages with to-do lists 4827:to be more accessible for me. -- 3998:https://en.wikipedia.org/Fascism 3911:https://en.wikipedia.org/Fascism 3816:https://en.wikipedia.org/Fascism 3453:OO version of predicate calculus 3348:. This discussion will occur at 3335: 3224:Sure can you get to this page? 3190: 2278:= g(f(x, y, v), f(x, z, v), v) 1352:nominal terms (computer science) 726: 675: 629:Template:WikiProject Mathematics 593: 583: 562: 318: 241: 220: 189: 45:Click here to start a new topic. 4653:from Lisp, but not vice versa.) 4589:has a fair number of examples. 4371:side<< story of the : --> 3986:Mathnerd314159 ako Karen Oliver 3434:removed the content in question 2892:" and some other occurrence of 2497:spacing too large in MathJax).— 1946:{\displaystyle f({\vec {x}})=0} 1667:article describe it that way). 646:This article has been rated as 288:This article has been rated as 4297:unification (computer science) 3362:21:24, 19 September 2022 (UTC) 2921:I am not familiar enough with 2582:Haskell type inference example 2289:= g(f(x, z, v), f(y, z, v), v) 1977: 1971: 1934: 1928: 1919: 1806:I would agree with that yes. — 1058:00:00, 17 September 2008 (UTC) 686:Unification (computer science) 25:Unification (computer science) 1: 4603:Imo, the lead example should 4295:. It is far too detailled in 4253:21:10, 28 February 2024 (UTC) 3980:22:14, 18 February 2024 (UTC) 3723:02:45, 16 February 2024 (UTC) 3642:23:30, 15 February 2024 (UTC) 3466:09:06, 15 February 2024 (UTC) 3446:21:21, 14 February 2024 (UTC) 3422:20:33, 14 February 2024 (UTC) 3391:03:48, 14 February 2024 (UTC) 3256:set r$ '$ $ \equiv$ s$ '$ . 3217:18:30, 28 December 2021 (UTC) 3185:09:58, 23 December 2021 (UTC) 3169:01:38, 23 December 2021 (UTC) 2875:separating logic from control 2603:02:53, 28 November 2013 (UTC) 2576:14:49, 27 November 2013 (UTC) 2557:13:28, 27 November 2013 (UTC) 2531:20:33, 9 September 2013 (UTC) 1994:= 0 for any positive integer 1864:I made an attempt to change " 997:03:55, 27 December 2007 (UTC) 775:00:41, 24 November 2002 (UTC) 620:and see a list of open tasks. 522:Tag all relevant articles in 262:and see a list of open tasks. 42:Put new text under old text. 4964:C-Class mathematics articles 4369:Solving equations is a : --> 3342:Narrowing (computer science) 3093:not decreasing the measure? 2763:22:43, 24 October 2015 (UTC) 2734:21:49, 24 October 2015 (UTC) 2662:)) } is more special than { 1813:12:00, 20 October 2011 (UTC) 1801:14:18, 19 October 2011 (UTC) 1512:narrowing_(computer_science) 1476:23:02, 1 February 2011 (UTC) 1450:00:57, 21 January 2011 (UTC) 1316:00:46, 21 January 2011 (UTC) 875:14:03, 17 January 2007 (UTC) 857:21:32, 23 October 2005 (UTC) 531:WikiProject Computer science 307:WikiProject Computer science 251:WikiProject Computer science 4721:The follow up is hopeless. 1578:; equations are joined by " 1544:Algorithm#By_implementation 1397:23:46, 26 August 2011 (UTC) 1358:article and overhauled the 1223:23:06, 26 August 2011 (UTC) 1002:Answer and important remark 905:03:01, 8 October 2007 (UTC) 817:03:57, 24 August 2005 (UTC) 794:04:40, 25 August 2003 (UTC) 462:List of computer scientists 50:New to Knowledge? Welcome! 4990: 4760:Give up - go away please. 4751:Give up - go away please. 4727:Because you are ignorant. 4565:23:40, 31 March 2024 (UTC) 4524:04:43, 18 March 2024 (UTC) 4506:04:41, 18 March 2024 (UTC) 4490:User:Ddccc/Logic reasoning 4468:17:17, 14 March 2024 (UTC) 4003:It has no follow up here. 3709:Knowledge:Expert retention 3318:15:47, 20 April 2022 (UTC) 3303:14:55, 20 April 2022 (UTC) 3286:distinct function symbols; 3221:Thanks for the correction. 3139:Citation gives funny dates 1663:new lead section, and the 1249:16:39, 22 March 2010 (UTC) 1100:" would succeed, unifying 1043:18:07, 16 March 2008 (UTC) 1007:and focus of the notions. 294:project's importance scale 4935:18:22, 2 April 2024 (UTC) 4856:Kevin Knight (Mar 1989). 4838:02:50, 3 April 2024 (UTC) 4815:10:31, 2 April 2024 (UTC) 4743:19:30, 1 April 2024 (UTC) 4713:Mon Apr 01 12:17:22 2024 4704:01:54, 3 April 2024 (UTC) 4678:18:14, 2 April 2024 (UTC) 4599:17:34, 1 April 2024 (UTC) 4529:Sun Mar 31 16:27:45 2024 4377:Try something else like: 4343:19:56, 8 March 2024 (UTC) 4327:19:21, 8 March 2024 (UTC) 4309:07:54, 8 March 2024 (UTC) 4280:22:31, 7 March 2024 (UTC) 4190:Sun Mar 03 15:02:55 2024 2838:14:55, 24 July 2016 (UTC) 2820:is no longer a member of 2800:itself. For this reason, 2790:07:50, 17 June 2016 (UTC) 2022:-algebras (undecidable).— 1772:19:18, 13 June 2011 (UTC) 1757:19:00, 13 June 2011 (UTC) 1731:18:21, 13 June 2011 (UTC) 1716:18:13, 13 June 2011 (UTC) 1697:17:53, 13 June 2011 (UTC) 1677:16:29, 13 June 2011 (UTC) 1431:Automated theorem proving 1356:abstract rewriting system 1147:09:44, 7 April 2009 (UTC) 1126:00:35, 7 April 2009 (UTC) 1079:00:24, 7 April 2009 (UTC) 1023:09:36, 1 April 2010 (UTC) 880:Correct the example given 805:17:01, 27 Mar 2005 (UTC) 645: 578: 524:Category:Computer science 300: 287: 274:Computer science articles 236: 215: 80:Be welcoming to newcomers 4611:not be too trivial, and 3330:Redirects for discussion 3133:18:00, 3 July 2022 (UTC) 3103:07:15, 2 July 2022 (UTC) 3073:08:16, 5 July 2023 (UTC) 3058:21:52, 4 July 2023 (UTC) 3043:20:36, 4 July 2023 (UTC) 3010:11:27, 4 July 2023 (UTC) 2995:11:22, 4 July 2023 (UTC) 2977:03:54, 4 July 2023 (UTC) 2944:14:56, 3 July 2023 (UTC) 2917:14:05, 3 July 2023 (UTC) 2869:08:56, 3 July 2023 (UTC) 2702:)) is more special than 2622:by, a substitution τ if 2505:12:12, 5 July 2013 (UTC) 2459:11:52, 5 July 2013 (UTC) 2446:08:16, 5 July 2013 (UTC) 2414:18:36, 9 July 2013 (UTC) 2397:17:01, 5 July 2013 (UTC) 2121:15:36, 3 July 2013 (UTC) 2094:15:05, 3 July 2013 (UTC) 2055:08:26, 3 July 2013 (UTC) 2030:14:20, 2 July 2013 (UTC) 2014:14:06, 2 July 2013 (UTC) 1904:13:14, 2 July 2013 (UTC) 1886:12:56, 15 May 2013 (UTC) 1635:19:39, 16 May 2013 (UTC) 1533:23:47, 15 May 2013 (UTC) 1376:21:07, 13 May 2010 (UTC) 1337:15:29, 13 May 2010 (UTC) 1300:14:52, 12 May 2010 (UTC) 854:I am not good at running 652:project's priority scale 526:and sub-categories with 4150:'Proof of termination' 3899:20:36, 17 February 2024 3344:and has thus listed it 2626:σ is more special than 2426:Failed to Parse errors? 2126:generally undecidable): 1604:A_unification_algorithm 1576:A_unification_algorithm 1487:resolution thm. proving 1440:Thanks for your input! 1281:16:32, 9 May 2010 (UTC) 837:08:07, 2 May 2008 (UTC) 609:WikiProject Mathematics 4643:uninterpreted function 4130:You get it this time? 3966: 3955: 3941: 3930: 3915: 3482:To Mr Jochen Burghardt 3308:Kahn in the same way. 2961:functional programming 2490: 1984: 1947: 1741:interpretation (logic) 1592: 1568: 1201: 1181: 973: 914:) confusing. Suppose 810:First-order resolution 487:Computer science stubs 197:This article is rated 75:avoid personal attacks 4865:ACM Computing Surveys 4447:Prolog: delenda est. 4095:18 --- 1775 4092:17 --- 0483 4089:16 --- 0103 4086:15 --- 0081 4083:Size --- Timing 2963:, just more powerful. 2491: 2300:= f(x, f(y, z, v), v) 1985: 1948: 1658:Process or operation? 1593: 1591:{\displaystyle \And } 1569: 1567:{\displaystyle \bot } 1489:, term rewriting(?), 1412:filled for some time? 1202: 1182: 974: 100:Neutral point of view 4913:Please do adhere to 4694:trivial, like a ~ . 3271:In the paper we say: 3048:and the motivation. 2630:τ for each variable 2614:A substitution σ is 2467: 2006:Baader&Snyder.)— 1957: 1913: 1855:most general unifier 1737:substitution (logic) 1582: 1558: 1550:= "fail" in section 1191: 1158: 950: 757:Unification (Prolog) 632:mathematics articles 305:Things you can help 105:No original research 4886:10.1145/62029.62030 3244:Set u $ \equiv$ v. 3123:from decreasing. - 2348:g(x, y, g(u, v, w)) 2340:g(x, y, f(u, v, w)) 2324:f(x, y, g(u, v, w)) 2316:f(x, y, f(u, v, w)) 2297:f(f(x, y, v), z, v) 2286:f(g(x, y, v), z, v) 2275:f(x, g(y, z, v), v) 934:, as shown, we get 4915:Knowledge:Civility 4492:, or else via the 4057:<<< 3707:. There is a page 3672:and in particular 3235:\begin{lstlisting} 2486: 2069: 1980: 1943: 1874:Resolution_(logic) 1786:Identity/equality? 1588: 1564: 1516:Constraint_solving 1426:Resolution (logic) 1197: 1177: 969: 922:=2. If we "unify" 715:Updated 2017-06-25 601:Mathematics portal 203:content assessment 86:dispute resolution 47: 4776: 4654: 4583:first-order logic 4494:AfC draft process 4470: 4454:comment added by 4315:Knowledge Library 4262:original research 4255: 4239:comment added by 3644: 3628:comment added by 3612: 3611: 3606: 3605: 3596: 3595: 3585: 3584: 3578: 3577: 3571: 3570: 3564: 3563: 3557: 3556: 3550: 3549: 3543: 3542: 3536: 3535: 3529: 3528: 3522: 3521: 3515: 3514: 3508: 3507: 3501: 3500: 3494: 3493: 3486: 3485: 3476: 3475: 3428:Courtesy ping to 3424: 3408:comment added by 3393: 3377:comment added by 3155:comment added by 2792: 2780:comment added by 2766: 2749:comment added by 2715: 2714:), respectively. 2634:. For example, { 2547:comment added by 2521:comment added by 2483: 2355: 2354: 2247:isn't expressible 2220: 2219: 2067: 1931: 1539:algorithm section 1479: 1462:comment added by 1387:comment added by 1373: 1322:Reworking article 1239:comment added by 1213:comment added by 1200:{\displaystyle =} 1174: 1150: 1145:comment added at 1013:comment added by 967: 907: 891:comment added by 839: 827:comment added by 797: 792:comment added at 778: 773:comment added at 748: 747: 666: 665: 662: 661: 658: 657: 557: 556: 553: 552: 549: 548: 545: 544: 183: 182: 66:Assume good faith 43: 4981: 4927:Jochen Burghardt 4919:you are ignorant 4912: 4897: 4896: 4879: 4862: 4853: 4775: 4692: 4670:Jochen Burghardt 4640: 4576:equation solving 4301:Jochen Burghardt 4290: 3609: 3608: 3598: 3597: 3587: 3586: 3580: 3579: 3573: 3572: 3566: 3565: 3559: 3558: 3552: 3551: 3545: 3544: 3538: 3537: 3531: 3530: 3524: 3523: 3517: 3516: 3510: 3509: 3503: 3502: 3496: 3495: 3488: 3487: 3479: 3478: 3474: 3473: 3458:Jochen Burghardt 3430:Jochen Burghardt 3339: 3268:\end{lstlisting} 3209:Jochen Burghardt 3206: 3198: 3194: 3193: 3177:Jochen Burghardt 3171: 3125:Jochen Burghardt 3065:Jochen Burghardt 3016:separation logic 2983:separation logic 2923:separation logic 2909:Jochen Burghardt 2830:Jochen Burghardt 2765: 2743: 2613: 2568:Jochen Burghardt 2559: 2537:Postfix vs infix 2533: 2495: 2493: 2492: 2487: 2485: 2484: 2482: 2477: 2472: 2389:Jochen Burghardt 2272: 2271: 2152:→ s(x+y) 2140: 2139: 2086:Jochen Burghardt 2047:Jochen Burghardt 1989: 1987: 1986: 1981: 1970: 1952: 1950: 1949: 1944: 1933: 1932: 1924: 1891:Dubious examples 1878:Jochen Burghardt 1819:Delete section " 1651: 1648: 1627:Jochen Burghardt 1602:, but by "," in 1597: 1595: 1594: 1589: 1573: 1571: 1570: 1565: 1525:Jochen Burghardt 1478: 1456: 1399: 1371: 1360:Semi-Thue system 1348:equational logic 1251: 1225: 1206: 1204: 1203: 1198: 1186: 1184: 1183: 1178: 1176: 1175: 1173: 1168: 1163: 1149: 1139: 1025: 978: 976: 975: 970: 968: 963: 886: 822: 796: 786: 777: 767: 733: 730: 729: 716: 679: 678: 668: 634: 633: 630: 627: 624: 603: 598: 597: 587: 580: 579: 574: 566: 559: 535: 529: 404:Computer science 333:Article requests 322: 315: 314: 302: 276: 275: 272: 269: 266: 265:Computer science 256:Computer science 245: 238: 237: 232: 228:Computer science 224: 217: 200: 194: 193: 185: 179: 178: 164: 95:Article policies 16: 4989: 4988: 4984: 4983: 4982: 4980: 4979: 4978: 4939: 4938: 4906: 4902: 4901: 4900: 4860: 4855: 4854: 4850: 4807:Robert Kowalski 4770: 4764: 4755: 4749: 4731: 4725: 4719: 4690: 4550: 4541: 4535: 4441: 4425: 4413: 4406: 4400: 4391: 4382: 4367: 4359: 4353: 4317:, in ProQuest. 4284: 4256: 4226: 4216: 4201: 4157: 4151: 4128: 4106: 4071: 4062: 4048: 4031: 4017: 3988: 3882: 3875: 3856: 3835: 3810: 3790: 3770: 3747: 3733: 3594: 3576: 3562: 3548: 3534: 3520: 3506: 3484: 3399: 3369: 3333: 3200: 3191: 3189: 3150: 3141: 3122: 2772: 2744: 2610: 2584: 2542: 2539: 2516: 2513: 2465: 2464: 2428: 2233:The algebra of 2021: 1955: 1954: 1911: 1910: 1893: 1825: 1788: 1660: 1655: 1654: 1649: 1645: 1580: 1579: 1556: 1555: 1457: 1405: 1382: 1324: 1288: 1257: 1234: 1231: 1208: 1189: 1188: 1156: 1155: 1140: 1066: 1035:200.185.249.203 1031: 1008: 1004: 948: 947: 882: 864: 845: 787: 768: 753: 744: 743: 731: 727: 690: 676: 631: 628: 625: 622: 621: 599: 592: 572: 541: 538: 533: 527: 515:Project-related 510: 491: 472: 446: 427: 408: 389: 370: 346: 273: 270: 267: 264: 263: 230: 201:on Knowledge's 198: 121: 116: 115: 114: 91: 61: 12: 11: 5: 4987: 4985: 4977: 4976: 4971: 4966: 4961: 4956: 4951: 4941: 4940: 4923:go away please 4899: 4898: 4877:10.1.1.64.8967 4847: 4846: 4842: 4841: 4840: 4820: 4819: 4818: 4817: 4800: 4799: 4798: 4797: 4796: 4795: 4787: 4786: 4785: 4784: 4768: 4762: 4753: 4746: 4729: 4723: 4718: 4715: 4711: 4710: 4709: 4708: 4707: 4706: 4696:Mathnerd314159 4687: 4645:, also knowns 4591:Mathnerd314159 4586: 4579: 4545: 4539: 4534: 4531: 4527: 4526: 4516:Mathnerd314159 4512:Talk:Quicksort 4508: 4498:Mathnerd314159 4476: 4438: 4436:[[ Reminder: 4431: 4419: 4410: 4404: 4398: 4389: 4379: 4365: 4357: 4352: 4349: 4348: 4347: 4346: 4345: 4335:Mathnerd314159 4331: 4330: 4329: 4319:Mathnerd314159 4272:Mathnerd314159 4265: 4233: 4231: 4224: 4215: 4212: 4199: 4155: 4149: 4126: 4103: 4069: 4059: 4045: 4028: 4014: 3987: 3984: 3983: 3982: 3972:Mathnerd314159 3967: 3960: 3956: 3949: 3942: 3935: 3931: 3923: 3916: 3902: 3901: 3880: 3873: 3872: 3871: 3870: 3869: 3868: 3867: 3853: 3852: 3851: 3850: 3849: 3848: 3847: 3832: 3831: 3830: 3829: 3828: 3827: 3826: 3808: 3807: 3806: 3805: 3804: 3803: 3802: 3801:"Who is 'we'?" 3788: 3787: 3786: 3785: 3784: 3783: 3782: 3773:accountable. 3768: 3767: 3766: 3765: 3764: 3763: 3762: 3751: 3745: 3741: 3732: 3729: 3728: 3727: 3726: 3725: 3715:Mathnerd314159 3712: 3701: 3690: 3681: 3666: 3659: 3656:Google Scholar 3652: 3588: 3574: 3560: 3546: 3532: 3518: 3504: 3492: 3491: 3483: 3480: 3471: 3470: 3469: 3468: 3398: 3397:What the heck? 3395: 3368: 3365: 3346:for discussion 3332: 3326: 3325: 3324: 3323: 3322: 3321: 3320: 3290: 3287: 3284: 3281: 3280:lent in pairs; 3278: 3275: 3272: 3269: 3266: 3263: 3260: 3257: 3254: 3251: 3248: 3245: 3242: 3239: 3236: 3233: 3230: 3222: 3187: 3140: 3137: 3136: 3135: 3120: 3090: 3089: 3088: 3087: 3086: 3085: 3084: 3083: 3082: 3081: 3080: 3079: 3078: 3077: 3076: 3075: 3060: 3035:Mathnerd314159 3030: 3026: 3019: 3012: 2969:Mathnerd314159 2964: 2949: 2928: 2905: 2882: 2771: 2768: 2609: 2606: 2583: 2580: 2579: 2578: 2564: 2538: 2535: 2512: 2509: 2508: 2507: 2481: 2476: 2461: 2438:88.104.138.194 2427: 2424: 2423: 2422: 2421: 2420: 2419: 2418: 2417: 2416: 2403: 2385: 2361: 2360: 2359: 2358: 2357: 2356: 2353: 2352: 2349: 2345: 2344: 2341: 2337: 2336: 2333: 2329: 2328: 2325: 2321: 2320: 2317: 2313: 2312: 2309: 2305: 2304: 2301: 2298: 2294: 2293: 2290: 2287: 2283: 2282: 2279: 2276: 2264: 2263: 2262: 2261: 2260: 2259: 2255: 2243: 2226: 2225: 2224: 2223: 2222: 2221: 2218: 2217: 2214: 2211: 2208: 2205: 2203: 2200: 2199: 2196: 2193: 2190: 2187: 2184: 2180: 2179: 2176: 2173: 2170: 2167: 2164: 2160: 2159: 2156: 2153: 2150: 2147: 2144: 2132: 2131: 2130: 2129: 2128: 2127: 2111: 2107: 2103: 2081: 2072: 2060: 2057: 2043: 2036: 2019: 1979: 1976: 1973: 1969: 1965: 1962: 1942: 1939: 1936: 1930: 1927: 1921: 1918: 1892: 1889: 1843: 1842: 1839: 1836: 1824: 1817: 1816: 1815: 1793:Stephan Schulz 1787: 1784: 1783: 1782: 1781: 1780: 1779: 1778: 1777: 1776: 1775: 1774: 1708:Stephan Schulz 1665:Satisfiability 1659: 1656: 1653: 1652: 1642: 1641: 1640: 1639: 1638: 1637: 1618: 1607: 1587: 1563: 1535: 1522: 1519: 1508: 1505: 1502: 1499:Hindley–Milner 1495:Type_inference 1483: 1438: 1437: 1436: 1435: 1432: 1429: 1420: 1416: 1413: 1404: 1401: 1379: 1378: 1344:Term rewriting 1323: 1320: 1319: 1318: 1287: 1284: 1256: 1253: 1230: 1227: 1196: 1172: 1167: 1152: 1151: 1065: 1062: 1061: 1060: 1030: 1027: 1003: 1000: 966: 961: 958: 955: 881: 878: 863: 860: 844: 841: 752: 749: 746: 745: 742: 741: 734: 718: 673: 671: 664: 663: 660: 659: 656: 655: 644: 638: 637: 635: 618:the discussion 605: 604: 588: 576: 575: 567: 555: 554: 551: 550: 547: 546: 543: 542: 540: 539: 537: 536: 519: 511: 509: 508: 502: 492: 490: 489: 483: 473: 471: 470: 465: 457: 447: 445: 444: 438: 428: 426: 425: 419: 409: 407: 406: 400: 390: 388: 387: 381: 371: 369: 368: 363: 357: 347: 345: 344: 338: 326: 324: 323: 311: 310: 298: 297: 290:Mid-importance 286: 280: 279: 277: 260:the discussion 246: 234: 233: 231:Mid‑importance 225: 213: 212: 206: 195: 181: 180: 118: 117: 113: 112: 107: 102: 93: 92: 90: 89: 82: 77: 68: 62: 60: 59: 48: 39: 38: 35: 34: 28: 13: 10: 9: 6: 4: 3: 2: 4986: 4975: 4972: 4970: 4967: 4965: 4962: 4960: 4957: 4955: 4952: 4950: 4947: 4946: 4944: 4937: 4936: 4932: 4928: 4924: 4920: 4916: 4910: 4904: 4894: 4891: 4887: 4883: 4878: 4874: 4871:(1): 93–124. 4870: 4866: 4859: 4852: 4849: 4845: 4839: 4836: 4833: 4830: 4826: 4822: 4821: 4816: 4812: 4808: 4804: 4803: 4802: 4801: 4793: 4792: 4791: 4790: 4789: 4788: 4781: 4780: 4779: 4778: 4777: 4773: 4767: 4761: 4758: 4752: 4745: 4744: 4740: 4736: 4728: 4722: 4716: 4714: 4705: 4701: 4697: 4688: 4685: 4681: 4680: 4679: 4675: 4671: 4667: 4663: 4659: 4652: 4648: 4644: 4638: 4634: 4630: 4626: 4622: 4618: 4614: 4610: 4606: 4602: 4601: 4600: 4596: 4592: 4587: 4584: 4580: 4577: 4573: 4569: 4568: 4567: 4566: 4562: 4558: 4544: 4538: 4532: 4530: 4525: 4521: 4517: 4513: 4509: 4507: 4503: 4499: 4495: 4491: 4487: 4482: 4477: 4473: 4472: 4471: 4469: 4465: 4461: 4457: 4453: 4448: 4444: 4437: 4434: 4430: 4418: 4409: 4403: 4397: 4394: 4388: 4385: 4378: 4375: 4364: 4356: 4350: 4344: 4340: 4336: 4332: 4328: 4324: 4320: 4316: 4312: 4311: 4310: 4306: 4302: 4298: 4294: 4288: 4283: 4282: 4281: 4277: 4273: 4269: 4266: 4263: 4258: 4257: 4254: 4250: 4246: 4242: 4238: 4232: 4229: 4223: 4220: 4213: 4211: 4208: 4205: 4198: 4195: 4191: 4188: 4180: 4176: 4171: 4167: 4163: 4160: 4154: 4148: 4145: 4142: 4139: 4136: 4131: 4125: 4122: 4118: 4113: 4102: 4101:<<< 4099: 4096: 4093: 4090: 4087: 4084: 4081: 4078: 4077: 4068: 4058: 4055: 4044: 4043:<<< 4041: 4027: 4026:<<< 4024: 4013: 4012:<<< 4010: 4004: 3999: 3991: 3985: 3981: 3977: 3973: 3968: 3965: 3961: 3957: 3954: 3950: 3947: 3943: 3940: 3936: 3932: 3929: 3924: 3921: 3917: 3914: 3912: 3904: 3903: 3900: 3898: 3893: 3892: 3891: 3888: 3885: 3879: 3865: 3864: 3863: 3862: 3861: 3860: 3859: 3845: 3844: 3843: 3842: 3841: 3840: 3839: 3824: 3823: 3822: 3821: 3820: 3819: 3818: 3817: 3800: 3799: 3798: 3797: 3796: 3795: 3794: 3780: 3779: 3778: 3777: 3776: 3775: 3774: 3760: 3759: 3758: 3757: 3756: 3755: 3754: 3750: 3744: 3740: 3736: 3730: 3724: 3720: 3716: 3713: 3710: 3706: 3702: 3699: 3695: 3691: 3688: 3682: 3679: 3675: 3671: 3667: 3664: 3660: 3657: 3653: 3650: 3649: 3647: 3646: 3645: 3643: 3639: 3635: 3631: 3627: 3619: 3613: 3604: 3601: 3583: 3569: 3555: 3541: 3527: 3513: 3499: 3490: 3489: 3481: 3477: 3467: 3463: 3459: 3454: 3449: 3448: 3447: 3443: 3439: 3435: 3431: 3427: 3426: 3425: 3423: 3419: 3415: 3411: 3407: 3396: 3394: 3392: 3388: 3384: 3380: 3376: 3364: 3363: 3359: 3355: 3351: 3347: 3343: 3338: 3331: 3327: 3319: 3315: 3311: 3306: 3305: 3304: 3300: 3296: 3291: 3288: 3285: 3282: 3279: 3276: 3273: 3270: 3267: 3264: 3261: 3258: 3255: 3252: 3249: 3246: 3243: 3240: 3237: 3234: 3231: 3227: 3223: 3220: 3219: 3218: 3214: 3210: 3204: 3197: 3188: 3186: 3182: 3178: 3174: 3173: 3172: 3170: 3166: 3162: 3158: 3154: 3147: 3138: 3134: 3130: 3126: 3119: 3115: 3111: 3107: 3106: 3105: 3104: 3100: 3096: 3074: 3070: 3066: 3061: 3059: 3055: 3051: 3046: 3045: 3044: 3040: 3036: 3031: 3027: 3024: 3020: 3017: 3013: 3011: 3007: 3003: 2998: 2997: 2996: 2992: 2988: 2984: 2980: 2979: 2978: 2974: 2970: 2965: 2962: 2958: 2954: 2950: 2947: 2946: 2945: 2941: 2937: 2933: 2929: 2924: 2920: 2919: 2918: 2914: 2910: 2906: 2903: 2899: 2895: 2891: 2887: 2883: 2880: 2876: 2872: 2871: 2870: 2866: 2862: 2858: 2853: 2849: 2845: 2841: 2840: 2839: 2835: 2831: 2827: 2823: 2819: 2815: 2811: 2807: 2803: 2799: 2795: 2794: 2793: 2791: 2787: 2783: 2779: 2770:Small Mistake 2769: 2767: 2764: 2760: 2756: 2752: 2748: 2740: 2736: 2735: 2731: 2727: 2721: 2718: 2713: 2709: 2705: 2701: 2697: 2693: 2689: 2685: 2681: 2677: 2673: 2669: 2665: 2661: 2657: 2653: 2649: 2645: 2641: 2637: 2633: 2629: 2625: 2621: 2617: 2607: 2605: 2604: 2600: 2596: 2589: 2581: 2577: 2573: 2569: 2565: 2562: 2561: 2560: 2558: 2554: 2550: 2549:97.80.110.212 2546: 2536: 2534: 2532: 2528: 2524: 2523:86.166.162.78 2520: 2510: 2506: 2503: 2500: 2479: 2474: 2462: 2460: 2457: 2454: 2450: 2449: 2448: 2447: 2443: 2439: 2434: 2431: 2425: 2415: 2412: 2409: 2404: 2400: 2399: 2398: 2394: 2390: 2386: 2383: 2379: 2375: 2371: 2367: 2366: 2365: 2364: 2363: 2362: 2350: 2347: 2346: 2342: 2339: 2338: 2334: 2331: 2330: 2326: 2323: 2322: 2318: 2315: 2314: 2310: 2307: 2306: 2302: 2299: 2296: 2295: 2291: 2288: 2285: 2284: 2280: 2277: 2274: 2273: 2270: 2269: 2268: 2267: 2266: 2265: 2256: 2252: 2248: 2244: 2241: 2236: 2232: 2231: 2230: 2229: 2228: 2227: 2215: 2212: 2209: 2206: 2204: 2202: 2201: 2197: 2194: 2191: 2188: 2185: 2182: 2181: 2177: 2174: 2171: 2168: 2165: 2162: 2161: 2157: 2154: 2151: 2148: 2145: 2142: 2141: 2138: 2137: 2136: 2135: 2134: 2133: 2124: 2123: 2122: 2119: 2116: 2112: 2108: 2104: 2102: 2097: 2096: 2095: 2091: 2087: 2082: 2078: 2073: 2065: 2061: 2058: 2056: 2052: 2048: 2044: 2041: 2037: 2034: 2033: 2032: 2031: 2028: 2025: 2016: 2015: 2012: 2009: 2003: 1999: 1997: 1993: 1974: 1963: 1960: 1940: 1937: 1925: 1916: 1906: 1905: 1902: 1899: 1890: 1888: 1887: 1883: 1879: 1875: 1871: 1867: 1862: 1860: 1856: 1852: 1848: 1840: 1837: 1834: 1830: 1829: 1828: 1822: 1818: 1814: 1811: 1810: 1805: 1804: 1803: 1802: 1798: 1794: 1785: 1773: 1769: 1765: 1760: 1759: 1758: 1754: 1750: 1746: 1742: 1738: 1734: 1733: 1732: 1728: 1724: 1719: 1718: 1717: 1713: 1709: 1704: 1700: 1699: 1698: 1694: 1690: 1686: 1681: 1680: 1679: 1678: 1674: 1670: 1666: 1657: 1647: 1644: 1636: 1632: 1628: 1624: 1619: 1616: 1612: 1608: 1605: 1601: 1577: 1574:" in section 1553: 1549: 1545: 1540: 1536: 1534: 1530: 1526: 1523: 1520: 1517: 1513: 1509: 1506: 1503: 1500: 1496: 1492: 1488: 1484: 1481: 1480: 1477: 1473: 1469: 1465: 1461: 1454: 1453: 1452: 1451: 1447: 1443: 1433: 1430: 1427: 1424: 1423: 1421: 1417: 1414: 1410: 1409: 1408: 1402: 1400: 1398: 1394: 1390: 1386: 1377: 1374: 1369: 1365: 1361: 1357: 1353: 1349: 1345: 1341: 1340: 1339: 1338: 1334: 1330: 1321: 1317: 1313: 1309: 1304: 1303: 1302: 1301: 1297: 1293: 1292:Norman Ramsey 1285: 1283: 1282: 1278: 1274: 1269: 1265: 1261: 1254: 1252: 1250: 1246: 1242: 1238: 1228: 1226: 1224: 1220: 1216: 1212: 1194: 1170: 1165: 1148: 1144: 1138: 1135: 1130: 1129: 1128: 1127: 1123: 1119: 1115: 1111: 1107: 1103: 1099: 1095: 1091: 1087: 1081: 1080: 1076: 1072: 1063: 1059: 1055: 1051: 1047: 1046: 1045: 1044: 1040: 1036: 1028: 1026: 1024: 1020: 1016: 1015:93.207.221.50 1012: 1001: 999: 998: 994: 990: 986: 982: 964: 959: 956: 953: 945: 941: 937: 933: 929: 925: 921: 917: 913: 908: 906: 902: 898: 894: 890: 879: 877: 876: 873: 869: 861: 859: 858: 855: 850: 842: 840: 838: 834: 830: 826: 819: 818: 815: 811: 806: 804: 798: 795: 791: 785: 779: 776: 772: 766: 762: 758: 750: 739: 736:Describe the 735: 725: 722: 721: 720: 717: 714: 711: 708: 705: 702: 699: 696: 693: 689: 687: 683: 672: 670: 669: 653: 649: 643: 640: 639: 636: 619: 615: 611: 610: 602: 596: 591: 589: 586: 582: 581: 577: 571: 568: 565: 561: 532: 525: 521: 520: 518: 516: 512: 507: 504: 503: 501: 499: 498: 493: 488: 485: 484: 482: 480: 479: 474: 469: 466: 463: 459: 458: 456: 454: 453: 448: 443: 440: 439: 437: 435: 434: 429: 424: 421: 420: 418: 416: 415: 410: 405: 402: 401: 399: 397: 396: 391: 386: 383: 382: 380: 378: 377: 372: 367: 364: 362: 359: 358: 356: 354: 353: 348: 343: 340: 339: 337: 335: 334: 329: 328: 325: 321: 317: 316: 313: 312: 308: 304: 303: 299: 295: 291: 285: 282: 281: 278: 261: 257: 253: 252: 247: 244: 240: 239: 235: 229: 226: 223: 219: 214: 210: 204: 196: 192: 187: 186: 177: 173: 170: 167: 163: 159: 155: 152: 149: 146: 143: 140: 137: 134: 131: 127: 124: 123:Find sources: 120: 119: 111: 110:Verifiability 108: 106: 103: 101: 98: 97: 96: 87: 83: 81: 78: 76: 72: 69: 67: 64: 63: 57: 53: 52:Learn to edit 49: 46: 41: 40: 37: 36: 32: 26: 22: 18: 17: 4905: 4903: 4868: 4864: 4851: 4843: 4774: 4771: 4765: 4759: 4756: 4750: 4732: 4726: 4720: 4712: 4665: 4661: 4650: 4646: 4642: 4636: 4632: 4628: 4624: 4620: 4616: 4612: 4608: 4604: 4572:solution set 4551: 4542: 4536: 4528: 4450:— Preceding 4445: 4442: 4435: 4432: 4426: 4416:No, no : --> 4414: 4407: 4401: 4395: 4392: 4386: 4383: 4376: 4368: 4360: 4354: 4292: 4235:— Preceding 4230: 4227: 4221: 4217: 4209: 4206: 4202: 4196: 4192: 4189: 4172: 4168: 4164: 4161: 4158: 4153:and before: 4152: 4146: 4143: 4140: 4138:Next moves: 4137: 4132: 4129: 4123: 4119: 4114: 4107: 4100: 4097: 4094: 4091: 4088: 4085: 4082: 4079: 4072: 4063: 4056: 4049: 4042: 4032: 4025: 4018: 4011: 4005: 3992: 3989: 3963: 3952: 3938: 3926: 3906: 3895:added sig: 3894: 3889: 3886: 3883: 3876: 3857: 3836: 3811: 3791: 3771: 3752: 3748: 3742: 3737: 3734: 3687:WP:SECONDARY 3624:— Preceding 3614: 3607: 3602: 3599: 3581: 3567: 3553: 3539: 3525: 3511: 3497: 3472: 3404:— Preceding 3400: 3373:— Preceding 3370: 3334: 3195: 3151:— Preceding 3142: 3117: 3113: 3109: 3091: 3033:references. 2982: 2931: 2922: 2901: 2897: 2893: 2889: 2885: 2874: 2856: 2851: 2847: 2843: 2825: 2821: 2817: 2813: 2809: 2805: 2801: 2797: 2782:86.82.44.193 2776:— Preceding 2773: 2745:— Preceding 2741: 2737: 2722: 2719: 2711: 2707: 2703: 2699: 2695: 2691: 2687: 2683: 2679: 2675: 2671: 2667: 2663: 2659: 2655: 2651: 2647: 2643: 2639: 2635: 2631: 2627: 2623: 2619: 2616:more special 2615: 2611: 2590: 2585: 2543:— Preceding 2540: 2517:— Preceding 2514: 2435: 2432: 2429: 2381: 2377: 2373: 2369: 2250: 2246: 2239: 2234: 2100: 2076: 2071:explanation? 2063: 2039: 2017: 2004: 2000: 1995: 1991: 1907: 1894: 1869: 1865: 1863: 1858: 1854: 1850: 1846: 1844: 1832: 1826: 1820: 1807: 1789: 1702: 1685:substitution 1661: 1646: 1614: 1610: 1458:— Preceding 1439: 1406: 1389:92.233.94.70 1383:— Preceding 1380: 1325: 1289: 1270: 1266: 1262: 1258: 1241:86.14.186.72 1232: 1215:92.233.94.70 1209:— Preceding 1187:rather than 1153: 1113: 1109: 1105: 1101: 1097: 1093: 1089: 1085: 1082: 1067: 1032: 1005: 984: 980: 943: 939: 935: 931: 927: 923: 919: 915: 912:this version 909: 883: 872:138.38.32.84 865: 848: 846: 829:71.36.181.46 820: 807: 799: 780: 754: 723: 719: 712: 706: 700: 694: 680: 674: 648:Mid-priority 647: 607: 573:Mid‑priority 514: 513: 497:Unreferenced 495: 494: 476: 475: 450: 449: 431: 430: 412: 411: 393: 392: 374: 373: 350: 349: 331: 330: 289: 249: 209:WikiProjects 171: 165: 157: 150: 144: 138: 132: 122: 94: 19:This is the 4835:| contribs) 4829:Ancheta Wis 4387:Regarding: 3698:WP:CITESPAM 3694:WP:SELFCITE 3678:0 citations 3050:LudovicoVan 3002:LudovicoVan 2987:LudovicoVan 2936:LudovicoVan 2896:outside of 2877:, cf. e.g. 2861:LudovicoVan 2682:) }, since 2251:expressible 2146:→ x 1235:—Preceding 1141:—Preceding 1009:—Preceding 938:=0 to make 887:—Preceding 823:—Preceding 788:—Preceding 769:—Preceding 623:Mathematics 614:mathematics 570:Mathematics 148:free images 31:not a forum 4943:Categories 4844:References 4691:"s" + True 3897:user:Ddccc 3663:this table 3310:MarkWegman 3295:MarkWegman 3203:MarkWegman 3157:MarkWegman 3149:simplicity 2932:functional 2857:functional 2332:g(x, y, a) 2308:f(x, y, a) 1669:Diego Moya 1329:DPMulligan 1273:DPMulligan 989:Ben Kovitz 946:true, and 893:Kilgore666 852:useful. -- 682:To-do list 4873:CiteSeerX 4772:Give up. 3920:talk page 3705:have left 3689:sources)? 3108:The term 2957:confluent 2953:rewriting 2859:spec...) 2852:eliminate 2814:eliminate 2618:than, or 2240:arbitrary 2178:→ s(x-y) 2158:→ p(x+y) 1745:semantics 1611:multisets 1464:ODogerall 1364:rewriting 385:Computing 88:if needed 71:Be polite 21:talk page 4893:14619034 4464:contribs 4452:unsigned 4249:contribs 4237:unsigned 3674:WP:UNDUE 3638:contribs 3626:unsigned 3533:Yes thx 3438:Primefac 3418:contribs 3406:unsigned 3387:contribs 3375:unsigned 3354:Mdewman6 3165:contribs 3153:unsigned 2778:unsigned 2759:contribs 2747:unsigned 2620:subsumed 2545:unsigned 2519:unsigned 2198:→ x*y-x 2172:→ p(x-y) 1472:contribs 1460:unsigned 1385:unsigned 1237:unsigned 1211:unsigned 1118:Halberdo 1071:Halberdo 1050:Offliner 1011:unsigned 979:to make 901:contribs 889:unsigned 825:unsigned 803:Iwehrman 751:Untitled 433:Maintain 376:Copyedit 56:get help 29:This is 27:article. 4658:Haskell 4623:in the 4415:==: --> 4402:==: --> 4361:==: --> 3670:WP:NPOV 3620:] : --> 3095:Nomeata 2292:Dist-l 2281:Dist-r 2213:s(p(x)) 2207:p(s(x)) 2192:→ x*y+x 2077:ability 1853:" vs. " 1851:unifier 1833:unifier 1442:Alerion 1308:Alerion 1143:undated 918:=0 and 849:doesn't 790:undated 771:undated 710:refresh 698:history 650:on the 414:Infobox 352:Cleanup 292:on the 199:C-class 154:WP refs 142:scholar 4921:" or " 3432:, who 2812:, the 2690:) and 2595:PyroPi 2587:-: --> 2511:Note 4 2235:ground 2195:x*p(y) 2189:x*s(y) 2175:x-p(y) 2169:x-s(y) 2155:x+p(y) 2149:x+s(y) 2106:reals. 1586:& 868:Prolog 814:Tillmo 395:Expand 205:scale. 126:Google 4925:". - 4909:Ddccc 4890:S2CID 4861:(PDF) 4832:(talk 4735:Ddccc 4557:Ddccc 4554:: --> 4553:: --> 4552:: --> 4456:Ddccc 4423:: --> 4372:: --> 4370:: --> 4287:Ddccc 4241:Ddccc 4186:: --> 4185:: --> 4184:: --> 4183:: --> 4182:: --> 4181:: --> 4110:: --> 4109:: --> 4108:: --> 4066:: --> 4065:: --> 4064:: --> 4052:: --> 4051:: --> 4050:: --> 4039:: --> 4036:: --> 4035:: --> 4021:: --> 4020:: --> 4019:: --> 4008:: --> 4007:: --> 4002:: --> 4001:: --> 3995:: --> 3934:page. 3928:soon. 3908:: --> 3813:: --> 3630:Ddccc 3622:: --> 3621:: --> 3410:Ddccc 3379:Ddccc 3241:Begin 2926:: --> 2848:{x=t} 2751:Wlodr 2726:Wlodr 2075:unifi 1953:with 1764:linas 1749:linas 1723:linas 1689:linas 1598:" in 1501:, ... 1112:with 1104:with 926:with 704:watch 478:Stubs 452:Photo 309:with: 169:JSTOR 130:books 84:Seek 4931:talk 4811:talk 4739:talk 4700:talk 4674:talk 4668:. - 4662:cons 4649:and 4647:cons 4635:and 4633:cons 4625:cons 4595:talk 4561:talk 4520:talk 4502:talk 4460:talk 4408:--- 4384:--- 4339:talk 4323:talk 4305:talk 4276:talk 4245:talk 4121:... 3976:talk 3946:here 3719:talk 3634:talk 3462:talk 3442:talk 3414:talk 3383:talk 3358:talk 3314:talk 3299:talk 3213:talk 3196:Done 3181:talk 3161:talk 3129:talk 3099:talk 3069:talk 3054:talk 3039:talk 3006:talk 2991:talk 2973:talk 2940:talk 2913:talk 2865:talk 2834:talk 2822:vars 2786:talk 2755:talk 2730:talk 2706:and 2599:talk 2572:talk 2553:talk 2527:talk 2499:Emil 2453:Emil 2442:talk 2408:Emil 2393:talk 2351:= a 2343:= a 2335:= a 2327:= a 2319:= a 2311:= a 2303:Ass 2216:→ x 2115:Emil 2090:talk 2080:set. 2068:semi 2051:talk 2024:Emil 2008:Emil 1898:Emil 1882:talk 1809:Ruud 1797:talk 1768:talk 1753:talk 1727:talk 1712:talk 1693:talk 1673:talk 1631:talk 1615:sets 1537:The 1529:talk 1468:talk 1446:talk 1419:one) 1393:talk 1372:ping 1368:Pcap 1333:talk 1312:talk 1296:talk 1277:talk 1245:talk 1219:talk 1134:Emil 1122:talk 1108:and 1075:talk 1054:talk 1039:talk 1019:talk 993:talk 897:talk 833:talk 784:Carl 765:Nate 763:? -- 692:edit 684:for 162:FENS 136:news 73:and 4882:doi 4666:nil 4651:nil 4637:nil 4629:(3) 4617:(2) 4613:(3) 4609:(2) 4605:(1) 4547:--> 4428:--> 4421:--> 4038:--> 4034:--> 3121:var 2646:), 2210:→ x 2186:→ 0 2183:x*0 2166:→ x 2163:x-0 2143:x+0 1625:.) 1554:= " 1497:by 1229:car 1207:. 1114:xyz 1106:abc 1098:xyz 1090:abc 1029:MGU 930:as 759:or 642:Mid 284:Mid 176:TWL 4945:: 4933:) 4888:. 4880:. 4869:21 4867:. 4863:. 4813:) 4741:) 4702:) 4676:) 4664:, 4597:) 4563:) 4522:) 4504:) 4496:, 4486:Z3 4466:) 4462:• 4341:) 4325:) 4307:) 4278:) 4251:) 4247:• 3978:) 3721:) 3640:) 3636:• 3464:) 3444:) 3436:. 3420:) 3416:• 3389:) 3385:• 3360:) 3316:) 3301:) 3215:) 3183:) 3167:) 3163:• 3131:) 3101:) 3071:) 3056:) 3041:) 3008:) 2993:) 2975:) 2942:) 2915:) 2867:) 2836:) 2788:) 2761:) 2757:• 2732:) 2724:-- 2674:↦ 2670:, 2666:↦ 2650:↦ 2638:↦ 2601:) 2574:) 2555:) 2529:) 2502:J. 2456:J. 2444:) 2411:J. 2395:) 2118:J. 2092:) 2053:) 2027:J. 2011:J. 1964:∈ 1929:→ 1901:J. 1884:) 1876:. 1823:"? 1799:) 1770:) 1755:) 1729:) 1714:) 1703:or 1695:) 1675:) 1633:) 1562:⊥ 1531:) 1514:, 1493:, 1474:) 1470:• 1448:) 1395:) 1335:) 1314:) 1298:) 1279:) 1247:) 1221:) 1137:J. 1124:) 1092:, 1077:) 1056:) 1041:) 1021:) 995:) 960:± 903:) 899:• 835:) 534:}} 528:{{ 156:) 54:; 4929:( 4911:: 4907:@ 4895:. 4884:: 4809:( 4737:( 4698:( 4672:( 4621:x 4593:( 4559:( 4518:( 4500:( 4458:( 4337:( 4321:( 4303:( 4289:: 4285:@ 4274:( 4243:( 3974:( 3922:. 3717:( 3632:( 3460:( 3440:( 3412:( 3381:( 3356:( 3312:( 3297:( 3211:( 3205:: 3201:@ 3179:( 3159:( 3127:( 3118:n 3114:y 3110:t 3097:( 3067:( 3052:( 3037:( 3018:. 3004:( 2989:( 2971:( 2938:( 2911:( 2902:x 2898:t 2894:x 2890:t 2888:= 2886:x 2863:( 2832:( 2826:G 2824:( 2818:x 2810:x 2806:t 2804:= 2802:x 2798:G 2784:( 2753:( 2728:( 2712:z 2710:( 2708:f 2704:z 2700:u 2698:( 2696:f 2694:( 2692:f 2688:u 2686:( 2684:f 2680:z 2678:( 2676:f 2672:y 2668:z 2664:x 2660:u 2658:( 2656:f 2654:( 2652:f 2648:y 2644:u 2642:( 2640:f 2636:x 2632:x 2628:x 2624:x 2597:( 2570:( 2551:( 2525:( 2480:? 2475:= 2440:( 2391:( 2382:b 2378:b 2374:a 2370:a 2088:( 2049:( 2042:" 2038:" 2020:u 1996:n 1992:n 1978:] 1975:x 1972:[ 1968:Z 1961:f 1941:0 1938:= 1935:) 1926:x 1920:( 1917:f 1880:( 1795:( 1766:( 1751:( 1725:( 1710:( 1691:( 1671:( 1629:( 1527:( 1466:( 1444:( 1391:( 1331:( 1310:( 1294:( 1275:( 1243:( 1217:( 1195:= 1171:? 1166:= 1120:( 1110:B 1102:A 1096:= 1094:B 1088:= 1086:A 1084:" 1073:( 1052:( 1037:( 1017:( 991:( 985:z 983:= 981:y 965:2 957:= 954:z 944:z 942:= 940:x 936:z 932:z 928:y 924:x 920:y 916:x 895:( 831:( 740:. 732:Y 713:· 707:· 701:· 695:· 688:: 654:. 517:: 500:: 481:: 464:) 455:: 436:: 417:: 398:: 379:: 355:: 336:: 296:. 211:: 172:· 166:· 158:· 151:· 145:· 139:· 133:· 128:( 58:.

Index

talk page
Unification (computer science)
not a forum
Click here to start a new topic.
Learn to edit
get help
Assume good faith
Be polite
avoid personal attacks
Be welcoming to newcomers
dispute resolution
Neutral point of view
No original research
Verifiability
Google
books
news
scholar
free images
WP refs
FENS
JSTOR
TWL

content assessment
WikiProjects
WikiProject icon
Computer science
WikiProject icon
WikiProject Computer science

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.