Académique Documents
Professionnel Documents
Culture Documents
1 Forme clausale
Un littéral est une formule de la forme p ou ¬p, avec p une variable propositionnelle. Une
clause est une disjonction de littéraux. Une formule φ en Forme Normale Conjonctive
(FNC) est une conjonction de clauses, donc de la forme
Théorème 1. Pour toute formule ψ, il existe une formule φ en FNC qui est équivalente à ψ.
1
Une clause l1 ∨ · · · ∨ lm peut aussi être représentée par l’ensemble {l1 , . . . , lm }. La clause vide
⊥ est dénotée par {}. Une formule en FNC
2 Résolution
Étant données deux clauses de la forme C = {l1 , . . . , ln , p} et C 0 = {l10 , . . . , ln0 , ¬p}, on définit
la résolvante de C et C 0 par
De C et C 0 , déduire res(C, C 0 ).
Étant donné un ensemble E de clauses, on dénote par satur(E) l’ensemble saturé de clauses
obtenu par résolutions successives à partir de E.
{¬r}
Donc satur(E) = {{p, q}, {¬q}, {¬p, ¬r}, {p}, {q, ¬r}, {¬r}}. Comme {} ∈
/ satur(E) on en déduit
que E (et donc φ) est satisfiable.
On dit qu’une clause C subsume une clause C 0 si C ⊆ C 0 , auquel cas C 0 est conséquence
logique de C ; en d’autres termes C est “plus précise” que C 0 . Si C, C 0 ∈ E et C subsume C 0 , alors
C 0 peut être retirée de E sans que cela ne change le caractère satisfiable (ou non) de E. Il en
résulte un nouvel ensemble de clauses E 0 plus petit, et donc plus simple à étudier.
2
3 Application : vérifier la validité d’un jugement
Soit φ une formule dont on veut vérifier la validité. On peut voir que
Exemple 2. Considérons le jugement {p → (q ∨ ¬r), ¬q, r ∨ ¬p} ¬p. Après mise en FNC on
obtient l’ensemble E = {{¬p, q, ¬r}, {¬q}, {r, ¬p}, {p}}. À partir de E on peut alors dériver la
clause vide comme suit :
{¬p, q, ¬r} {¬q} {r, ¬p} {p}
{¬p}
{}