You are on page 1of 52

LOGIQUE PROPOSITIONNELLE

INTRODUCTION
Le but de la logique
caractriser les raisonnements valides
Annexe : applications de la logique
Exemples de raisonnements
Une infrence est valide cause de sa forme
(et non pas cause du sens des prmisses).
Les moyens
reprsentation du monde : introduction de connecteurs pour structurer les
propositions
o ngation : ~(il_pleut)
o conjonction : il_pleut & la_route_est_mouille
o implication : il_pleut -> la_route_est_mouille
o ...
o quantification existentielle : EXISTS x (dieu(x))
o quantification universelle : ...
o ...
Construction de propositions complexes : ~(la_route_est_mouille) ->
~(il_pleut)
rgles d'infrence : passage des prmisses la conclusion
Niveaux d'analyse
Langage : dfinition des formules bien formes
Thorie de la preuve (axiomatique) : dfinition des notions de prouvabilit et
de dduction
Thorie des modles (smantique) : dfinition des notions de validit et de
consquence logique
Idal : valide = dmontrable
Annexe : remarque sur la relation avec le langage naturel

suite : chapitre sur la logique propositionnelle

Logique propositionnelle : langage
Introduction
Dfinition (alphabet). L'alphabet de la logique propositionnelle est constitu de
un ensemble dnombrable ATM de variables propositionnelles (ou formules
atomiques, ou encore atomes)
les connecteurs FALSE , ~ , & , v , ->
les sparateurs (ou parenthses) ( et )
Notation. Nous utilisons p, q, r, p
1
, p
2
,... pour des variables propositionnelles.
Dfinition (formule). L'ensemble FOR des formules (ou formules bien formes) de
la logique propositionnelle est le plus petit ensemble de mots construits sur
l'alphabet tel que
si A est une formule atomique alors A est une formule
FALSE est une formule
(~A) est une formule si A est une formule
(A & B) est une formule si A et B sont des formules
(A v B) est une formule si A et B sont des formules
(A -> B) est une formule si A et B sont des formules
Exemples de formules
Notation. Nous utilisons A , B , C , A
1
, A
2
,... pour des formules (strictement
parlant, A,B,... sont des metavariables, car ils ne font pas partie de l'alphabet de la
logique). S , S
1
, S
2
,... dnotent des ensembles de formules.
Remarque. Notre jeu de connecteurs primitifs consiste en FALSE , ~ , & , v , -
> . D'autres connecteurs peuvent tre dfinis en tant que abrviations :
TRUE abrvie (~FALSE) et l'quivalence (A <-> B) abrvie ((A -> B) & (B ->
A)) .
(Annexe : remarque sur des jeux de connecteurs alternatifs)

suite : notions de substitution uniforme et de sous-formule

































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : langage (suite)
Dfinition (sous-formule). L'ensemble des sous-formules d'une formule A est le
plus petit ensemble tel que
A est une sous-formule de A.
Si (~B) est une sous-formule de A alors B est une sous-formule de A.
Si (B & C) est une sous-formule de A alors B et C sont des sous-formules de A.
Si (B v C) est une sous-formule de A alors B et C sont des sous-formules de A.
Si (B -> C) est une sous-formule de A alors B et C sont des sous-formules
de A.
L'endroit o une sous-formule apparat est son occurrence.
Exemples de sous-formules
Dfinition (substitution uniforme). Une substitution (ou substitution uniforme)
associe une variable propositionnelle p une formule A . Elle est note [p\A].
L'application de [p\A] une formule B , note (B)[p\A], est le rsultat du
remplacement simultan de toutes les occurrences de p dans B par A. (A)[p\B] est
appel une instance de A.
Exemples de substitutions
Notation. On omet toujours les parenthses les plus l'extrieur. En gnral,
l'omission de parenthses peut tre source d'ambiguts : ainsi, ~p & q peut
correspondre (~p) & q et ~(p & q) . Cependant, on peut souvent omettre les
parenthses en donnant des priorits aux connecteurs, dans l'ordre suivant : <-> , -
> , & , v , ~ . Ainsi, ~p & q correspond (~p) & q , etc.
Annexe : rappel sur les dmonstrations par induction
Annexe : remarque sur une dfinition plus constructive de FOR

suite : section sur la thorie des modles







































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie des modles
Introduction
Dfinition (interprtation). Une interprtation I (ou valuation) est une application
de l'ensemble des variables propositionnelles ATM dans l'ensemble des valeurs de
vrit {0,1}.
Dfinition (interprtation des formules). Une interpretation donne I peut
tre tendue l'ensemble des formules FOR par :
I(FALSE) = 0
I(~A) = 1 - I(A)
I(A & B) = min(I(A),I(B))
I(A v B) = max(I(A),I(B))
I(A -> B) = 1 ssi I(A) = 0 ou I(B) = 1
I est un modle pour A (ou I satisfait A) ssi I(A) = 1.
I(A) = 1 est parfois not |=
I
A .
I est un modle pour un ensemble de formules S ssi I est un modle pour toute
formule A de S.
Exemples
Dfinition (validit, satisfiabilit). Soit A une formule.
A est valide (ou tautologique ; not |= A) si I(A) = 1 pour toute interpretation I.
Sinon A est invalide ou falsifiable.
A est satisfiable ssi il existe une interpretation I t.q. I(A) = 1. Sinon A est
insatisfiable ou contradictoire.
Exemples
Dfinition (consquence logique). Une formule A est consquence logique de A
1
,
... ,A
n
(not A
1
, ... ,A
n
|= A) ssi tout modle de A
1
, ... ,A
n
est un modle de A.
Exemples
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur la thorie de la preuve








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve
Introduction
Dfinition (axiomatique la Hilbert). Les schmas d'axiome de la logique
propositionnelle sont
A -> (B -> A)
(A -> B) -> ((A -> (B -> C)) -> (A -> C))
A -> (B -> A & B)
(A & B) -> A
(A & B) -> B
A -> A v B
B -> A v B
(A -> C) -> ((B -> C) -> (A v B -> C))
(A -> B) -> ((A -> ~B) -> ~A)
~~A -> A
~FALSE

