Logique propositionnelle
1Salem BENFERHAT
Centre de Recherche en Informatique de Lens (CRIL-CNRS) email : benferhat@cril.fr
La logique propositionnelle
2 / 65
Rappels sur la logique propositionnelle
Qu’est ce que la logique propositionnelle
• Un langage formel pour exprimer des connaissances
• La forme la plus simple des logiques math ´ematiques
• Un langage symbolique pour d ´ecrire des propositions et de raisonner avec.
Qu’est-ce qu’une proposition?
Une proposition (ou assertion) est une phrase d ´eclarative qui peut- ˆetre soit vraie soit fausse (mais pas les deux, enfin dans des langages simples de repr ´esentation des connaissances!)
Rappels sur la logique propositionnelle
Qu’est ce que la logique propositionnelle
• Un langage formel pour exprimer des connaissances
• La forme la plus simple des logiques math ´ematiques
• Un langage symbolique pour d ´ecrire des propositions et de raisonner avec.
Qu’est-ce qu’une proposition?
Une proposition (ou assertion) est une phrase d ´eclarative qui peut- ˆetre soit vraie soit fausse (mais pas les deux, enfin dans des langages simples de repr ´esentation des connaissances!)
3 / 65
Rappels sur la logique propositionnelle
Qu’est ce que la logique propositionnelle
• Un langage formel pour exprimer des connaissances
• La forme la plus simple des logiques math ´ematiques
• Un langage symbolique pour d ´ecrire des propositions et de raisonner avec.
Qu’est-ce qu’une proposition?
Une proposition (ou assertion) est une phrase d ´eclarative qui peut- ˆetre soit vraie soit fausse (mais pas les deux, enfin dans des langages simples de repr ´esentation des connaissances!)
Rappels sur la logique propositionnelle
Qu’est ce que la logique propositionnelle
• Un langage formel pour exprimer des connaissances
• La forme la plus simple des logiques math ´ematiques
• Un langage symbolique pour d ´ecrire des propositions et de raisonner avec.
Qu’est-ce qu’une proposition?
Une proposition (ou assertion) est une phrase d ´eclarative qui peut- ˆetre soit vraie soit fausse (mais pas les deux, enfin dans des langages simples de repr ´esentation des connaissances!)
3 / 65
Rappels sur la logique propositionnelle
Quelques exemples
• RCL est champion de France en 1998
• 7 est un nombre premier
Ingr ´edients d’un langage logique
Syntaxe
• Vocabulaire : Un ensemble de symboles (dits propositionnels) et de connecteurs
• Un langage obtenu `a partir des r `egles qui combinent ces symboles
S ´emantique
• Sens associ ´e aux symboles et connecteurs
• Tables de v ´erit ´e Proc ´edure d’inf ´erence
• Ce sont des r `egles qui permettent de d ´eriver de nouvelles
propositions `a partir des propositions consid ´er ´ees comme vraies.
5 / 65
Ingr ´edients d’un langage logique
Syntaxe
• Vocabulaire : Un ensemble de symboles (dits propositionnels) et de connecteurs
• Un langage obtenu `a partir des r `egles qui combinent ces symboles
S ´emantique
• Sens associ ´e aux symboles et connecteurs
• Tables de v ´erit ´e
Proc ´edure d’inf ´erence
• Ce sont des r `egles qui permettent de d ´eriver de nouvelles
propositions `a partir des propositions consid ´er ´ees comme vraies.
Ingr ´edients d’un langage logique
Syntaxe
• Vocabulaire : Un ensemble de symboles (dits propositionnels) et de connecteurs
• Un langage obtenu `a partir des r `egles qui combinent ces symboles
S ´emantique
• Sens associ ´e aux symboles et connecteurs
• Tables de v ´erit ´e Proc ´edure d’inf ´erence
• Ce sont des r `egles qui permettent de d ´eriver de nouvelles
propositions `a partir des propositions consid ´er ´ees comme vraies.
5 / 65
Syntaxe de
la logique propositionnelle
Les connecteurs logiques
N ´egation
• Si ”p” d ´esigne une proposition alors on note souvent ”¬p” comme la n ´egation de ”p”
• ”¬p” signifie : il n’est vraie que ”p”
• Il n’est pas vraie que ”8 est un nombre premier”
7 / 65
Les connecteurs logiques
N ´egation
• Si ”p” d ´esigne une proposition alors on note souvent ”¬p” comme la n ´egation de ”p”
• ”¬p” signifie : il n’est vraie que ”p”
• Il n’est pas vraie que ”8 est un nombre premier”
Les connecteurs logiques
N ´egation
• Si ”p” d ´esigne une proposition alors on note souvent ”¬p” comme la n ´egation de ”p”
• ”¬p” signifie : il n’est vraie que ”p”
• Il n’est pas vraie que ”8 est un nombre premier”
7 / 65
Les connecteurs logiques
Conjonction et Disjonction
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p∧q”, pour exprimer le fait que les deux assertionspetqsont toutes les deux sont vraies.
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p∨q”, pour exprimer le fait que au moins l’une des deux assertionspetq est vraie (elles peuvent ˆetre vraies toutes les deux).
Les connecteurs logiques
Conjonction et Disjonction
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p∧q”, pour exprimer le fait que les deux assertionspetqsont toutes les deux sont vraies.
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p∨q”, pour exprimer le fait que au moins l’une des deux assertionspetq est vraie (elles peuvent ˆetre vraies toutes les deux).
8 / 65
Les connecteurs logiques
Remarques
• La n ´egation d’une proposition est une proposition
• La conjonction (respectivement la disjonction) de deux propositions est ´egalement une proposition.
Les connecteurs logiques
Implication mat ´erielle
• Tr `es importante pour exprimer des informations conditionnelles et contextuelles
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p⇒q”, pour exprimer le fait que sipest vraie alorsq ´egalement vraie.
• Noter que si la proposition ”p” est fausse alors l’implication ”p ⇒q est consid ´er ´ee comme vraie!
• L’implication mat ´erielle ”p⇒q est logiquement ´equivalente `a
¬p∨q”
10 / 65
Les connecteurs logiques
Implication mat ´erielle
• Tr `es importante pour exprimer des informations conditionnelles et contextuelles
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p⇒q”, pour exprimer le fait que sipest vraie alorsq ´egalement vraie.
• Noter que si la proposition ”p” est fausse alors l’implication ”p ⇒q est consid ´er ´ee comme vraie!
• L’implication mat ´erielle ”p⇒q est logiquement ´equivalente `a
¬p∨q”
Les connecteurs logiques
Implication mat ´erielle
• Tr `es importante pour exprimer des informations conditionnelles et contextuelles
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p⇒q”, pour exprimer le fait que sipest vraie alorsq ´egalement vraie.
• Noter que si la proposition ”p” est fausse alors l’implication ”p ⇒q est consid ´er ´ee comme vraie!
• L’implication mat ´erielle ”p⇒q est logiquement ´equivalente `a
¬p∨q”
10 / 65
Les connecteurs logiques
Implication mat ´erielle
• Tr `es importante pour exprimer des informations conditionnelles et contextuelles
• Si ”p” et ”q” d ´esignent deux propositions, alors on note souvent
”p⇒q”, pour exprimer le fait que sipest vraie alorsq ´egalement vraie.
• Noter que si la proposition ”p” est fausse alors l’implication ”p ⇒q est consid ´er ´ee comme vraie!
• L’implication mat ´erielle ”p⇒q est logiquement ´equivalente `a
¬p∨q”
Les connecteurs logiques
Equivalence logique
• Si ”p” et ”q” d ´esignent deux propositions alors on note souvent
”p⇔q” (not ´e aussip≡q), pour exprimer le fait que les deux propositionspetq sont ´equivalentes.
• ”p⇔q” est vue comme une conjonction de ”p⇒q” et ”q⇒p”
11 / 65
Les connecteurs logiques
Equivalence logique
• Si ”p” et ”q” d ´esignent deux propositions alors on note souvent
”p⇔q” (not ´e aussip≡q), pour exprimer le fait que les deux propositionspetq sont ´equivalentes.
• ”p⇔q” est vue comme une conjonction de ”p⇒q” et ”q⇒p”
Un peu de formel : d ´efinition du langage propositionnelle
Vocabulaire
Le vocabulaire est compos ´e :
• D’un ensemble symboles propositionnels V
• D’un ensemble de connecteurs logiques : ¬,∧,∨,⇒,⇔
• D’un ensemble de s ´eparateurs tr `es utiles pour lever les ambiguit ´es : ”,”, ”)”, ”(”,...
12 / 65
Un peu de formel : d ´efinition du langage propositionnelle
Vocabulaire
Le vocabulaire est compos ´e :
• D’un ensemble symboles propositionnels V
• D’un ensemble de connecteurs logiques : ¬,∧,∨,⇒,⇔
• D’un ensemble de s ´eparateurs tr `es utiles pour lever les ambiguit ´es : ”,”, ”)”, ”(”,...
Un peu de formel : d ´efinition du langage propositionnelle
Vocabulaire
Le vocabulaire est compos ´e :
• D’un ensemble symboles propositionnels V
• D’un ensemble de connecteurs logiques : ¬,∧,∨,⇒,⇔
• D’un ensemble de s ´eparateurs tr `es utiles pour lever les ambiguit ´es : ”,”, ”)”, ”(”,...
12 / 65
Un peu de formel : d ´efinition du langage propositionnelle
Le langage : ensemble de formules propositionnelles
L’ensemble des formules propositionnelles (formules propositionnelles bien form ´ees, propositions) est d ´efini par les r `egles suivantes
1 Sip∈V alors p est une formule propositionnelle.
2 SIpest une formule propositionnelle alors¬pest une formule propositionnelle.
3 SIpetq sont des formules propositionnelles alorsp∧q,p∨q, p⇒q, etp⇔q, sont des formules propositionnelles.
4 Les formules propositionnelles sont obtenues uniquement en appliquant les r `egles (1)-(3) un certain nombre de fois.
Un peu de formel : d ´efinition du langage propositionnelle
Le langage : ensemble de formules propositionnelles
L’ensemble des formules propositionnelles (formules propositionnelles bien form ´ees, propositions) est d ´efini par les r `egles suivantes
1 Sip∈V alors p est une formule propositionnelle.
2 SIpest une formule propositionnelle alors¬pest une formule propositionnelle.
3 SIpetq sont des formules propositionnelles alorsp∧q,p∨q, p⇒q, etp⇔q, sont des formules propositionnelles.
4 Les formules propositionnelles sont obtenues uniquement en appliquant les r `egles (1)-(3) un certain nombre de fois.
13 / 65
Un peu de formel : d ´efinition du langage propositionnelle
Le langage : ensemble de formules propositionnelles
L’ensemble des formules propositionnelles (formules propositionnelles bien form ´ees, propositions) est d ´efini par les r `egles suivantes
1 Sip∈V alors p est une formule propositionnelle.
2 SIpest une formule propositionnelle alors¬pest une formule propositionnelle.
3 SIpetq sont des formules propositionnelles alorsp∧q,p∨q, p⇒q, etp⇔q, sont des formules propositionnelles.
4 Les formules propositionnelles sont obtenues uniquement en appliquant les r `egles (1)-(3) un certain nombre de fois.
Un peu de formel : d ´efinition du langage propositionnelle
Le langage : ensemble de formules propositionnelles
L’ensemble des formules propositionnelles (formules propositionnelles bien form ´ees, propositions) est d ´efini par les r `egles suivantes
1 Sip∈V alors p est une formule propositionnelle.
2 SIpest une formule propositionnelle alors¬pest une formule propositionnelle.
3 SIpetq sont des formules propositionnelles alorsp∧q,p∨q, p⇒q, etp⇔q, sont des formules propositionnelles.
4 Les formules propositionnelles sont obtenues uniquement en appliquant les r `egles (1)-(3) un certain nombre de fois.
13 / 65
S ´emantique de
la logique propositionnelle
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
• Plus il y a d’informations moins il y a d’interpr ´etations possibles!
15 / 65
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
• Plus il y a d’informations moins il y a d’interpr ´etations possibles!
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
• Plus il y a d’informations moins il y a d’interpr ´etations possibles!
15 / 65
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
• Plus il y a d’informations moins il y a d’interpr ´etations possibles!
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
• Plus il y a d’informations moins il y a d’interpr ´etations possibles!
15 / 65
Concept d’interpretations
• Rappel : Un symbole propositionnel est soit vrai soit faux (mais pas les deux en m ˆeme temps).
• La valeur de v ´erit ´e de chaque symbole propositionnel est CONNUE dans le monde REEL.
• Malheureusement, en pratique nous n’avons pas acc `es `a ce monde r ´eel. Nous avons uniquement une description partielle du monde r ´eel.
• Une interpr ´etation est aussi appel ´e monde possible car elle repr ´esente un monde candidat pour ˆetre le monde r ´eel. Une interpr ´etation est une hypoth `ese sur le monde r ´eel.
• Les informations (certaines) disponibles permettent d’ ´ecarter des interpr ´etations (des mondes impossibles)
Concept d’interpretations
D ´efinition
• Une interpr ´etation, souvent not ´eeI, est une affectation de valeur de v ´erit ´e `a chaque symbole propositionnel.
• On note souvent I(p)=1 ou ”T” (respectivement I(p)=0 ou ”F”) pour indiquer que le symbole p est vrai (respectivement faux) dans le monde possible I.
• Une interpr ´etation tout simplement correspond `a une ligne d’une table de v ´eri ´e
• A partir de l’interpr ´etation associ ´e aux propositions de base, on peut d ´eterminer la valeur de v ´erit ´e de toute formule complexe en donnant un sens `a chaque connecteur : ¬,∧,∨,⇒,⇔
16 / 65
Concept d’interpretations
D ´efinition
• Une interpr ´etation, souvent not ´eeI, est une affectation de valeur de v ´erit ´e `a chaque symbole propositionnel.
• On note souvent I(p)=1 ou ”T” (respectivement I(p)=0 ou ”F”) pour indiquer que le symbole p est vrai (respectivement faux) dans le monde possible I.
• Une interpr ´etation tout simplement correspond `a une ligne d’une table de v ´eri ´e
• A partir de l’interpr ´etation associ ´e aux propositions de base, on peut d ´eterminer la valeur de v ´erit ´e de toute formule complexe en donnant un sens `a chaque connecteur : ¬,∧,∨,⇒,⇔
Concept d’interpretations
D ´efinition
• Une interpr ´etation, souvent not ´eeI, est une affectation de valeur de v ´erit ´e `a chaque symbole propositionnel.
• On note souvent I(p)=1 ou ”T” (respectivement I(p)=0 ou ”F”) pour indiquer que le symbole p est vrai (respectivement faux) dans le monde possible I.
• Une interpr ´etation tout simplement correspond `a une ligne d’une table de v ´eri ´e
• A partir de l’interpr ´etation associ ´e aux propositions de base, on peut d ´eterminer la valeur de v ´erit ´e de toute formule complexe en donnant un sens `a chaque connecteur : ¬,∧,∨,⇒,⇔
16 / 65
Concept d’interpretations
D ´efinition
• Une interpr ´etation, souvent not ´eeI, est une affectation de valeur de v ´erit ´e `a chaque symbole propositionnel.
• On note souvent I(p)=1 ou ”T” (respectivement I(p)=0 ou ”F”) pour indiquer que le symbole p est vrai (respectivement faux) dans le monde possible I.
• Une interpr ´etation tout simplement correspond `a une ligne d’une table de v ´eri ´e
• A partir de l’interpr ´etation associ ´e aux propositions de base, on peut d ´eterminer la valeur de v ´erit ´e de toute formule complexe en donnant un sens `a chaque connecteur : ¬,∧,∨,⇒,⇔
Interpr ´etation des connecteurs : N ´egation
La proposition p Sa n ´egation¬p
0 1
1 0
17 / 65
Interpr ´etation des connecteurs : Conjonction
p q p∧q
0 0 0
0 1 0
1 0 0
1 1 1
Interpr ´etation des connecteurs : Conjonction
p q p∧q
0 0 0
0 1 0
1 0 0
1 1 1
18 / 65
Interpr ´etation des connecteurs : Disjonction
p q p∨q
0 0 0
0 1 1
1 0 1
1 1 1
Interpr ´etation des connecteurs : Disjonction
p q p∨q
0 0 0
0 1 1
1 0 1
1 1 1
19 / 65
Interpr ´etation des connecteurs : Implication mat ´erielle
p q p⇒q
0 0 1
0 1 1
1 1 1
1 0 0
Interpr ´etation des connecteurs : Implication mat ´erielle
p q p⇒q
0 0 1
0 1 1
1 1 1
1 0 0
20 / 65
Interpr ´etation des connecteurs : Implication mat ´erielle
p q p⇒q
0 0 1
0 1 1
1 1 1
1 0 0
Interpr ´etation des connecteurs : Implication mat ´erielle
p q p⇒q
0 0 1
0 1 1
1 1 1
1 0 0
20 / 65
Exercice
Ecrire une fonction qui calcule le degr ´e de v ´erit ´e d’une formule dans une interpr ´etation donn ´ee.
Mod `eles
• Une interpr ´etation I est dite mod `ele d’une formulep, not ´eeI |=p, si p est vraie dans I.
• Une interpr ´etation I est contre-mod `ele depsi la proposition p est fausse dans I.
Exercice
Ecrire une fonction qui calcule le degr ´e de v ´erit ´e d’une formule dans une interpr ´etation donn ´ee.
Mod `eles
• Une interpr ´etation I est dite mod `ele d’une formulep, not ´eeI|=p, si p est vraie dans I.
• Une interpr ´etation I est contre-mod `ele depsi la proposition p est fausse dans I.
21 / 65
Tautologies et contradictions
Tautologies
Une tautologie est une formule qui est vraie dans toutes les interpr ´etations.
Contradictions
Une contradiction est une formule qui n’admet aucun mod `ele. Exercice
Donne un exemple de formule qui est
• une tautologie,
• une contradiction
Tautologies et contradictions
Tautologies
Une tautologie est une formule qui est vraie dans toutes les interpr ´etations.
Contradictions
Une contradiction est une formule qui n’admet aucun mod `ele.
Exercice
Donne un exemple de formule qui est
• une tautologie,
• une contradiction
22 / 65
Tautologies et contradictions
Tautologies
Une tautologie est une formule qui est vraie dans toutes les interpr ´etations.
Contradictions
Une contradiction est une formule qui n’admet aucun mod `ele.
Exercice
Donne un exemple de formule qui est
• une tautologie,
• une contradiction
Inf ´erence
23 / 65
Inf ´erence
Equivalence
Deux formules sont dites ´equivalentes si elles admettent les m ˆemes mod `eles
Exercices
• Est-ce que les deux formulesp ⇒q et¬q⇒ ¬psont
´equivalentes?
• Est-ce que les deux formulesp ⇒q et¬p⇒ ¬qsont
´equivalentes?
Inf ´erence
Equivalence
Deux formules sont dites ´equivalentes si elles admettent les m ˆemes mod `eles
Exercices
• Est-ce que les deux formulesp⇒q et¬q⇒ ¬psont
´equivalentes?
• Est-ce que les deux formulesp ⇒q et¬p⇒ ¬qsont
´equivalentes?
24 / 65
Inf ´erence
Equivalence
Deux formules sont dites ´equivalentes si elles admettent les m ˆemes mod `eles
Exercices
• Est-ce que les deux formulesp⇒q et¬q⇒ ¬psont
´equivalentes?
• Est-ce que les deux formulesp⇒q et¬p⇒ ¬qsont
´equivalentes?
Autres notions
D ´efinitions
• Lit ´eral : un atome ou la n ´egation d’un atome.
• Clause : une disjonction de litt ´eraux.
• Cube : une conjonction de litt ´eraux.
• CNF : forme normale conjonction, une conjonction de clauses.
• DNF : forme normale disjonctive, une disjonction de cubes.
25 / 65
Transformations ´equivalentes
CNF et DNF
Toute formule peut ˆetre mise, de mani `ere ´equivalente, sous forme CNF (resp. DNF)
Exercice
Exercice : DNF
Soit p une formule sous forme DNF. Soit C une clause.
• Donner un algorithme qui v ´erifie si p est coh ´erente.
• Donner un algorithme qui v ´erifie sip∧C est coh ´erente
27 / 65
Exercice
Exercice : DNF
Soit p une formule sous forme DNF. Soit C une clause.
• Donner un algorithme qui v ´erifie si p est coh ´erente.
• Donner un algorithme qui v ´erifie sip∧Cest coh ´erente
Exercice
Exercice
Soit(p∨ ¬(q∨ ¬(r ∧ ¬q)))∧(¬p∨q)
• Mettre la formule sous forme DNF
• La formule est-elle coh ´erente avec la clause¬q∨r?
• La formule est-elle coh ´erente avec la clause¬p?
• La formule est-elle coh ´erente avec la clausep?
• Donner la liste des mod `eles de la formule.
28 / 65
Exercice
(p∨ ¬(q∨ ¬(r ∧ ¬q)))∧(¬p∨q)
≡ (p∨(¬q∧(r ∧ ¬q)))∧(¬p∨q)
≡ (p∨(¬q∧r ∧ ¬q))∧(¬p∨q)
≡ (p∨(r ∧ ¬q))∧(¬p∨q)
≡ (p∧(¬p∨q))∨((r ∧ ¬q)∧(¬p∨q))
≡ (p∧ ¬p)∨(p∧q)∨((r ∧ ¬q)∧(¬p∨q))
≡ ⊥∨(p∧q)∨((r ∧ ¬q)∧(¬p∨q))
≡ (p∧q)∨((r ∧ ¬q)∧(¬p∨q))
≡ (p∧q)∨(r ∧ ¬q∧ ¬p)∨(r ∧ ¬q∧q)
≡ (p∧q)∨(r ∧ ¬q∧ ¬p)∨⊥
≡ (p∧q)∨(r ∧ ¬q∧ ¬p)
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
30 / 65
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
30 / 65
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
30 / 65
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
Exercice
Exercice
Un cambriolage a eu lieu dans une bijouterie. 3 suspects : a, b, c.
Mod ´eliser de mani `ere ind ´ependante chacune des r `egles suivantes.
• Il y a au moins un coupable.
• Il existe au plus deux coupables.
• si a est coupable, alors il a un seul complice ;
• si b est innocent, alors c l’est aussi ;
• s’il y a exactement deux coupables, alors a est l’un d’entre eux ;
• si c est innocent, alors b l’est aussi.
• L’ensemble de ces informations est-il coh ´erent?
30 / 65
Solutions
Mod ´elisation
Pour le vocabulaire, on prend trois variables propositionnelles :
Nom des variables Signification des variables
a a est coupable
b b est coupable
c c est coupable
Bien s ˆur¬a(resp.¬b,¬c) signifie quea(resp. b,c) est innocent.
Solutions
Il y a au moins un coupable
Il y a au moins un coupable se code : a∨b∨c
Cette formule exprime le fait quea,betc ne peuvent pas ˆetre tous les trois `a faux.
32 / 65
Solutions
Il existe au plus deux coupables Premier codage :
• Intuitivement, il existe au plus deux coupables revient `a dire que : si a et b sont coupables alors c est innocent,
si a et c sont coupables alors b est innoncent, et si b et c sont coupables alors a est innoncent.
• Ces trois ´enonc ´es s’ ´ecrivent en logique comme suit : a ∧ b → ¬c
a ∧ c → ¬b b ∧ c → ¬a
Solutions
il existe au plus deux coupables Deuxi `eme codage :
• Intuitivement, il existe au plus deux coupables revient `a dire que a,b,c ne peuvent ˆetre tous les trois coupables
• Ce qui revient `a ´ecrire :
¬(a∧b∧c).
34 / 65
Solutions
Il existe au plus deux coupables Troisi `eme codage :
• Intuitivement, il existe au plus deux coupables revient `a dire qu’au moins un des trois suspects est innocent
• Ce qui revient `a ´ecrire :
¬a∨ ¬b∨ ¬c
Solutions
si a est coupable, alors il a au moins un complice
• Cette information se code en :
a→(b∨c)
• ou encore :
¬a∨b∨c
36 / 65
Solutions
Si b est innocent, alors c l’est aussi
• Cette information se code en :
¬b → ¬c
• ou encore :
b∨ ¬c
Solutions
s’il y a exactement deux coupables, alors a est l’un d’entre eux D’abord il faut repr ´esenter l’information ”il y a exactement deux coupables” qui s’ ´ecrit :
• La formule suivante exprime le fait qu’il y ait au moins deux coupables :
(a∧b)∨(a∧c)∨(b∧c)
• La formule suivante exprime le fait qu’il y a au moins un innocent : (¬a∨ ¬b∨ ¬c)
38 / 65
Solutions
s’il y a exactement deux coupables, alors a est l’un d’entre eux
• La conjonction de ces deux formules exprime bien l’information ”il y a exactement deux coupables” qui s’ ´ecrit donc :
((a∧b)∨(a∧c)∨(b∧c))∧(¬a∨ ¬b∨ ¬c) ce qui est ´equivalent `a :
((a∧b)∧(¬a∨¬b∨¬c))∨((a∧c)∧(¬a∨¬b∨¬c))∨((b∧c)∧(¬a∨¬b∨¬c))
qui se simplifie en :
(a∧b∧ ¬c)∨(a∧ ¬b∧c)∨(¬a∧b∧c)
Solutions
s’il y a exactement deux coupables, alors a est l’un d’entre eux Codons maintenant l’information ”s’il y a exactement deux coupables, alors a est l’un d’entre eux” :
(a∧b∧ ¬c)∨(a∧ ¬b∧c)∨(¬a∧b∧c)→a Simplifions cette formule.
40 / 65
Solutions
S’il y a exactement deux coupables, alors a est l’un d’entre eux (a∧b∧ ¬c)∨(a∧ ¬b∧c)∨(¬a∧b∧c)→a
≡ ¬((a∧b∧ ¬c)∨(a∧ ¬b∧c)∨(¬a∧b∧c))∨a
≡(¬(a∧b∧ ¬c)∧ ¬(a∧ ¬b∧c)∧ ¬(¬a∧b∧c))∨a
≡((¬a∨ ¬b∨c)∧(¬a∨b∨ ¬c)∧(a∨ ¬b∨ ¬c))∨a
≡((¬a∨ ¬b∨c)∨a)∧((¬a∨b∨ ¬c)∨a)∧((a∨ ¬b∨ ¬c)∨a)
≡ > ∧ > ∧(a∨ ¬b∨ ¬c)
Solutions
s’il y a exactement deux coupables, alors a est l’un d’entre eux La formule
(a∨ ¬b∨ ¬c)
est ´equivalente `a :
¬a→ ¬b∨ ¬c
qui signifie siaest innocent alors b ou c sont innocents (b et c ne peuvent ˆetre en m ˆeme temps coupables).
Elle est ´egalement ´equivalente `a : b∧c →a
qui signifie, sib∧csont coupables alorsal’est aussi (sinon on aura deux coupables sans a comme coupable).
42 / 65
Solutions
Si c est innocent, alors b l’est aussi Cette information se code simplement en :
¬c → ¬b
Solution
L’ensemble des informations est cod ´e comme suit :
K = {a∨b∨c,
Il y a au moins un coupable
¬a∨ ¬b∨ ¬c,
Il existe au plus deux coupables
¬a∨b∨c,
si a est coupable, alors il a au moins un complice b∨¬c,
si b est innocent, alors c l’est aussi a∨ ¬b∨ ¬c,
s’il y a exactement deux coupables, alors a est l’un d’entre eux c∨ ¬b
si c est innocent, alors b l’est aussi}
44 / 65
Inf ´erence
Bases de connaissances
• Une bases de connaissances est un ensemble de formules propositionnelles, not ´eeK.
• Une base de connaissances exprime les connaissances disponibles sur un probl `eme donn ´ee
• K est interpr ´et ´ee comme une conjonction de formules propositionnelles
Inf ´erence
Bases de connaissances
• Une bases de connaissances est un ensemble de formules propositionnelles, not ´eeK.
• Une base de connaissances exprime les connaissances disponibles sur un probl `eme donn ´ee
• K est interpr ´et ´ee comme une conjonction de formules propositionnelles
45 / 65
Inf ´erence
Bases de connaissances
• Une bases de connaissances est un ensemble de formules propositionnelles, not ´eeK.
• Une base de connaissances exprime les connaissances disponibles sur un probl `eme donn ´ee
• K est interpr ´et ´ee comme une conjonction de formules propositionnelles
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨x ∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
x∨y1∨. . .yn
La suppression des doublons donne une clause ´equivalente.
46 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨x ∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
x∨y1∨. . .yn
La suppression des doublons donne une clause ´equivalente.
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ ¬x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
>
Deux litt ´eraux compl ´ementaires dans une clause donne une tautologie.
47 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ ¬x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
>
Deux litt ´eraux compl ´ementaires dans une clause donne une tautologie.
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ >
peut- ˆetre simplifi ´ee en :
>
48 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ >
peut- ˆetre simplifi ´ee en :
>
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ ⊥ peut- ˆetre simplifi ´ee en :
x
49 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications La clause :
x∨ ⊥ peut- ˆetre simplifi ´ee en :
x
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est vrai. Alors la clause : x∨y1∨. . .yn
est toujours satisfaite et peut- ˆetre supprim ´ee de la base.
50 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est vrai. Alors la clause : x∨y1∨. . .yn
est toujours satisfaite et peut- ˆetre supprim ´ee de la base.
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est faux. Alors la clause : x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
y1∨. . .yn
Cas particulier
Supposons que x est faux. Alors la clause : x
se simplifie en
⊥ .
51 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est faux. Alors la clause : x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
y1∨. . .yn
Cas particulier
Supposons que x est faux. Alors la clause : x
se simplifie en
⊥ .
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est faux. Alors la clause : x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
y1∨. . .yn
Cas particulier
Supposons que x est faux. Alors la clause : x
se simplifie en
⊥ .
51 / 65
Tester la coh ´erence d’un ensemble de clauses
Simplifications
Supposons que x est faux. Alors la clause : x∨y1∨. . .yn
peut- ˆetre simplifi ´ee en :
y1∨. . .yn
Cas particulier
Supposons que x est faux. Alors la clause : x
se simplifie en
Tester la coh ´erence d’un ensemble de clauses
Base vide
Si K est vide alors :
K est coh ´erente.
52 / 65
Tester la coh ´erence d’un ensemble de clauses
Base vide
Si K est vide alors : K est coh ´erente.
Tester la coh ´erence d’un ensemble de clauses
Pr ´esence de contradiction
Si⊥ ∈K alors :
K est incoh ´erente.
53 / 65
Tester la coh ´erence d’un ensemble de clauses
Pr ´esence de contradiction
Si⊥ ∈K alors : K est incoh ´erente.
Tester la coh ´erence d’un ensemble de clauses
Notation
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
Notons :
Kx←>:le r ´esultat du remplacement des occurrences de x par>
et
Kx←⊥:le r ´esultat du remplacement des occurrences de x par⊥
• Kx←>(resp. Kx←⊥) est la base simplifi ´ee de K sous l’hypoth `ese quex est vrai (resp. faux).
• Kx←>etKx←⊥ne contiennent pas de r ´ef ´erence au symbolex.
54 / 65
Tester la coh ´erence d’un ensemble de clauses
Notation
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
Notons :
Kx←>:le r ´esultat du remplacement des occurrences de x par>
et
Kx←⊥:le r ´esultat du remplacement des occurrences de x par⊥
• Kx←>(resp. Kx←⊥) est la base simplifi ´ee de K sous l’hypoth `ese quex est vrai (resp. faux).
• Kx←>etKx←⊥ne contiennent pas de r ´ef ´erence au symbolex.
Tester la coh ´erence d’un ensemble de clauses
Notation
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
Notons :
Kx←>:le r ´esultat du remplacement des occurrences de x par>
et
Kx←⊥:le r ´esultat du remplacement des occurrences de x par⊥
• Kx←>(resp. Kx←⊥) est la base simplifi ´ee de K sous l’hypoth `ese quex est vrai (resp. faux).
• Kx←>etKx←⊥ne contiennent pas de r ´ef ´erence au symbolex.
54 / 65
Tester la coh ´erence d’un ensemble de clauses
Notation
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
Notons :
Kx←>:le r ´esultat du remplacement des occurrences de x par>
et
Kx←⊥:le r ´esultat du remplacement des occurrences de x par⊥
• Kx←>(resp. Kx←⊥) est la base simplifi ´ee de K sous l’hypoth `ese quex est vrai (resp. faux).
• Kx←>etKx←⊥ne contiennent pas de r ´ef ´erence au symbolex.
Tester la coh ´erence d’un ensemble de clauses
Notation
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
Notons :
Kx←>:le r ´esultat du remplacement des occurrences de x par>
et
Kx←⊥:le r ´esultat du remplacement des occurrences de x par⊥
• Kx←>(resp. Kx←⊥) est la base simplifi ´ee de K sous l’hypoth `ese quex est vrai (resp. faux).
• Kx←>etKx←⊥ne contiennent pas de r ´ef ´erence au symbolex.
54 / 65
Tester la coh ´erence d’un ensemble de clauses
Propri ´et ´e
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
K est coh ´erent
ssi
Kx←>est coh ´erentouKx←⊥est coh ´erent
Tester la coh ´erence d’un ensemble de clauses
Propri ´et ´e
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
K est coh ´erent
ssi
Kx←>est coh ´erentouKx←⊥est coh ´erent
55 / 65
Tester la coh ´erence d’un ensemble de clauses
Propri ´et ´e
Soit K un ensemble de clauses. Soit x un symbole propositionnel.
K est coh ´erent
ssi
Kx←>est coh ´erentouKx←⊥est coh ´erent
Tester la coh ´erence d’un ensemble de clauses
1 int estcoherent (K) 2 {
3 if K==∅ return 1
4 else if ⊥ ∈ K return 0
5 else
6 {
7 soit x un symbole de K;
8 return (estcoherent(Kx←>) || estcoherent(Kx←⊥))
9 }
10 }
56 / 65
Exemple du cambriolage
Tester la coh ´erence de la base de connaissances suivante :
K = {a∨b∨c,
¬a∨ ¬b∨ ¬c,
¬a∨b∨c, b∨¬c, a∨ ¬b∨ ¬c, c∨ ¬b}
Inf ´erence
exercice
• Donner le nombre de mod `eles de chacune des bases suivantes : K1={(¬a∨b)∨c}
K2={(¬a∨b)∨c,¬c} K3={(¬a∨b)∨c,¬b} K4={(¬a∨b)∨c,¬b,a}
• Que faut-il conclure?
58 / 65
Inf ´erence
exercice
• Donner le nombre de mod `eles de chacune des bases suivantes : K1={(¬a∨b)∨c}
K2={(¬a∨b)∨c,¬c}
K3={(¬a∨b)∨c,¬b} K4={(¬a∨b)∨c,¬b,a}
• Que faut-il conclure?
Inf ´erence
exercice
• Donner le nombre de mod `eles de chacune des bases suivantes : K1={(¬a∨b)∨c}
K2={(¬a∨b)∨c,¬c} K3={(¬a∨b)∨c,¬b}
K4={(¬a∨b)∨c,¬b,a}
• Que faut-il conclure?
58 / 65
Inf ´erence
exercice
• Donner le nombre de mod `eles de chacune des bases suivantes : K1={(¬a∨b)∨c}
K2={(¬a∨b)∨c,¬c} K3={(¬a∨b)∨c,¬b}
K4={(¬a∨b)∨c,¬b,a}
• Que faut-il conclure?
Exemple du cambriolage
K= {a∨b∨c,¬a∨ ¬b∨ ¬c,
¬a∨b∨c,b∨ ¬c, a∨ ¬b∨ ¬c,c∨ ¬b}
Kb→>={ ((hhha∨b((∨hc,
¬a∨¬b∨¬c, ((((( hhh¬a∨bh∨hc,
XXb∨ ¬c,X a∨¬b∨¬c, c∨¬b}
b→ >
Kb→⊥={ a∨b∨c,
(((((( hhh¬a∨ ¬bhh∨ ¬c,h
¬a∨b∨c, b∨¬c,
(((((( hhha∨ ¬bhh∨ ¬c,h
XXc∨ ¬b}X
b→ ⊥
59 / 65
Exemple du cambriolage
K= {a∨b∨c,¬a∨ ¬b∨ ¬c,
¬a∨b∨c,b∨ ¬c, a∨ ¬b∨ ¬c,c∨ ¬b}
Kb→>={ ((hhha∨b((∨hc,
¬a∨¬b∨¬c, ((((( hhh¬a∨bh∨hc,
XXb∨ ¬c,X a∨¬b∨¬c, c∨¬b}
b→ >
Kb→⊥={ a∨b∨c,
(((((( hhh¬a∨ ¬bhh∨ ¬c,h
¬a∨b∨c, b∨¬c,
(((((( hhha∨ ¬bhh∨ ¬c,h
XXc∨ ¬b}X
b→ ⊥
Exemple du cambriolage
K= {a∨b∨c,¬a∨ ¬b∨ ¬c,
¬a∨b∨c,b∨ ¬c, a∨ ¬b∨ ¬c,c∨ ¬b}
Kb→>={ ((hhha∨b((∨hc,
¬a∨¬b∨¬c, ((((( hhh¬a∨bh∨hc,
XXb∨ ¬c,X a∨¬b∨¬c, c∨¬b}
b→ >
Kb→⊥={ a∨b∨c,
(((((( hhh¬a∨ ¬bhh∨ ¬c,h
¬a∨b∨c, b∨¬c,
(((((( hhha∨ ¬bhh∨ ¬c,h
XXc∨ ¬b}X
b→ ⊥
59 / 65
Exemple du cambriolage
K= {a∨b∨c,¬a∨ ¬b∨ ¬c,
¬a∨b∨c,b∨ ¬c, a∨ ¬b∨ ¬c,c∨ ¬b}
Kb→>={ ((hhha∨b((∨hc,
¬a∨¬b∨¬c, ((((( hhh¬a∨bh∨hc,
XXb∨ ¬c,X a∨¬b∨¬c, c∨¬b}
b→ >
Kb→⊥={ a∨b∨c,
(((((( hhh¬a∨ ¬bhh∨ ¬c,h
¬a∨b∨c, b∨¬c,
(((((( hhha∨ ¬bhh∨ ¬c,h
XXc∨ ¬b}X
b→ ⊥
Exemple du cambriolage
K= {a∨b∨c,¬a∨ ¬b∨ ¬c,
¬a∨b∨c,b∨ ¬c, a∨ ¬b∨ ¬c,c∨ ¬b}
Kb→>={ ¬a∨ ¬c, a∨ ¬c, c}
b→>
Kb→⊥={ a∨c,
¬a∨c,
¬c} b→
⊥
60 / 65