La théorie de l'unication
Les Σ-algèbres
Σ : Ensemble de symboles de fonction ayant une aritén∈IN.
X : Ensemble de variables.
T(X,Σ): Ensemble de termessur X etΣ : x∈ X
x∈ T(X,Σ)
t1, . . . , tn ∈ T(X,Σ) f/n
f est d'arité n
∈Σ f(t1, . . . , tn)∈ T(X,Σ)
On écrit V ar(t)l'ensemble de toutes les variables det. Un terme t est clos si V ar(t) =∅.
2
Les substitutions Dénition :
Unesubstitution est une fonction σ:X → T(Σ,X).
Le domained'une substitution σ est l'ensemble Dom(σ)={x∈ X |σ(x)6=x}.
Le codomaine d'une substitutionσ est l'ensemble Codom(σ)={V ar(σ(x))|x∈Dom(σ)}.
Un renommageest une substitution injective σ t.q. σ(x) =y
∀x∈Dom(σ).
Si le domaine d'une substitution σ estni on note σ={x1/t1, . . . , xn/tn} si σ(xi) =ti etxi ∈Dom(σ).
L'application d'unesubstitution à un terme est l'extensionde σ aux termes donnée par σ(f(t1, . . . , tn)) =f(σ(t1), . . . , σ(tn)).
3
Comparer deux substitutions
Soient σ etτ deux substitution. La composition de σavec τ est donnée par (σ◦τ)(x) =σ(τ(x)).
Exemple :
{y/b, z/h(c)} ◦ {x/f(y), y/z}={x/f(b), y/h(c), z/h(c)}
La substitution σ est uneinstance de la substitutionτ (ouτ est plus générale queσ), ce que l'on écritσ≤τ, ss'il existe une substitution ρ t.q. pour toute variablex∈ X, σ(x) = (ρ◦τ)(x).
Exemple : {x/f(y), y/z} est plus générale que {x/f(b), y/h(c), z/h(c)}
4
Identier deux substitutions
Remarque : La relation ≤ n'est pas antysimmetrique.
Exemple :Soient σ1={x/y} et σ2={y/x}.
On aσ1≤σ2 carσ1={x/y} ◦σ2. On aσ2≤σ1 carσ2={y/x} ◦σ1. Mais σ16=σ2.
Exemple :Soient σ1={x/y} et σ3={x/y, z/w, w/z}.
On aσ1≤σ3 carσ1={z/w, w/z} ◦σ3. On aσ3≤σ1 carσ3={z/w, w/z} ◦σ1. Mais σ16=σ3.
5
Lemme : σ∼σ0 ssi∃ un renommage ρt.q. σ=ρ◦σ0. Donc σ1 ∼σ2∼σ3 dans l'exemple précédent.
6
Substitution(s) principale(s)
SoitS en ensemble de substitutions etτ ∈ S. On dit que τ est principale ssi toute substitution σ∈ S est une instance deτ. Exemple :Soit S ={σ1, σ2, σ3, σ4, σ5}, où σ1={x/y}, σ2={y/x},σ3={x/y, w/z, z/w}, σ4={x/u, y/u} et σ5={x/a, y/a}.
Alors σ1,σ2 etσ3 sont principales pourS. En eet,
σ2, σ3, σ4, σ5≤σ1 etσ1, σ3, σ4, σ5≤σ2 et σ1, σ2, σ4, σ5≤σ3
Mais σ16≤σ4 etσ16≤σ5 (entre autres).
7
Unication comme solution d'un système d'équations Deux termes A etB sontuniables ss'il existe une substitutionσ t.q. σ(A) =σ(B)(σ est donc un unicateurde Aet B).
Une équationest une paire de termes de la forme A .=B. On dit qu'elle est uniablessi les termesA etB le sont.
Un système/problème d'équations E est un ensemble d'équations.
On dit qu'il est uniablessi il existe une substitution qui est unicateur de toutes les équations de E. Cette substitution est appelée solution deE.
On s'intéresse aux systèmes d'équations nis.
8
L'unicité
1. On identie deux unicateursσ etσ0 d'un problèmeP s'ils ne diérent que par des renommage de variables, c'est à dire, si σ∼σ0.
2. On considère uniquement comme unicateurs deP les substitutions σt.q. Dom(σ)⊆V ar(P).
Exemple :Soit S ={x .=y}. Prenons trois unicateurs principaux deS :σ1={x/y},σ2={y/x} et
σ3={x/y, z/w, w/z}.
Alors σ1=σ2 (car [σ1]∼= [σ2]∼) etσ3 n'est plus considéré comme un unicateurs deS.
9
L'unicité
Module ces considérations, l'unicateur pricipal d'un problème P est unique modulo renommage, c'est à dire :
Si σ etσ0 sont deux unicateurs principaux de P, alorsσ∼σ0.
10
Les formes résolues
Dénition :Un système d'équations E est enforme résoluessi il est de la forme{α1=. t1, . . . , αn=. tn}, où
toutes les variables αi sont distinctes (i6=j implique αi 6=αj) aucuneαi n'apparaît dans untj (∀i, αi ∈/ S
1≤j≤nV ar(tj))
Notation : Si E est un système en forme résolue {α1=. t1, . . . , αn =. tn} on note E~ la substitution {α1/t1, . . . , αn/tn}.
11
Les règles de transformation
E∪ {s .=s}
E (eacer) E∪ {t .=α} t /∈ X
E∪ {α .=t} (orienter)
E∪ {f(s1, . . . , sn)=. f(t1, . . . , tn)}
E∪ {s1=. t1, . . . , sn=. tn} (décomposer)
E∪ {α .=s} α∈V ar(E) α /∈V ar(s)
E{α/s} ∪ {α .=s} (remplacer)
12
Algorithme d'unication d'un système E
1. On démarre avec un système E
2. On applique les règles de transformation tant qu'on peut, on obtient un problème P
3. Si le systèmeP est en forme résolue alors renvoyer ~P .
sinon échec
13
Exemple
Soit P ={f(x, h(b), c)=. f(g(y), y, c)}.
f(x, h(b), c)=. f(g(y), y, c) x .=g(y), h(b)=. y, c .=c d
x .=g(y), h(b)=. y e x .=g(y), y .=h(b) o x .=g(h(b)), y .=h(b) r
L'unicateur principal de P est σ={x/g(h(b)), y/h(b)}.
Ainsi, σf(x, h(b), c) =f(g(h(b)), h(b), c)=σf(g(y), y, c).
14
Vers la correction et la complétude de l'algorithme
Lemme :
1. L'algorithme termine.
2. Siσ est un unicateur d'une forme résolueP, alors σ=σ ~P. 3. Si une règle transforme un problème P dans un problèmeS,
alors les solutions de P etS sont les mêmes.
4. SiE est en forme résolue, alors E~ est solution du problème E.
15
Correction et complétude de l'algorithme Théorème : (Correction) Si l'algorithme trouve une
substitution ~S pour le problème P, alorsP est uniable et ~S est un unicateur principal de P.
Autrement dit,
Si P n'est pas uniable, l'algorithme échoue.
Théorème : (Complétude) Si le système P est uniable, alors l'algorithme calcule l'unicateur principal de P.
Autrement dit,
Si l'algorithme échoue, alors le système P n'est pas uniable.
16