et la rgle d'infrence est le Modus Ponens :
A A -> B
_____________
B
A et A -> B sont appeles prmisses, et B est appele conclusion de la rgle.
(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~ .)
Chaque formule qui a la forme d'un schma est appele un axiome. Ainsi, un
axiome est une instance d'un schma. P.ex. (p & q) -> (r -> (p & q)) est un
axiome, obtenu partir du premier schma A -> (B -> A).
Annexe : remarque sur une axiomatisation qui n'a pas besoin de la notion de schma
(ncessitant une rgle de substitution uniforme)

suite : notion de preuve et de dduction




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve (suite)
Dfinition (preuve). Soit A une formule. Une preuve de A est une liste finie de
formules (A
1
, ... ,A
n
) t.q.
A
n
= A
pour i = 1, ..., n, la formule A
i
est
o soit l'instance d'un axiome,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Dfinition (prouvabilit, consistance). Soit A une formule.
A est prouvable (not |- A) si il existe une preuve de A.
A est consistante si ~A n'est pas prouvable. Sinon A est inconsistante.
Exemples
Dfinition (dduction). Une dduction d'une formule A partir
d'hypothses B
1
,...,B
m
(not B
1
,...,B
m
|- A) est une liste finie de formules (A
1
, ...
,A
n
) t.q.
A
n
= A
pour i = 1, ...,n, la formule A
i
est
o soit un axiome,
o soit gal une des hypothses B
j
,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Donc une preuve est une dduction partir d'un ensemble vide d'hypothses.
Parfois les axiomes sont appelles `axiomes logiques', et les hypothses `axiomes
non-logiques'.
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur les proprits importantes

































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes
Introduction
Adquation et de compltude
Lemme (la rgle de modus ponens prserve la validit). Si |= A et |= A ->
B alors |= B.
Lemme (la substitution uniforme prserve la validit). Soient A et B des formules
et p un atome. Si |= A alors |= A[p\B].
(cf. la remarque sur une axiomatisation avec une rgle de substitution uniforme
dans la section sur la thorie de la preuve)
Thorme d'adquation. Si |- A alors |= A.
(la dmonstration utilise les lemmes prcdents, et le fait que les axiomes sont
valides)
Thorme de compltude. Si |= A alors |- A.
(la dmonstration est difficile)
Thorme de dduction
Thorme de dduction. A |- B ssi |- A -> B.
Donc le problme de dduction A |- B peut tre rduit au problme de
prouvabilit |- A -> B .
Thorme de la consquence logique (version smantique du thorme de
dduction). A |= B ssi |= A -> B.
Donc le problme de consquence logique A |= B peut tre rduit au problme de
validit |= A -> B .
Annexe : thormes d'adquation et de compltude forte (non pas entre validit et
prouvabilit, mais entre consquence logique et dduction)
Dcidabilit
Thorme (existence d'une procdure de dcision). La logique propositionnelle
est dcidable : il existe une procdure effective qui pour toute formule A en entre
s'arrte et retourne `oui' si A est valide, et `non' sinon.
Un exemple de procdure de dcision est la mthode des tables de vrit. Une mthode
plus efficace est la mthode de balayage.
L'axiomatique est une caractrisation finie des formules valides : elle peut tre
`rendue oprationelle' comme procdure numerant l'ensemble des formules
prouvables. Mais ceci ne nous donne qu'une procdure de semi-dcision : si la
formule en question est valide, cette procdure va la trouver un jour, mais si elle ne
l'est pas alors la procdure ne s'arrtera jamais.

suite : quelques quivalences utiles








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes (suite)
Remarque. tant donn les thormes d'adquation et de compltude, les proprits qui
suivent peuvent tre formules et en termes de prouvabilit (avec |-) et en termes
de validit (avec |=).
Remplacement des quivalences logiques
Thorme (remplacement des quivalences). Soit B une sous-formule de A, et
soit |- B <-> C . Si A' est obtenue partir de A par le remplacement de cette
occurrences de B par C alors |- A <-> A'.
Exemples d'application
Remarque. Le remplacement en question n'est pas une substitution uniforme (cette
dernire ne s'applique qu'aux atomes, et non des formules ; de plus, elle s'applique
toutes les occurrences, et non une ou plusieurs).
quivalences permettant d'liminer des connecteurs
limination de l'implication :
|- A -> B <-> ~A v B
limination de l'quivalence :
|- (A <-> B) <-> (A -> B) & (B -> A)
limination de FALSE :
|- FALSE <-> p & ~p (pour un p quelconque)
limination de la ngation :
|- ~A <-> A -> FALSE
liminations de la disjonction :
|- A v B <-> ~(~A & ~B)
|- A v B <-> (A -> FALSE) -> B
liminations de la conjonction :
|- A & B <-> ~(~A v ~B)
|- A & B <-> (A -> (B-> FALSE)) -> FALSE
(v. aussi l'annexe sur des jeux de connecteurs alternatifs)
quivalences correspondant aux proprits algbriques des connecteurs
idempotence de ~ :
|- ~~A <-> A
idempotence de & et v :
|- A & A <-> A
|- A v A <-> A
associativit de & et v :
|- A & (B & C) <-> (A & B) & C
|- A v (B v C) <-> (A v B) v C
commutativit de & et v :
|- A & B <-> B & A
|- A v B <-> B v A
distributivit (lois de De Morgan) :
|- (A v B) & C <-> (A & C) v (B & C)
|- (A & B) v C <-> (A v C) & (B v C)

(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~.)

suite : section sur la forme normale conjonctive




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : forme normale conjonctive
Introduction et motivation
Dfinition (littral, clause, forme normale conjonctive).
Un littral est une formule atomique ou la ngation d'une formule atomique.
Une clause est une disjonction de littraux.
Une formule est en forme normale conjonctive si elle est une conjonction de
clauses.
Exemples
Notation. Nous utilisons L, L
1
, L
2
... pour des littraux, et C, C
1
, C
2
... pour
des clauses.
Notation. On suppose que les disjonctions et conjonctions sont parenthses
gauche :
une clause L
1
v L
2
v ... v L
n
est ((...(L
1
v L
2
) v ...) v L
n
), et
une conjonction de clauses C
1
& C
2
... & C
m
est ((...(C
1
& C
2
) ...) & C
m
).
Ceci est justifi par l'associativit de la conjonction et de la disjonction (v. aussi les
exemples).
Par convention, une disjonction de 0 littraux est FALSE (la clause vide), et une
conjonction de 0 clauses est TRUE.
Notation. Nous confondons une conjonction de clauses avec un ensemble de
clauses, et une clause avec un ensemble de littraux. Ceci est justifi par la
commutativit et l'idempotence de la conjonction et de la disjonction. Ainsi, la formule en
forme normale conjonctive (p v q) & (~p v r) sera confondu avec l'ensemble { {p
v q} , {~p v r} }. La clause vide FALSE sera confondu avec l'ensemble vide {}.
Algorithme de mise en forme normale conjonctive
entre : une formule A
sortie : une formule en forme normale conjonctive
dbut
liminer -> , <-> , FALSE ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~~A <-> A
~(A v B) <-> ~A & ~B
~(A & B) <-> ~A v ~B
A v (B & C) <-> (A v B) & (A v C)
fin
Exemples
Thorme. Pour toute entre A, l'algorithme de mise en forme normale conjonctive
s'arrte. Il retourne une formule en forme normale conjonctive quivalente
l'entre.
(la dmonstration utilise le thorme de la substitution des quivalents : les
remplacements effectus par l'algorithme correspondent des quivalences prouvables)
Thorme. Une formule en forme normale conjonctive est valide ssi toute clause
contient deux littraux contradictoires, c--d chaque clause est de la forme L1 v ...
v p v ... v ~p v ... v Ln.

suite : section sur la dmonstration automatique


































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats





http://www.irit.fr/~Andreas.Herzig
Logique propositionnelle : thorie des modles
Introduction
Dfinition (interprtation). Une interprtation I (ou valuation) est une application
de l'ensemble des variables propositionnelles ATM dans l'ensemble des valeurs de
vrit {0,1}.
Dfinition (interprtation des formules). Une interpretation donne I peut
tre tendue l'ensemble des formules FOR par :
I(FALSE) = 0
I(~A) = 1 - I(A)
I(A & B) = min(I(A),I(B))
I(A v B) = max(I(A),I(B))
I(A -> B) = 1 ssi I(A) = 0 ou I(B) = 1
I est un modle pour A (ou I satisfait A) ssi I(A) = 1.
I(A) = 1 est parfois not |=
I
A .
I est un modle pour un ensemble de formules S ssi I est un modle pour toute
formule A de S.
Exemples
Dfinition (validit, satisfiabilit). Soit A une formule.
A est valide (ou tautologique ; not |= A) si I(A) = 1 pour toute interpretation I.
Sinon A est invalide ou falsifiable.
A est satisfiable ssi il existe une interpretation I t.q. I(A) = 1. Sinon A est
insatisfiable ou contradictoire.
Exemples
Dfinition (consquence logique). Une formule A est consquence logique de A
1
,
... ,A
n
(not A
1
, ... ,A
n
|= A) ssi tout modle de A
1
, ... ,A
n
est un modle de A.
Exemples
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur la thorie de la preuve








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve
Introduction
Dfinition (axiomatique la Hilbert). Les schmas d'axiome de la logique
propositionnelle sont
A -> (B -> A)
(A -> B) -> ((A -> (B -> C)) -> (A -> C))
A -> (B -> A & B)
(A & B) -> A
(A & B) -> B
A -> A v B
B -> A v B
(A -> C) -> ((B -> C) -> (A v B -> C))
(A -> B) -> ((A -> ~B) -> ~A)
~~A -> A
~FALSE

et la rgle d'infrence est le Modus Ponens :
A A -> B
_____________
B
A et A -> B sont appeles prmisses, et B est appele conclusion de la rgle.
(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~ .)
Chaque formule qui a la forme d'un schma est appele un axiome. Ainsi, un
axiome est une instance d'un schma. P.ex. (p & q) -> (r -> (p & q)) est un
axiome, obtenu partir du premier schma A -> (B -> A).
Annexe : remarque sur une axiomatisation qui n'a pas besoin de la notion de schma
(ncessitant une rgle de substitution uniforme)

suite : notion de preuve et de dduction




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve (suite)
Dfinition (preuve). Soit A une formule. Une preuve de A est une liste finie de
formules (A
1
, ... ,A
n
) t.q.
A
n
= A
pour i = 1, ..., n, la formule A
i
est
o soit l'instance d'un axiome,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Dfinition (prouvabilit, consistance). Soit A une formule.
A est prouvable (not |- A) si il existe une preuve de A.
A est consistante si ~A n'est pas prouvable. Sinon A est inconsistante.
Exemples
Dfinition (dduction). Une dduction d'une formule A partir
d'hypothses B
1
,...,B
m
(not B
1
,...,B
m
|- A) est une liste finie de formules (A
1
, ...
,A
n
) t.q.
A
n
= A
pour i = 1, ...,n, la formule A
i
est
o soit un axiome,
o soit gal une des hypothses B
j
,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Donc une preuve est une dduction partir d'un ensemble vide d'hypothses.
Parfois les axiomes sont appelles `axiomes logiques', et les hypothses `axiomes
non-logiques'.
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur les proprits importantes

































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes
Introduction
Adquation et de compltude
Lemme (la rgle de modus ponens prserve la validit). Si |= A et |= A ->
B alors |= B.
Lemme (la substitution uniforme prserve la validit). Soient A et B des formules
et p un atome. Si |= A alors |= A[p\B].
(cf. la remarque sur une axiomatisation avec une rgle de substitution uniforme
dans la section sur la thorie de la preuve)
Thorme d'adquation. Si |- A alors |= A.
(la dmonstration utilise les lemmes prcdents, et le fait que les axiomes sont
valides)
Thorme de compltude. Si |= A alors |- A.
(la dmonstration est difficile)
Thorme de dduction
Thorme de dduction. A |- B ssi |- A -> B.
Donc le problme de dduction A |- B peut tre rduit au problme de
prouvabilit |- A -> B .
Thorme de la consquence logique (version smantique du thorme de
dduction). A |= B ssi |= A -> B.
Donc le problme de consquence logique A |= B peut tre rduit au problme de
validit |= A -> B .
Annexe : thormes d'adquation et de compltude forte (non pas entre validit et
prouvabilit, mais entre consquence logique et dduction)
Dcidabilit
Thorme (existence d'une procdure de dcision). La logique propositionnelle
est dcidable : il existe une procdure effective qui pour toute formule A en entre
s'arrte et retourne `oui' si A est valide, et `non' sinon.
Un exemple de procdure de dcision est la mthode des tables de vrit. Une mthode
plus efficace est la mthode de balayage.
L'axiomatique est une caractrisation finie des formules valides : elle peut tre
`rendue oprationelle' comme procdure numerant l'ensemble des formules
prouvables. Mais ceci ne nous donne qu'une procdure de semi-dcision : si la
formule en question est valide, cette procdure va la trouver un jour, mais si elle ne
l'est pas alors la procdure ne s'arrtera jamais.

suite : quelques quivalences utiles








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes (suite)
Remarque. tant donn les thormes d'adquation et de compltude, les proprits qui
suivent peuvent tre formules et en termes de prouvabilit (avec |-) et en termes
de validit (avec |=).
Remplacement des quivalences logiques
Thorme (remplacement des quivalences). Soit B une sous-formule de A, et
soit |- B <-> C . Si A' est obtenue partir de A par le remplacement de cette
occurrences de B par C alors |- A <-> A'.
Exemples d'application
Remarque. Le remplacement en question n'est pas une substitution uniforme (cette
dernire ne s'applique qu'aux atomes, et non des formules ; de plus, elle s'applique
toutes les occurrences, et non une ou plusieurs).
quivalences permettant d'liminer des connecteurs
limination de l'implication :
|- A -> B <-> ~A v B
limination de l'quivalence :
|- (A <-> B) <-> (A -> B) & (B -> A)
limination de FALSE :
|- FALSE <-> p & ~p (pour un p quelconque)
limination de la ngation :
|- ~A <-> A -> FALSE
liminations de la disjonction :
|- A v B <-> ~(~A & ~B)
|- A v B <-> (A -> FALSE) -> B
liminations de la conjonction :
|- A & B <-> ~(~A v ~B)
|- A & B <-> (A -> (B-> FALSE)) -> FALSE
(v. aussi l'annexe sur des jeux de connecteurs alternatifs)
quivalences correspondant aux proprits algbriques des connecteurs
idempotence de ~ :
|- ~~A <-> A
idempotence de & et v :
|- A & A <-> A
|- A v A <-> A
associativit de & et v :
|- A & (B & C) <-> (A & B) & C
|- A v (B v C) <-> (A v B) v C
commutativit de & et v :
|- A & B <-> B & A
|- A v B <-> B v A
distributivit (lois de De Morgan) :
|- (A v B) & C <-> (A & C) v (B & C)
|- (A & B) v C <-> (A v C) & (B v C)

(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~.)

suite : section sur la forme normale conjonctive




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : forme normale conjonctive
Introduction et motivation
Dfinition (littral, clause, forme normale conjonctive).
Un littral est une formule atomique ou la ngation d'une formule atomique.
Une clause est une disjonction de littraux.
Une formule est en forme normale conjonctive si elle est une conjonction de
clauses.
Exemples
Notation. Nous utilisons L, L
1
, L
2
... pour des littraux, et C, C
1
, C
2
... pour
des clauses.
Notation. On suppose que les disjonctions et conjonctions sont parenthses
gauche :
une clause L
1
v L
2
v ... v L
n
est ((...(L
1
v L
2
) v ...) v L
n
), et
une conjonction de clauses C
1
& C
2
... & C
m
est ((...(C
1
& C
2
) ...) & C
m
).
Ceci est justifi par l'associativit de la conjonction et de la disjonction (v. aussi les
exemples).
Par convention, une disjonction de 0 littraux est FALSE (la clause vide), et une
conjonction de 0 clauses est TRUE.
Notation. Nous confondons une conjonction de clauses avec un ensemble de
clauses, et une clause avec un ensemble de littraux. Ceci est justifi par la
commutativit et l'idempotence de la conjonction et de la disjonction. Ainsi, la formule en
forme normale conjonctive (p v q) & (~p v r) sera confondu avec l'ensemble { {p
v q} , {~p v r} }. La clause vide FALSE sera confondu avec l'ensemble vide {}.
Algorithme de mise en forme normale conjonctive
entre : une formule A
sortie : une formule en forme normale conjonctive
dbut
liminer -> , <-> , FALSE ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~~A <-> A
~(A v B) <-> ~A & ~B
~(A & B) <-> ~A v ~B
A v (B & C) <-> (A v B) & (A v C)
fin
Exemples
Thorme. Pour toute entre A, l'algorithme de mise en forme normale conjonctive
s'arrte. Il retourne une formule en forme normale conjonctive quivalente
l'entre.
(la dmonstration utilise le thorme de la substitution des quivalents : les
remplacements effectus par l'algorithme correspondent des quivalences prouvables)
Thorme. Une formule en forme normale conjonctive est valide ssi toute clause
contient deux littraux contradictoires, c--d chaque clause est de la forme L1 v ...
v p v ... v ~p v ... v Ln.

suite : section sur la dmonstration automatique


































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats


Logique propositionnelle : langage
Introduction
Dfinition (alphabet). L'alphabet de la logique propositionnelle est constitu de
un ensemble dnombrable ATM de variables propositionnelles (ou formules
atomiques, ou encore atomes)
les connecteurs FALSE , ~ , & , v , ->
les sparateurs (ou parenthses) ( et )
Notation. Nous utilisons p, q, r, p
1
, p
2
,... pour des variables propositionnelles.
Dfinition (formule). L'ensemble FOR des formules (ou formules bien formes) de
la logique propositionnelle est le plus petit ensemble de mots construits sur
l'alphabet tel que
si A est une formule atomique alors A est une formule
FALSE est une formule
(~A) est une formule si A est une formule
(A & B) est une formule si A et B sont des formules
(A v B) est une formule si A et B sont des formules
(A -> B) est une formule si A et B sont des formules
Exemples de formules
Notation. Nous utilisons A , B , C , A
1
, A
2
,... pour des formules (strictement
parlant, A,B,... sont des metavariables, car ils ne font pas partie de l'alphabet de la
logique). S , S
1
, S
2
,... dnotent des ensembles de formules.
Remarque. Notre jeu de connecteurs primitifs consiste en FALSE , ~ , & , v , -
> . D'autres connecteurs peuvent tre dfinis en tant que abrviations :
TRUE abrvie (~FALSE) et l'quivalence (A <-> B) abrvie ((A -> B) & (B ->
A)) .
(Annexe : remarque sur des jeux de connecteurs alternatifs)

