CM6 Flashcards
Qu’est-ce que le problème du raisonnement avec égalité ?
On considère une conjonction d’égalités et d’inégalités et on se demande si cette conjonction est satisfiable au sens de la vérification des propriétés des fonctions (et pas de l’égalité syntaxique)
Principe de la congruence closure
- On considère les termes qui apparaissent dans la conjonction et leurs sous-termes
- On cherche une partition maximale en classes d’équivalence telles que
- Les égalités sont respectées : s ≈ t → s et t sont dans la même classe
- La congruence est respecyée : (si)i=1..n = (ti)i=1..n → f(s1, …, sn) et g(s1, …, sn) sont dans la même classe
- Le problème est insatisfiable s’il contient une inégalité s !≈ t telle que s et t sont dans la même classe
Algorithme de congruence-closure
- Pour chaque terme t :
- class(t) := {t}
- Pour chaque égalité si ≈ ti :
- class(si) := class(ti) := class(si) ∪ class(ti)
- Tant qu’il existe f(s1, …, sn) et f(t1, …, tn) tel que (si)i=1..n = (ti)i=1..n et class(f(s)) != class(f(t))
- class(f(s)) := class(f(t)) := class(f(s)) ∪ class(f(t))
- S’il existe s !≈ t tel que class(s) = class(t)
- Retourner UNSAT
- Retourner SAT
Complexité de l’implémentation de l’algorithme de congruence-closure par Nelson et Oppen
Complexité quadratique
Comment raisonner avec l’égalité en logique propositionnelle (plutôt au premier ordre mais avec toutes les variables existentiellement quantifiées) ?
Avec l’algorithme de congruence-closure
Comment raisonner avec l’égalité au premier ordre ?
En faisant de la saturation avec des règles d’inférence dédiées à l’égalité : superposition
Quelles hypothèse simplificatrice fait-on pour appliquer la superposition ?
On considère que le seul prédicat des formules est l’égalité
Comment supprimer tous les prédicats (à part l’égalité) d’une formule ?
Pour chaque prédicat p, le remplacer par un symbole de fonction fp de même arité et ajouter à la signature un constante ⊤ de façon à ce qu’on puisse remplacer “p(t1, …, tn)” par “fp(t1, …, tn) ≈ ⊤”
Axiomes de la théorie de l’égalité
- Réflexivité
- Symétrie
- Transitivié
- Monotonicité pour chaque symbole de fonction f
- Monotonicité pour chaque symbole de prédicat p
Règle de paramodulation
s ≈ t ∨ C1 C2[s’]
_________________
σ(C1 ∨ C2[t])
où σ est un mgu de s et s’ et s ≈ t équivaut à t ≈ s
Règle de résolution d’égalité (pour la paramodulation)
s !≈ s’ ∨ C
___________
σ(C)
où σ est un mgu de s et s’
Quelles sont les propriétés qu’un ordre sur les termes doit respecter
- L’ordre doit être bien fondé
- L’ordre doit être compatible avec l’instanciation : pour tout σ, s, t, si s > t alors σ(s) > σ(t)
- L’ordre doit être total sur les termes sans variable
Principe de la superposition
- Ordonner les termes avec un ordre qui respecte les bonnes propriétés
- Appliquer la règle de superposition, qui est similaire à la règle de paramodulation sauf qu’elle ne s’applique que lorsque on ne créée pas de terme plus grand
Règle de superposition positive
s ≈ t ∨ C1 u[s’] ≈ v ∨ C2
_________________________
σ(u[t] ≈ v ∨ C1 ∨ C2)
où σ est un mgu de s et s’, σ(s) !≤ σ(t), σ(u[s’] ) !≤ σ(v) et s’ n’est pas une variable
Règle de superposition négative
s ≈ t ∨ C1 u[s’] !≈ v ∨ C2
_________________________
σ(u[t] !≈ v ∨ C1 ∨ C2)
où σ est un mgu de s et s’, σ(s) !≤ σ(t), σ(u[s’] ) !≤ σ(v) et s’ n’est pas une variable