• Aucun résultat trouvé

Le domained'une substitutionσ est l'ensemble Dom(σ)={x∈ X |σ(x)6=x}

N/A
N/A
Protected

Academic year: 2022

Partager "Le domained'une substitutionσ est l'ensemble Dom(σ)={x∈ X |σ(x)6=x}"

Copied!
3
0
0

Texte intégral

(1)

La théorie de l'unication Retour sur les substitutions Les unicateurs

Les formes résolues

Les règles de transformation Algorithme d'unication

Correction et complétude de l'algorithme

1

Retour sur la notion de substitution Dénition :

Une substitutionest une fonction σ:X → TΣ,X. Le domained'une substitutionσ est l'ensemble

Dom(σ)={x∈ X |σ(x)6=x}.

Le codomained'une substitution σ est l'ensemble Codom(σ)={V I(σ(x))|x∈Dom(σ)}.

Un renommage est une substitution injective σ t.q.σ(x) =y

∀x∈Dom(σ).

Si le domaine d'une substitution σ est nion note σ={x1/t1, . . . , xn/tn} si σ(xi) =ti etxi ∈Dom(σ).

L'application d'une substitutionà un terme est l'extension de σ aux termes donnée par σ(f(t1, . . . , tn)) =f(σ(t1), . . . , σ(tn)).

2

Composition de deux substitutions

Soient σet τ deux substitution. Lacomposition de σ avecτ est donnée par σ◦τ(x) =σ(τ(x)).

Exemple :Soit σ={x/f(y), w/g(z, z)} et

τ ={y/f(a), z/g(x, b)}. La substitution τ ◦σ est donnée par {x/f(f(a)), y/f(a), w/g(g(x, b), g(x, b)), z/g(x, b)} et la substitution σ◦τ est donnée par

{y/f(a), z/g(f(y), b), x/f(y), w/g(z, z)}.

3

Les unicateurs Dénition :

Un problème d'unication est un ensemble de paires de termes de la forme P ={s1 .

=t1, . . . , sn .

=tn}.

Un unicateur d'un problèmeP est une susbtitution σ t.q.

σ(si) =σ(ti)pour toute équation si =. ti dansP.

Un problème P est uniables'il existe un unicateur de P. Un unicateur principal de P est un unicateurσ∈ P t.q. pour

tout autre unicateurτ de P il existe une substitution γ t.q.

τ =γ◦σ.

L'ensemble de variablesde P est notée V ar(P). L'application d'une substitutionσ à P ={s1 .

=t1, . . . , sn .

=tn} est le problème σ(P) ={σ(s1)=. σ(t1), . . . , σ(sn)=. σ(tn)}.

4

(2)

Les conventions

1. On identie deux unicateurs σ etσ0 qui ne diérent que par des renommage de variables. Formellement,

σ∼σ0 ssi deux renommagesρ, ρ0 t.q. σ=ρ◦σ0 etσ0=ρ0◦σ 2. On considère uniquement comme unicateurs de P les

substitutions σt.q. Dom(σ)⊆V ar(P).

En conséquence, l'unicateur pricipal d'un problèmeP est unique modulo renommage, c'est à dire :

Si σ etσ0 sont deux unicateurs principaux de P, alors σ∼σ0.

5

Les formes résolues

Dénition : Un problème d'unication P est enforme résoluessi il est de la forme {x1 .

=t1, . . . , xn .

=tn}, où

1. toutes les variables xi sont distinctes (i6=j impliquexi 6=xj) 2. aucunexi n'apparaît dans unti (xi ∈/ V I(ti))

Dénition : Soit{x1=. t1, . . . , xn =. tn} la forme résolue d'un problème P. L'unicateur associé àP est la substitution

P~ ={x1/t1, . . . , xn/tn}.

6

Les règles de transformation P ∪ {s .

=s}

P (eacer) P ∪ {t .

=x} t /∈ X

P ∪ {x=. t} (orienter) P ∪ {f(s1, . . . , sn) .

=f(t1, . . . , tn)}

P ∪ {s1 =. t1, . . . , sn=. tn} (décomposer)

P ∪ {x .

=s} x∈V ar(P) x /∈V I(s)

P{x/s} ∪ {x=. s} (remplacer)

7

Algorithme d'unication d'un problème P 1. On démarre avec un problème P

2. On applique les règles de transformation tant qu'on peut, on obtient un problème S

3. Si le problème S est en forme résolue alors renvoyerS~

sinon échec

8

(3)

Correction et 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ème S,

alors les unicateur de P etS sont les mêmes.

Théorème : (Correction) Si l'algorithme trouve une substitution S~ pour le problème P, alorsS~ est un unicateur principal deP.

Théorème : (Complétude) Si le problème P est uniable, alors l'algorithme calcule l'unicateur principal deP.

9

Références