suite : notions de substitution uniforme et de sous-formule

































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : langage (suite)
Dfinition (sous-formule). L'ensemble des sous-formules d'une formule A est le
plus petit ensemble tel que
A est une sous-formule de A.
Si (~B) est une sous-formule de A alors B est une sous-formule de A.
Si (B & C) est une sous-formule de A alors B et C sont des sous-formules de A.
Si (B v C) est une sous-formule de A alors B et C sont des sous-formules de A.
Si (B -> C) est une sous-formule de A alors B et C sont des sous-formules
de A.
L'endroit o une sous-formule apparat est son occurrence.
Exemples de sous-formules
Dfinition (substitution uniforme). Une substitution (ou substitution uniforme)
associe une variable propositionnelle p une formule A . Elle est note [p\A].
L'application de [p\A] une formule B , note (B)[p\A], est le rsultat du
remplacement simultan de toutes les occurrences de p dans B par A. (A)[p\B] est
appel une instance de A.
Exemples de substitutions
Notation. On omet toujours les parenthses les plus l'extrieur. En gnral,
l'omission de parenthses peut tre source d'ambiguts : ainsi, ~p & q peut
correspondre (~p) & q et ~(p & q) . Cependant, on peut souvent omettre les
parenthses en donnant des priorits aux connecteurs, dans l'ordre suivant : <-> , -
> , & , v , ~ . Ainsi, ~p & q correspond (~p) & q , etc.
Annexe : rappel sur les dmonstrations par induction
Annexe : remarque sur une dfinition plus constructive de FOR

