CM3 Flashcards
Qu’est-ce qu’une substitution ?
Une application des variables vers les termes, qui peut être étendue aux termes et aux formules, et qui définit pour chaque variable de son domaine par quel terme on le remplace dans une formule
Qu’est-ce qu’une substitution moins générale qu’une autre ?
σ’ est moins générale que σ s’il existe σ’’ telle que σσ’’ = σ’
Qu’est-ce qu’un unificateur de deux termes ?
Une substitution σ est un unificateur de deux termes s et t si et seulement si σs = σt
Théorème de l’unification de deux termes
Étant donnés deux termes s et t, soit il n’existe pas d’unificateur entre les deux, soit il existe un unificateur le plus général (mgu)
Qu’est-ce qu’un mgu ?
Une subsitution σ pour deux termes s et t telle que
- σ est un unificateur de s et t
- tout unificateur σ’ de s et t est une instance σ, c’est-à-dire qu’il existe σ’’ tel que σ’ = σσ’’
Comment calculer le mgu de deux termes ?
Avec l’algorithme de Robinson ?
Quelles sont les règles de l’algorithme de Robinson ?
- Delete
- Decompose
- Conflict
- Swap
- Eliminate
- Check
Règle Delete de l’algorithme de Robinson
G ∪ {t = t} → G
Règle Decompose de l’algorithme de Robinson
G ∪ {f(s1, …, sn) = f(t1, …, tn) } → G ∪ {s1 = t1, …, sn = tn}
Règle Conflict de l’algorithme de Robinson
G ∪ {f(s1, …, sn) = g(t1, …, tm) } → ⊥ si n != m ou f != g
Règle Swap de l’algorithme de Robinson
G ∪ {f(s1, …, sn) = x} → G ∪ {x = f(s1, …, sn)}
Règle Eliminate de l’algorithme de Robinson
G ∪ {x = t} → G[t/x] ∪ {x = t} si x !∈ t et x ∈ G
Règle Check de l’algorithme de Robinson
G ∪ {x = f(s1, …, sn)} → ⊥ si x ∈ f(s1, …, sn)
Règle sans variable libre δ∃, c frais
∃ x, P(x)
_________
P(c)
Règle sans variable libre γ¬∃
¬∃ x, P(x)
__________
¬ P(t)