On solving equations and disequations
We are interested in the problem of solving a system 〈s l = t l : 1 ≤ i ≤ n, p j ≠ q j : 1 ≤ j ≤ m 〉 of equations and disequations, also known as disunification . Solutions to disunification problems are substitutions for the variables of the problem that make the two terms of each equation equal, b...
Gespeichert in:
Veröffentlicht in: | Journal of the ACM 1994-07, Vol.41 (4), p.591-629 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | We are interested in the problem of solving a system
〈s
l
= t
l
: 1 ≤ i ≤ n, p
j
≠ q
j
: 1 ≤ j ≤ m 〉
of equations and disequations, also known as
disunification
. Solutions to disunification problems are substitutions for the variables of the problem that make the two terms of each equation equal, but leave those of the disequations different. We investigate this in both algebraic and logical contexts where equality is defined by an equational theory and more generally by a definitive clause equality theory E. We show how E-disunification can be reduced to E-unification, that is, solving equations only, and give a disunification algorithm for theories given a unification algorithm. In fact, this result shows that for theories in which the solutions of all unification problems can also be represented finitely. We sketch how disunification can be applied to handle negation in logic programming with equality in a similar style to Colmerauer's logic programming with rational trees, and to represent many solutions to AC-unification problems by a few solutions to ACI-disunification problems. |
---|---|
ISSN: | 0004-5411 1557-735X |
DOI: | 10.1145/179812.179813 |