suite : section sur la thorie des modles







































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie des modles
Introduction
Dfinition (interprtation). Une interprtation I (ou valuation) est une application
de l'ensemble des variables propositionnelles ATM dans l'ensemble des valeurs de
vrit {0,1}.
Dfinition (interprtation des formules). Une interpretation donne I peut
tre tendue l'ensemble des formules FOR par :
I(FALSE) = 0
I(~A) = 1 - I(A)
I(A & B) = min(I(A),I(B))
I(A v B) = max(I(A),I(B))
I(A -> B) = 1 ssi I(A) = 0 ou I(B) = 1
I est un modle pour A (ou I satisfait A) ssi I(A) = 1.
I(A) = 1 est parfois not |=
I
A .
I est un modle pour un ensemble de formules S ssi I est un modle pour toute
formule A de S.
Exemples
Dfinition (validit, satisfiabilit). Soit A une formule.
A est valide (ou tautologique ; not |= A) si I(A) = 1 pour toute interpretation I.
Sinon A est invalide ou falsifiable.
A est satisfiable ssi il existe une interpretation I t.q. I(A) = 1. Sinon A est
insatisfiable ou contradictoire.
Exemples
Dfinition (consquence logique). Une formule A est consquence logique de A
1
,
... ,A
n
(not A
1
, ... ,A
n
|= A) ssi tout modle de A
1
, ... ,A
n
est un modle de A.
Exemples
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur la thorie de la preuve








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve
Introduction
Dfinition (axiomatique la Hilbert). Les schmas d'axiome de la logique
propositionnelle sont
A -> (B -> A)
(A -> B) -> ((A -> (B -> C)) -> (A -> C))
A -> (B -> A & B)
(A & B) -> A
(A & B) -> B
A -> A v B
B -> A v B
(A -> C) -> ((B -> C) -> (A v B -> C))
(A -> B) -> ((A -> ~B) -> ~A)
~~A -> A
~FALSE

