Les algèbres de termes
Les signatures et les termes nis
Une signatureΣ est un ensemble non vide desymboles de fonction t.q. chaque f ∈Σ possède unearitén.
Soit X un ensemble de variables et Σ une signature. L'ensemble T(X,Σ)de termessur X etΣ est dénie par :
Toute variable x∈ X est un terme dans T(X,Σ) Si f est d'arité n, ett1, . . . , tn sont dans T(X,Σ), alors
f(t1, . . . , tn)est un terme dans T(X,Σ)
On note V ar(t)l'ensemble de variables du terme t. Un terme test clos si V ar(t) =∅. L'ensemble de termes clos est notéT(∅,Σ) ou T(Σ).
1
Les suites d'entiers, les positions d'un terme
L'ensemble IN∗ de suites surIN est le plus petit ensemble t.q.
Λ∈IN∗
Si i∈IN etp∈IN∗, alorsip∈IN∗
L'ensemble P os(t)de positions d'un termet est un sous-ensemble de IN∗ déni par :
Λ∈P os(t)
Si t=f(t1, . . . , tn) etp∈P os(ti), alorsip∈P os(t) pour tout 1≤i≤n.
La relation ≤pref sur les suites d'entiers
L'opération de concatenationsur deux positions de IN∗ est dénie par induction comme suit :
Λ.q = q
(ip).q = i(p.q)
La relation préxe ≤pref surIN∗×IN∗ est dénie par : p≤pref q ssi∃r∈IN∗ t.q.p.r =q
Les positions p etq sontincompatibles ou parallèles, noté p ./ q, ssi p6≤pref qet p6≤pref q.
Dénition alternative de terme
Un termet est unefonction partiellede IN∗ vers Σ∪ X t.q.
t(Λ)est déni
Si t(p)est déni, alors pour toutq≤pref p,t(q) est aussi déni.
Si t(p) =x, alors pour tout p <pref s,t(s)n'est pas déni.
Si t(p) =f etf est d'aritén, alors pour toute position p.it.q.
1≤i≤n,t(p.i)est aussi déni.
Ledomain d'une terme t, notéDom(t)est l'ensemble
{p∈IN∗|t(p) est déni}. SiDom(t) est ni, alorst est unterme ni(dit simplement terme). Si Dom(t)est inni, alorst est un terme inni.
4
Les sous-termes d'un terme
Soit t un terme. L'ensembleST(t) desous-termes de t est déni par :
ST(x) ={x}.
ST(f(t1, . . . , tn)) ={f(t1, . . . , tn)} ∪ {v|v∈ST(ti)}.
L'ensemble de sous-termes stricts d'un terme t est l'ensemble de sous-termes auquel on a enlevé t.
On écrit tDs(resp.t . s) si sest un sous-terme (resp. strict) det.
5
Sous-terme à une position
Soitt un terme et p∈P os(t). Le sous-terme det à la positionp, notét|p, est déni par récurrence sur ppar :
t|Λ=t.
f(t1, . . . , tn)|iq =ti|q.
Exercice : Montrer la propriété suivante : Sip.q∈P os(t), alors t|p.q = (t|p)q
Remplacement
Le remplacementdu sous-terme t|p par un terme v, notét[p←v]
ou t[v]p, est déni comme suit : t[v]Λ=v
f(t1, . . . , tn)[v]ip =f(t1, . . . , ti[v]p, . . . , tn) Exercice : Montrer les propriétés suivantes :
Si p∈ P os(s)etq∈P os(t), alors(s[t]p)|p.q =tq et (s[t]p)[r]p.q =s[t[r]q]p.
Si p.q∈P os(s), alors(s[t]p.q)|p= (s|p)[t]q et (s[t]p.q)[r]p=s[r]p.
Si p, q∈P os(s)et p ./ q, alors(s[t]p)|q =s|q et (s[t]p)[r]q = (s[r]q)[t]p.
Σ-algèbres
UneΣ-algèbre Aest dénie par :
Un ensemble Anon vide appelédomain de discours Pour chaquef ∈Σ d'arité n, une fonctionfA:An 7→A,
appelée interprétationde f.
Exemple :L'algèbre syntaxiqueT(X,Σ):A est l'ensemble de termes sur X etΣ etfA(t1, . . . , tn) =f(t1, . . . , tn).
Exemple :L'algèbre syntaxique closeT(Σ) :Aest l'ensemble de termesclos sur Σet fA(t1, . . . , tn) =f(t1, . . . , tn).
8
Sous-algèbres
Une Σ-algèbre A1 est unesous-algèbre de laΣ-algèbreA2 ssi A1⊆A2
pour tout n≥0, pour tout symbole f ∈Σ d'arité net pour tout a1, . . . , an ∈A1 on a fA1(a1, . . . , an) =fA2(a1, . . . , an).
9
Congruences
Une relationR sur une Σ-algèbre A. On dit que f ∈Σ est monotonepar rapport àR ssi pour tout i= 1. . . n,ai R a0i impliquefA(a1, . . . ,ai, . . . , an)RfA(a1, . . . ,a0i, . . . , an).
Unecongruence∼ sur uneΣ-algèbre est une relation d'équivalence (réexive, symétrique, transitive), t.q. tout symbolef ∈Σ est monotone par rapport à∼.
Notation : S/∼ est l'ensemble de classes d'équivalence d'une Σ-algèbre S modulo une congruence∼ surS.
Exercice : Soit R une relation d'équivalence sur un ensembleA et soit a un élément quelconque de A. Montrer que pour tout x, y∈ Asi [x]∩[y]6=∅, alors[x] = [y].
Exercice : Soit T la relation sur les entiers dénie par aTb ssi 5 est un diviseur de a−b. Montrer queT est une relation
d'équivalence, et qu'elle est une congruence par rapport aux deux fonctions suivantes :
i(a) = 7×a et p(a, b) = (2×a) + (3×b) Exercice : Soit S une relation déquivalence quelconque sur les entiers naturels. Montrer que si S est une congruence par rapport à +, alorsS est une congruence par rapport à×.
L'algèbre quotient
Si ∼ est une congruence sur uneΣ-algèbre A, alors A∼ est une Σ-algèbre, ditealgèbre quotient sur At.q.
son domain estA/∼
pour chaquef ∈Σ,fA∼([a1], . . . ,[an]) = [fA(a1, . . . , an)].
12
Homomorphismes, endomorphismes, isomorphismes Soit AetB deuxΣ-algèbres. Un homomorphisme (ou morphisme) est une fonction Φ :A → B t.q. pour toutn≥0, pour tout symbole f ∈Σ d'arité n et pour tout a1, . . . , an∈A on a
Φ(fA(a1, . . . , an)) =fB(Φ(a1), . . . ,Φ(an))
Un endomorphisme sur une Σ-algèbre Aest un morphisme deA sur elle même. Un isomorphismeest un morphisme bijectif (injectif et surjectif).
13
Exemple :Φ : Z→ {2.z |z∈Z} t.q. Φ(z) =z+z. Exercice : SoitΦ la fonction suivante :
Φ(a) = 2
Φ(f(t)) = Φ(t) Φ(g(t)) = Φ(t) + 1 Φ(h(s, t)) = Φ(s) + Φ(t)
Dénir une Σ-algèbre B t.q. Φ soit un homomorphisme entre l'algèbre syntaxique clos T({a, f, g, h})et B.
Algèbres initiale
Une Σ-algèbre I estinitiale dans K ssi pour touteΣ-algèbre A ∈ K il existe un unique morphisme Φ :I → A.
Assignations
SoitA uneΣ-algèbre et soit X un ensemble de variables.
UneA-assignationest une application σ:X → A.
Théorème : Pour touteA-assignationσ:X → A, il existe un unique morphisme bσ:T(X,Σ)→ A, t.q.
b
σ(x) = σ(x)
b
σ(f(t1, . . . , tn)) = fA(bσ(t1), . . . ,σ(tb n))
Notation : On confondσ et bσ
16
Substitutions
Une substitution est un endomorphisme deT(X,Σ)en T(X,Σ). Une substitution closeest un morphisme de T(X,Σ)en T(Σ). Le domained'une substitution θ est l'ensemble
Dom(θ)={x∈ X |θ(x)6=x}.
Une substitution est ni si son domain est ni. Dans ce cas, on note θ={x1/t1, . . . , xn/tn} si θ(xi) =ti pour tout 1≤i≤n. L'image d'une substitution est l'ensemble
Im(θ)={θ(x)|x∈Dom(θ)}. On noteV arIm(θ) l'ensemble S
x∈Dom(θ)V ar(θ(x)).
Un renommage θ est une substitution bijective de Dom(θ) sur V arIm(θ).
17
Stabilité par substitution
Une relationR surT(X,Σ)est stable par substitution ssit R t0 impliqueθ(t)R θ(t0)pour toute substitution θ.
Unication
Deux termes s ett sontuniables ss'il existe une substitution t.q.
θ(s) =θ(t)(θ est donc ununicateur des ett).
La composition de deux substitutions θ etτ est dénie par (θ◦τ)(x) =θ(τb (x))pour toute variable x∈ X.
Soient θ etτ deux substitutions.θ est uneinstancede τ (ouτ est plus générale queθ) ss'il existe une substitutionρ t.q. pour toute variable x∈ X, (ρ◦τ)(x) =θ(x).
Soit S un ensemble de substitutions. Une substitutionθ∈ S est principale ssi toute substitution τ ∈ S est une instance de θ.
Unicateur principal
Théorème : SoitE l'ensemble (non vide) d'unicateurs de deux termess ett. Alors il existe un unicateurθ ∈ E appeléunicateur principalt.q. pour tout τ ∈ E,θ est plus général que τ. De plus, cet unicateur principal estunique à renommage près.
Exemple :
Une substitutionθ est idempotentessi θ◦θ=θ.
Théorème : Si s ettsont uniables, alors il existe un unicateur principal des ett qui est idempotent.
Mais comment construire cette unicateur ?
20
Vers un algorithme d'unication
La construction d'un système d'équations à partir d'un problème d'unication
Les règles pour transformer le système d'équations L'algorithme d'unication
L'interprétation du résultat de l'algorithme
21
Les systèmes d'équations
Dénition :Une équationest une paire de termes de la forme s .
=t. On dit qu'elle estuniablessi les termes set tle sont.
Dénition :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 deE. Cette substitution est appeléesolution deE.
On s'intéresse aux systèmes d'équationsnis qu'on notera {s1 .
=t1, . . . , sn .
=tn}.
Les formes résolues
Dénition : Un système d'équations E est enforme résolue ssi 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}.
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)
24
L'algorithme d'unication d'un système E
1. On démarre avec un système d'équations E
2. On applique les règles de transformation tant qu'on peut, on obtient un nouveau système P
3. Si le système P est en forme résolue alors renvoyerP~
sinon échec
25
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.
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.