Proofs
1. Par résolution :
Nouvelle base de connaissance :
\[ \neg(\exists x, R(x) \land \lnot S(x)) \]
Nous devons négativement universellement quantifier et distribuer :
\[ \forall x, \neg(R(x) \land \lnot S(x)) \]
Appliquons les règles de résolution :
\[ \forall x, \neg P(x) \lor \exists y, Q(x, y) \]
\[ \neg P(x) \lor Q(x, y) \lor R(y) \]
\[ \neg R(y) \lor \neg S(y) \lor \neg P(x) \lor \neg Q(y, x) \]
\[ \neg S(x) \lor R(x) \]
\[ P(x) \]
En résolvant ces clauses, on obtient la clause vide (\(\bot\)), ce qui signifie que la négation de la conclusion est insatisfaisante, et donc la conclusion \(\exists x, R(x) \land \lnot S(x)\) est prouvée.
2. Par chaînage avant :
On commence par instancier les quantificateurs existentiels dans la base de connaissance et utiliser les clauses pour déduire de nouvelles clauses jusqu'à atteindre la conclusion.
- À partir de la clause 5 : \( P(c) \) (où \(c\) est une constante)
- À partir de la clause 1 (avec \(c\)) : \( \exists y, Q(c, y) \)
- À partir de la clause 2 (avec \(c\) et une nouvelle constante \(d\)) : \( R(d) \)
- À partir de la clause 4 (avec \(c\)) : \( R(c) \)
À ce stade, nous avons \(R(d)\) et \(R(c)\), nous pouvons donc conclure \(R(c) \land \lnot S(c)\), et par conséquent, la conclusion est prouvée.
3. Par chaînage arrière :
On commence par instancier la conclusion et essayer de remonter la chaîne pour satisfaire les prémisses.
- \( \exists x, R(x) \land \lnot S(x) \)
- \( R(a) \land \lnot S(a) \) (où \(a\) est une nouvelle constante)
On remonte ensuite la chaîne :
- À partir de la clause 4 : \( \lnot S(a) \lor R(a) \)
- À partir de la clause 3 (avec \(a\) et une nouvelle constante \(b\)) : \( \lnot R(b) \lor \lnot S(b) \lor \lnot P(a) \lor Q(b, a) \)
- À partir de la clause 2 (avec \(a\) et \(b\)) : \( \lnot P(a) \lor Q(b, a) \lor R(b) \)
- À partir de la clause 1 (avec \(a\) et une nouvelle constante \(c\)) : \( \lnot P(a) \lor Q(c, a) \)
On peut maintenant utiliser la clause \( \lnot P(a) \lor Q(c, a) \) avec la clause \( P(a) \) pour obtenir \( Q(c, a) \), et utiliser cela avec \( \lnot S(b) \lor \lnot P(a) \lor Q(b, a) \) pour obtenir \( \lnot S(b) \). Enfin, cela peut être utilisé avec \( \lnot S(a) \lor R(a) \) pour obtenir \( \bot \), prouvant ainsi la conclusion.