et la rgle d'infrence est le Modus Ponens :
A A -> B
_____________
B
A et A -> B sont appeles prmisses, et B est appele conclusion de la rgle.
(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~ .)
Chaque formule qui a la forme d'un schma est appele un axiome. Ainsi, un
axiome est une instance d'un schma. P.ex. (p & q) -> (r -> (p & q)) est un
axiome, obtenu partir du premier schma A -> (B -> A).
Annexe : remarque sur une axiomatisation qui n'a pas besoin de la notion de schma
(ncessitant une rgle de substitution uniforme)

suite : notion de preuve et de dduction




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : thorie de la preuve (suite)
Dfinition (preuve). Soit A une formule. Une preuve de A est une liste finie de
formules (A
1
, ... ,A
n
) t.q.
A
n
= A
pour i = 1, ..., n, la formule A
i
est
o soit l'instance d'un axiome,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Dfinition (prouvabilit, consistance). Soit A une formule.
A est prouvable (not |- A) si il existe une preuve de A.
A est consistante si ~A n'est pas prouvable. Sinon A est inconsistante.
Exemples
Dfinition (dduction). Une dduction d'une formule A partir
d'hypothses B
1
,...,B
m
(not B
1
,...,B
m
|- A) est une liste finie de formules (A
1
, ...
,A
n
) t.q.
A
n
= A
pour i = 1, ...,n, la formule A
i
est
o soit un axiome,
o soit gal une des hypothses B
j
,
o soit obtenue par application de la rgle de Modus Ponens partir de
deux prmisses A
j
, A
k
prcdant A
i
dans la liste.
Exemples
Donc une preuve est une dduction partir d'un ensemble vide d'hypothses.
Parfois les axiomes sont appelles `axiomes logiques', et les hypothses `axiomes
non-logiques'.
Annexe : remarque sur des ensembles d'hypothses infinis

