Rekursive Pfadordnung
Sei A fundierte Ordnung ¨uber Σ (Pr¨azedenz). Es gilt s rpo t gdw.
• s = f(s1, . . . , sn) und si rpo t f¨ur ein i oder
• s = f(s1, . . . , sn), t = g(t1, . . . , tm), f A g und s rpo tj f¨ur alle j oder
• s = f(s1, . . . , sn), t = f(t1, . . . , tn), {s1, . . . , sn} (rpo)mul {t1, . . . , tn}
RPO mit Status rpos
Ordne jedem n-stelligen Funktionssymbol f Permutation von 1, . . . , n oder “Multimenge” zu,
vergleiche Argumente lexikographisch in angegebener Reihenfolge oder als Multimenge
sum(O, y) → y plus(O, y) → y
sum(succ(x), y) → sum(x,succ(y)) plus(succ(x), y) → succ(plus(y, x))
• s und t sind unifizierbar, falls es Unifikator σ mit sσ = tσ gibt
• Unifikationsproblem S = {s1 =? t1, . . . , sn =? tn}
• σ ∈ U(S) gdw. siσ = tiσ f¨ur alle 1 ≤ i ≤ n
• σ ist allgemeiner als σ0 gdw. es existiert Substitution δ mit σ0 = σδ.
Beispiel S = {g(f(x), y) =? g(y,f(z))}
U(S) enth¨alt σ = {x/z, y/f(z)}
σ1 = {x/a, y/f(a), z/a}
σ2 = {x/f(z), y/f(f(z)), z/f(z)} σ3 = {z/x, y/f(x)} etc.
σ und σ3 sind allgemeinste Unifikatoren, denn σ1 = σδ1 mit δ1 = {z/a} σ2 = σδ2 mit δ2 = {z/f(z)} σ3 = σδ3 mit δ3 = {z/x}