suite : section sur les proprits importantes

































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes
Introduction
Adquation et de compltude
Lemme (la rgle de modus ponens prserve la validit). Si |= A et |= A ->
B alors |= B.
Lemme (la substitution uniforme prserve la validit). Soient A et B des formules
et p un atome. Si |= A alors |= A[p\B].
(cf. la remarque sur une axiomatisation avec une rgle de substitution uniforme
dans la section sur la thorie de la preuve)
Thorme d'adquation. Si |- A alors |= A.
(la dmonstration utilise les lemmes prcdents, et le fait que les axiomes sont
valides)
Thorme de compltude. Si |= A alors |- A.
(la dmonstration est difficile)
Thorme de dduction
Thorme de dduction. A |- B ssi |- A -> B.
Donc le problme de dduction A |- B peut tre rduit au problme de
prouvabilit |- A -> B .
Thorme de la consquence logique (version smantique du thorme de
dduction). A |= B ssi |= A -> B.
Donc le problme de consquence logique A |= B peut tre rduit au problme de
validit |= A -> B .
Annexe : thormes d'adquation et de compltude forte (non pas entre validit et
prouvabilit, mais entre consquence logique et dduction)
Dcidabilit
Thorme (existence d'une procdure de dcision). La logique propositionnelle
est dcidable : il existe une procdure effective qui pour toute formule A en entre
s'arrte et retourne `oui' si A est valide, et `non' sinon.
Un exemple de procdure de dcision est la mthode des tables de vrit. Une mthode
plus efficace est la mthode de balayage.
L'axiomatique est une caractrisation finie des formules valides : elle peut tre
`rendue oprationelle' comme procdure numerant l'ensemble des formules
prouvables. Mais ceci ne nous donne qu'une procdure de semi-dcision : si la
formule en question est valide, cette procdure va la trouver un jour, mais si elle ne
l'est pas alors la procdure ne s'arrtera jamais.

suite : quelques quivalences utiles








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes (suite)
Remarque. tant donn les thormes d'adquation et de compltude, les proprits qui
suivent peuvent tre formules et en termes de prouvabilit (avec |-) et en termes
de validit (avec |=).
Remplacement des quivalences logiques
Thorme (remplacement des quivalences). Soit B une sous-formule de A, et
soit |- B <-> C . Si A' est obtenue partir de A par le remplacement de cette
occurrences de B par C alors |- A <-> A'.
Exemples d'application
Remarque. Le remplacement en question n'est pas une substitution uniforme (cette
dernire ne s'applique qu'aux atomes, et non des formules ; de plus, elle s'applique
toutes les occurrences, et non une ou plusieurs).
quivalences permettant d'liminer des connecteurs
limination de l'implication :
|- A -> B <-> ~A v B
limination de l'quivalence :
|- (A <-> B) <-> (A -> B) & (B -> A)
limination de FALSE :
|- FALSE <-> p & ~p (pour un p quelconque)
limination de la ngation :
|- ~A <-> A -> FALSE
liminations de la disjonction :
|- A v B <-> ~(~A & ~B)
|- A v B <-> (A -> FALSE) -> B
liminations de la conjonction :
|- A & B <-> ~(~A v ~B)
|- A & B <-> (A -> (B-> FALSE)) -> FALSE
(v. aussi l'annexe sur des jeux de connecteurs alternatifs)
quivalences correspondant aux proprits algbriques des connecteurs
idempotence de ~ :
|- ~~A <-> A
idempotence de & et v :
|- A & A <-> A
|- A v A <-> A
associativit de & et v :
|- A & (B & C) <-> (A & B) & C
|- A v (B v C) <-> (A v B) v C
commutativit de & et v :
|- A & B <-> B & A
|- A v B <-> B v A
distributivit (lois de De Morgan) :
|- (A v B) & C <-> (A & C) v (B & C)
|- (A & B) v C <-> (A v C) & (B v C)

(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~.)

suite : section sur la forme normale conjonctive




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : forme normale conjonctive
Introduction et motivation
Dfinition (littral, clause, forme normale conjonctive).
Un littral est une formule atomique ou la ngation d'une formule atomique.
Une clause est une disjonction de littraux.
Une formule est en forme normale conjonctive si elle est une conjonction de
clauses.
Exemples
Notation. Nous utilisons L, L
1
, L
2
... pour des littraux, et C, C
1
, C
2
... pour
des clauses.
Notation. On suppose que les disjonctions et conjonctions sont parenthses
gauche :
une clause L
1
v L
2
v ... v L
n
est ((...(L
1
v L
2
) v ...) v L
n
), et
une conjonction de clauses C
1
& C
2
... & C
m
est ((...(C
1
& C
2
) ...) & C
m
).
Ceci est justifi par l'associativit de la conjonction et de la disjonction (v. aussi les
exemples).
Par convention, une disjonction de 0 littraux est FALSE (la clause vide), et une
conjonction de 0 clauses est TRUE.
Notation. Nous confondons une conjonction de clauses avec un ensemble de
clauses, et une clause avec un ensemble de littraux. Ceci est justifi par la
commutativit et l'idempotence de la conjonction et de la disjonction. Ainsi, la formule en
forme normale conjonctive (p v q) & (~p v r) sera confondu avec l'ensemble { {p
v q} , {~p v r} }. La clause vide FALSE sera confondu avec l'ensemble vide {}.
Algorithme de mise en forme normale conjonctive
entre : une formule A
sortie : une formule en forme normale conjonctive
dbut
liminer -> , <-> , FALSE ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~~A <-> A
~(A v B) <-> ~A & ~B
~(A & B) <-> ~A v ~B
A v (B & C) <-> (A v B) & (A v C)
fin
Exemples
Thorme. Pour toute entre A, l'algorithme de mise en forme normale conjonctive
s'arrte. Il retourne une formule en forme normale conjonctive quivalente
l'entre.
(la dmonstration utilise le thorme de la substitution des quivalents : les
remplacements effectus par l'algorithme correspondent des quivalences prouvables)
Thorme. Une formule en forme normale conjonctive est valide ssi toute clause
contient deux littraux contradictoires, c--d chaque clause est de la forme L1 v ...
v p v ... v ~p v ... v Ln.

suite : section sur la dmonstration automatique


































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats




Logique propositionnelle : proprits importantes
Introduction
Adquation et de compltude
Lemme (la rgle de modus ponens prserve la validit). Si |= A et |= A ->
B alors |= B.
Lemme (la substitution uniforme prserve la validit). Soient A et B des formules
et p un atome. Si |= A alors |= A[p\B].
(cf. la remarque sur une axiomatisation avec une rgle de substitution uniforme
dans la section sur la thorie de la preuve)
Thorme d'adquation. Si |- A alors |= A.
(la dmonstration utilise les lemmes prcdents, et le fait que les axiomes sont
valides)
Thorme de compltude. Si |= A alors |- A.
(la dmonstration est difficile)
Thorme de dduction
Thorme de dduction. A |- B ssi |- A -> B.
Donc le problme de dduction A |- B peut tre rduit au problme de
prouvabilit |- A -> B .
Thorme de la consquence logique (version smantique du thorme de
dduction). A |= B ssi |= A -> B.
Donc le problme de consquence logique A |= B peut tre rduit au problme de
validit |= A -> B .
Annexe : thormes d'adquation et de compltude forte (non pas entre validit et
prouvabilit, mais entre consquence logique et dduction)
Dcidabilit
Thorme (existence d'une procdure de dcision). La logique propositionnelle
est dcidable : il existe une procdure effective qui pour toute formule A en entre
s'arrte et retourne `oui' si A est valide, et `non' sinon.
Un exemple de procdure de dcision est la mthode des tables de vrit. Une mthode
plus efficace est la mthode de balayage.
L'axiomatique est une caractrisation finie des formules valides : elle peut tre
`rendue oprationelle' comme procdure numerant l'ensemble des formules
prouvables. Mais ceci ne nous donne qu'une procdure de semi-dcision : si la
formule en question est valide, cette procdure va la trouver un jour, mais si elle ne
l'est pas alors la procdure ne s'arrtera jamais.

suite : quelques quivalences utiles








































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : proprits importantes (suite)
Remarque. tant donn les thormes d'adquation et de compltude, les proprits qui
suivent peuvent tre formules et en termes de prouvabilit (avec |-) et en termes
de validit (avec |=).
Remplacement des quivalences logiques
Thorme (remplacement des quivalences). Soit B une sous-formule de A, et
soit |- B <-> C . Si A' est obtenue partir de A par le remplacement de cette
occurrences de B par C alors |- A <-> A'.
Exemples d'application
Remarque. Le remplacement en question n'est pas une substitution uniforme (cette
dernire ne s'applique qu'aux atomes, et non des formules ; de plus, elle s'applique
toutes les occurrences, et non une ou plusieurs).
quivalences permettant d'liminer des connecteurs
limination de l'implication :
|- A -> B <-> ~A v B
limination de l'quivalence :
|- (A <-> B) <-> (A -> B) & (B -> A)
limination de FALSE :
|- FALSE <-> p & ~p (pour un p quelconque)
limination de la ngation :
|- ~A <-> A -> FALSE
liminations de la disjonction :
|- A v B <-> ~(~A & ~B)
|- A v B <-> (A -> FALSE) -> B
liminations de la conjonction :
|- A & B <-> ~(~A v ~B)
|- A & B <-> (A -> (B-> FALSE)) -> FALSE
(v. aussi l'annexe sur des jeux de connecteurs alternatifs)
quivalences correspondant aux proprits algbriques des connecteurs
idempotence de ~ :
|- ~~A <-> A
idempotence de & et v :
|- A & A <-> A
|- A v A <-> A
associativit de & et v :
|- A & (B & C) <-> (A & B) & C
|- A v (B v C) <-> (A v B) v C
commutativit de & et v :
|- A & B <-> B & A
|- A v B <-> B v A
distributivit (lois de De Morgan) :
|- (A v B) & C <-> (A & C) v (B & C)
|- (A & B) v C <-> (A v C) & (B v C)

(Rappel : on omet les parenthses selon les priorits suivantes : <-> , -> , & , v , ~.)

suite : section sur la forme normale conjonctive




































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : forme normale conjonctive
Introduction et motivation
Dfinition (littral, clause, forme normale conjonctive).
Un littral est une formule atomique ou la ngation d'une formule atomique.
Une clause est une disjonction de littraux.
Une formule est en forme normale conjonctive si elle est une conjonction de
clauses.
Exemples
Notation. Nous utilisons L, L
1
, L
2
... pour des littraux, et C, C
1
, C
2
... pour des
clauses.
Notation. On suppose que les disjonctions et conjonctions sont parenthses
gauche :
une clause L
1
v L
2
v ... v L
n
est ((...(L
1
v L
2
) v ...) v L
n
), et
une conjonction de clauses C
1
& C
2
... & C
m
est ((...(C
1
& C
2
) ...) & C
m
).
Ceci est justifi par l'associativit de la conjonction et de la disjonction (v. aussi les
exemples).
Par convention, une disjonction de 0 littraux est FALSE (la clause vide), et une
conjonction de 0 clauses est TRUE.
Notation. Nous confondons une conjonction de clauses avec un ensemble de
clauses, et une clause avec un ensemble de littraux. Ceci est justifi par la
commutativit et l'idempotence de la conjonction et de la disjonction. Ainsi, la formule en
forme normale conjonctive (p v q) & (~p v r) sera confondu avec l'ensemble { {p
v q} , {~p v r} }. La clause vide FALSE sera confondu avec l'ensemble vide {}.
Algorithme de mise en forme normale conjonctive
entre : une formule A
sortie : une formule en forme normale conjonctive
dbut
liminer -> , <-> , FALSE ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~~A <-> A
~(A v B) <-> ~A & ~B
~(A & B) <-> ~A v ~B
A v (B & C) <-> (A v B) & (A v C)
fin
Exemples
Thorme. Pour toute entre A, l'algorithme de mise en forme normale conjonctive
s'arrte. Il retourne une formule en forme normale conjonctive quivalente
l'entre.
(la dmonstration utilise le thorme de la substitution des quivalents : les
remplacements effectus par l'algorithme correspondent des quivalences prouvables)
Thorme. Une formule en forme normale conjonctive est valide ssi toute clause
contient deux littraux contradictoires, c--d chaque clause est de la forme L1 v ...
v p v ... v ~p v ... v Ln.

suite : section sur la dmonstration automatique


































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats






Logique propositionnelle : forme normale conjonctive
Introduction et motivation
Dfinition (littral, clause, forme normale conjonctive).
Un littral est une formule atomique ou la ngation d'une formule atomique.
Une clause est une disjonction de littraux.
Une formule est en forme normale conjonctive si elle est une conjonction de
clauses.
Exemples
Notation. Nous utilisons L, L
1
, L
2
... pour des littraux, et C, C
1
, C
2
... pour
des clauses.
Notation. On suppose que les disjonctions et conjonctions sont parenthses
gauche :
une clause L
1
v L
2
v ... v L
n
est ((...(L
1
v L
2
) v ...) v L
n
), et
une conjonction de clauses C
1
& C
2
... & C
m
est ((...(C
1
& C
2
) ...) & C
m
).
Ceci est justifi par l'associativit de la conjonction et de la disjonction (v. aussi les
exemples).
Par convention, une disjonction de 0 littraux est FALSE (la clause vide), et une
conjonction de 0 clauses est TRUE.
Notation. Nous confondons une conjonction de clauses avec un ensemble de
clauses, et une clause avec un ensemble de littraux. Ceci est justifi par la
commutativit et l'idempotence de la conjonction et de la disjonction. Ainsi, la formule en
forme normale conjonctive (p v q) & (~p v r) sera confondu avec l'ensemble { {p
v q} , {~p v r} }. La clause vide FALSE sera confondu avec l'ensemble vide {}.
Algorithme de mise en forme normale conjonctive
entre : une formule A
sortie : une formule en forme normale conjonctive
dbut
liminer -> , <-> , FALSE ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~~A <-> A
~(A v B) <-> ~A & ~B
~(A & B) <-> ~A v ~B
A v (B & C) <-> (A v B) & (A v C)
fin
Exemples
Thorme. Pour toute entre A, l'algorithme de mise en forme normale conjonctive
s'arrte. Il retourne une formule en forme normale conjonctive quivalente
l'entre.
(la dmonstration utilise le thorme de la substitution des quivalents : les
remplacements effectus par l'algorithme correspondent des quivalences prouvables)
Thorme. Une formule en forme normale conjonctive est valide ssi toute clause
contient deux littraux contradictoires, c--d chaque clause est de la forme L1 v ...
v p v ... v ~p v ... v Ln.

suite : section sur la dmonstration automatique


































[Plan | Introduction | Logique propositionnelle (langage, thorie des modles, thorie de la preuve, proprits, FNC, dmonstration automatique)
| Logique des prdicats | Logiques non-classiques]

Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats





Logique propositionnelle : dmonstration automatique
Introduction
La mthode de balayage (rsolution non-clausale)
Algorithme de balayage
entre : une formule A
sortie : TRUE ou FALSE
dbut
liminer -> , <-> ;
tant que non(A = TRUE) et non(A = FALSE) faire
choisir une variable propositionnelle p apparassant dans A ;
remplacer A par la formule A[p\TRUE] & A[p\FALSE] ;
appliquer autant que possible les quivalences suivantes (en remplaant le
membre gauche par le membre droit), dans n'importe quel ordre :
~FALSE <-> TRUE
~TRUE <-> FALSE
B v TRUE <-> TRUE
B & FALSE <-> FALSE
B & TRUE <-> B
B v FALSE <-> B
fin tant que
fin
Remarque. La liste des quivalences utilises n'est pas complte : on a suppos
tacitement que la commutativit de & et de v est exploit.
Exemples
Remarque. Les exemples montrent que le choix de l'atome substituer est crucial
(une heuristique possible est de choisir l'atome qui a le plus d'occurrences dans A).
Thorme. Pour tout entre A, l'algorithme de balayage s'arrte. Il
retourne TRUE si A est valide, et FALSE sinon.
Dmonstration. La terminaison est assure par le fait que chaque passage de la boucle limine
un atome. Ensuite, comme |= A ssi |= (A[p\TRUE] & A[p\FALSE]), la deuxime tape
prserve la validit. Finalement, les simplifications correspondent des quivalences valides.
Remarque. L'quivalence A <-> (A[p\TRUE] & A[p\FALSE]) n'est pas valide
(exemple : A = p).

suite : chapitre sur la logique des prdicats


LOGIQUES NON-CLASSIQUES
Introduction
Les logiques modales (qui font partie des logiques non-classiques) sont des
extensions de la logique classique par des nouveaux connecteurs (ou oprateurs).
Ces oprateurs permettent d'analyser formellement des concepts tels la croyance, le
temps, l'incertitude, l'execution d'un programme, d'une actions, etc. Ainsi, la
formule [a]A peut tre lue
`l'agent a croit que A' dans une interprtation en termes de croyances,
`A est vraie l'instant a' dans une interprtation temporelle,
`A est vraie au dgr a' dans une interprtation en termes d'incertitude,
`A est vraie aprs terminaison du programme a' dans une interprtation en
termes de programmes.
`A est vraie aprs execution de l'action a' dans une interprtation en termes
d'actions.
Plusieurs familles de logiques modales ont ainsi t dfinies dans la littrature. Les
interprtations particulires des oprateurs modaux ont motives l'application de
ces logiques en particulier en intelligence artificielle et en vrification des
programmmes.
Pour une introduction plus dtaille nous nous refrons aux documents suivants
(tous en Anglais).
Modal logics: applications and proof methods (transparents)

You might also like