Vous êtes sur la page 1sur 9

DEUG MIAS S1

Informatique

NOTIONS DE LOGIQUE MATHEMATIQUE


Notes de cours D. Laurent

La logique mathématique est une discipline des mathématiques qui s est beaucoup développée
à la fin du 19ème siècle et au début du 20ème pour donner entre autres la théorie des ensembles.
Des noms célèbres de la logique sont Boole, Cantor, Hilbert, Herbrand, Russel, Le but était
alors de modéliser et formaliser le phénomène de déduction mathématique. L informatique a
fait « renaître » le domaine car pour modéliser le monde réel, on a besoin de concepts
logiques plus avancés connus sous le nom de « logiques non classiques » opposé à la logique
dite classique qui cherche essentiellement à modéliser le raisonnement mathématique.

Nous allons voir les bases de la logique mathématique :


1. calcul propositionnel (ou d ordre 0)
2. calcul des prédicats (ou d ordre 1)

Remarque : En logique, on distingue toujours deux aspects


l aspect syntaxique : les formules ou le langage utilisé
l aspect sémantique : le sens que l on donne aux formules, ou l interprétation du langage
et donc la valeur de vérité des formules que l on considère
Les propriétés ou théorèmes de la logique tendent à étudier les formules indépendamment de
leurs interprétations pour avoir des propriétés toujours vraies.

Références bibliographiques :
1. T. Cormen, C. Leiserson, R. Rivest, Introduction à l algorithmique, Dunod, 1994
(Introduction to Algorithms (2nd Ed., MIT Press)
2. J. Velu, Méthodes mathématiques pour l informatique, Dunod, 1999
3. A. Arnold, I. Guessarian, Mathématiques pour l informatique, Masson, 2000

1. Notion de déduction
Le problème à l origine de la logique est de modéliser le raisonnement (Socrate, Hilbert). Le
problème, posé intuitivement est le suivant : en supposant que certaines propositions sont
vraies comment prouver qu une proposition donnée Q est vraie ?
L implication peut être considérée comme permettant des déductions : si on sait que la
proposition P est vraie et que l implication P Q est vraie, alors on en déduit que Q est
vraie.

Par exemple, soit P = (tout entier pair supérieur ou égal à 4 est la somme de deux entiers
premiers) et Q = (tout entier impair supérieur ou égal à 7 est la somme de trois entiers
premiers). Comment prouver que la proposition Q est vraie en supposant que P est vraie (et en
supposant de plus tous les résultats connus de l arithmétique) ?

1
La preuve est alors la suivante : si P est vraie et si n est un entier impair supérieur à 7, alors n-
3 est pair et supérieur à 4. Donc n-3 = x+y où x et y sont premiers, ce qui montre que n =
x+y+3, d où le résultat.
Il est important de remarquer que l on n a pas démontré que Q est vraie ; on a seulement
montré que l implication P Q est vraie ! (En fait on ne sait rien de Q car on ne sait pas si P
est vraie ou non, c est la conjecture de Golbach).

Néanmoins, si l on prend cette intuition de manière formelle, on ne peut pas montrer la


proposition (si P est vraie et si P est vraie, alors Q est vraie) Comme cette manière de
raisonner correspond à notre intuition, cette règle est admise et est connue sous le nom de
règle du modus ponens, ce qui s écrit : P, P Q |-- Q

On peut ainsi montrer qu avec P = (tous les étudiants assistent aux cours d informatique) et Q
= (tous les étudiants auront leurs examens), alors Q est vraie si l on suppose que P est vraie et
que l implication (P Q) est vraie !

Malheureusement, toutes les déductions ne sont pas aussi simples ! Il est alors nécessaire de
faire appel à des formes plus compliquées de raisonnement, dont la plus connue est le
raisonnement par l absurde (ou par contraposition) : Sachant que P est vraie, pour montrer
que Q est vraie, on suppose que Q est fausse et on montre alors que cela implique que P est
fausse. On a alors montré que l implication ( Q P) est vraie, c'est-à-dire que (P Q) est
vraie. Ceci suppose d admettre que ( Q P) est le contraire de (P Q), ce qui sera vu
par la suite. De plus, la proposition P n est pas forcément connue. C est le fait de supposer Q
fausse qui suggère la proposition P

Exemple. Soit Q = (il n existe pas de nombre premier maximal) et on va démontrer que ( Q
P) est vraie, où P est une proposition connue comme étant fausse. Dans ce cas, nous aurons
P vraie et ( P Q) vraie. Par suite, en appliquant la règle de modus ponens, nous en
déduirons que Q est vraie.
La preuve met en évidence un entier n supérieur à 1 qui divise 1 (proposition P) ce qui est
faux. Etapes de la preuve :
Q = (il existe un premier maximal). Soit p cet entier, et on note q = p! + 1. Comme q > p, q
n est pas premier. Donc il existe n (n > 1), nombre premier qui divise q. Or n divise
également p!, donc n divise (q p!) = 1. Donc, ( Q P) avec P = (il existe un entier > 1 qui
divise 1) est vraie. Comme on sait que P est fausse, on a terminé !

Afin de pouvoir généraliser la manipulation de propositions et de valeur de vérité (vrai, faux),


on a introduit des systèmes logiques formels, c est-à-dire indépendants de la signification
même des formules. Le système logique le plus simple est le calcul propositionnel.

2. Calcul propositionnel

2.1 Notion de proposition


On manipule des symboles appelés des variables propositionnelles, que l on interprète par des
« propositions » qui sont en fait des affirmations qui peuvent être soit vraies soit fausses, dans
l interprétation dans laquelle on se place.

Par exemple, soit P et Q deux variables propositionnelles. Si l on interprète P par « il fait


beau aujourd hui » et Q par « 2 est un entier pair » alors, selon les jours, P est soit vraie soit
fausse (selon le temps qu il fait) mais on doit pouvoir décider dans l interprétation considérée.

2
En revanche, intuitivement, Q sera considérée comme étant vraie (on imagine mal une
situation réelle dans laquelle l entier 2 pourrait ne pas être pair !).

Remarques. Le fait de ne considérer que vrai ou faux comme valeurs possibles dans une
interprétation signifie que l on se place dans une logique à 2 valeurs. Il existe des logiques à
plus de 2 valeurs, par exemple, la logique à 3 valeurs : vrai, faux et inconnu. D autre part, le
fait de considérer qu une proposition est soit vraie soit fausse (mais pas les deux) est connu
sous le nom de principe du tiers exclu.

Le propos du calcul propositionnel est, partant d un ensemble de symboles appelés variables


propositionnelles, de les combiner entre elles et d étudier ces combinaisons indépendamment
de leur interprétation. Ces combinaisons sont appelées des formules propositionnelles.

Les opérations de combinaison ou connecteurs, sont en général les suivantes : négation ( ),


disjonction ( ), conjonction ( ), disjonction exclusive (++), implication ( ), équivalence
( ). Néanmoins, seules les trois premières opérations sont nécessaires, car les autres sont
exprimées en fonction de ces opérations.

2.2 Syntaxe du calcul propositionnel


On dispose de
deux constantes V et F
symboles qui sont des variables propositionnelles. Notation : P, Q, P avec un indice etc
connecteurs : , ,
ponctuation : parenthèses

A partir de ce vocabulaire, on construit des formules (ou expressions) propositionnelles, mais


pas n importe comment. On applique les règles suivantes :
1. toute variable propositionnelle est une formule (atomique)
2. combinaisons avec les connecteurs sans oublier les parenthèses :
si F est une formule, alors (F) est une formule
si F et G sont deux formules alors (F G) et (F G) sont des formules

Exemples. Soit P et Q des variables propositionnelles, alors (PQ QR) n est pas une
formule, mais (P ( (Q) P)) est une formule.
On peut simplifier les écritures des formules en oubliant certaines parenthèses, selon les
règles suivantes : a priorité sur et qui, lui-même, a priorité sur ou.
Ainsi la formule ( P Q P) est une simplification de ( (P) (Q P)), qui est bien sûr
différente de (( (P) Q) P) ou de ( (P Q) P).

Les autres connecteurs sont alors définis comme suit :


1. (P Q) : ( P Q)
2. (P Q) : (P Q) (Q P)
3. P ++ Q : (P Q) (P Q)
4. (P Q) : (P Q)

2.3 Axiomes et tables de vérité


Pour étudier les formules, on considère les « règles » de calcul ou axiomes suivants :
1. V = F, F = V
2. (V V) = V, (F F) = F

3
3. (V F) = (F V) = F
4. (V V) = V, (F F) = F
5. (V F) = (F V) = F

On remarquera que ces axiomes correspondent à l intuition que l on a de la signification en


langage courant des connecteurs. De plus, l axiome 1 traduit le principe du tiers exclu, alors
que les axiomes 3 et 5 montrent que les connecteurs et sont commutatifs.

D autre part, une autre manière d énoncer ces axiomes est d utiliser les tables de vérité ci-
dessous.

P Q P Q P Q P Q
P P V V V V V V
V F V F F V F V
F V F V F F V V
F F F F F F
Les tables de vérité sont très souvent utilisées pour étudier des formules plus compliquées. Si
l on considère par exemple la formule (P Q) c est-à-dire ( P Q), on a alors :

P P Q P Q
V F V V
V F F F
F V V V
F V F V

Si l on fait de même pour la formule G = (P P), on obtient :

P P P P F
V F F V
V F F V
F V F V
F V F V

On constate que G est toujours vraie. Une telle formule est appelée une tautologie.

Définition. Une formule toujours vraie est une tautologie. De manière duale, si on a toujours
F, la formule est appelée une contradiction.

Une tautologie est aussi appelée théorème en mathématiques On trouvera ci-dessous une liste
(non exhaustive) très utiles dans la pratique :

(P V) P (P F) F (P V) V (P F) P
P P ( P) P (P P) P (P P) P
(P (Q R)) ((P Q) R) (P (Q R)) ((P Q) R)
(P Q) ( P Q) (P Q) ( P Q)
(P (P Q)) P (P (P Q)) P
(P (Q R)) ((P Q) (P R)) (P (Q R)) ((P Q) (P R))

4
(P Q) ( Q P) ((P Q) (Q R)) (P R)

Remarque : Ces tautologies sont souvent utilisées pour simplifier des expressions
booléennes. Le problème de simplification est le suivant : étant donné la formule G, trouver
une formule G plus simple que G telle que G G soit une tautologie.

Exemple. Montrer que la formule G = ( (P Q) ((P R) R)) peut se simplifier en (P


(Q R)).

G (P Q) ((P R) (R R))
( (P Q) ((P R) F)
( (P Q) (P R))
(( P Q) (P R))
(( P Q) P) R)
((( P P) ( Q P)) R)
((F ( Q P)) R)
(( Q P) R)
(P ( Q R))
(P (Q R))

On remarquera que construire la table de vérité aurait été beaucoup plus fastidieux. D autre
part, lorsque la formule simplifiée n est pas connue, l utilisation d une table de vérité est
impossible.

2.4 Sémantique
Interpréter les variables propositionnelles signifie leur associer un « sens » précis (en général
mathématique, mais pas toujours) aux variables propositionnelles (ex. P : 2 + 3 = 5, Q : pi est
un nombre rationnel, ), ce qui permet de leur donner une valeur de vérité, soit vrai soit
faux. De plus on interprète V par vrai et F par faux.
Ensuite, on interprète les connecteurs de façon à satisfaire les axiomes donnés précédemment.
A partir de là, on peut interpréter toutes les autres formules du langage propositionnel
considéré, et donc pouvoir obtenir des formules vraies.

Il est important de noter que les tautologies sont les formules du langage qui sont vraies dans
toutes les interprétations de ce langage.

3. Calcul des prédicats


Faiblesse de la logique propositionnelle : par exemple, P = (l entier n est pair) ne peut pas être
une proposition car on ne sait pas quelle valeur de vérité lui donner. En fait, la variable ici est
n et donc, on considère ici intuitivement un ensemble (infini) de propositions dont la valeur de
vérité dépend de n. On modélise ce type de formule par l introduction de nouveaux symboles
appelés symboles de prédicat.

Un prédicat peut être vu comme une fonction a valeurs dans {V, F} et prenant en arguments
des termes (un terme est soit une variable soit une constante soit une combinaison de termes
plus simples). Le nombre d arguments est fixe et appelé l arité du prédicat.

Exemple. Le symbole de prédicat pair a une arité égale à 1 ? De plus, si pair est interprété
dans l ensemble des entiers naturels N par (est multiple de 2), son interprétation est une

5
application de N dans {V, F} définie de manière connue. Par exemple pair(2) est associé à V
et pair(15) à F.

De plus, on remarque que si n est de la forme 2*m, alors pair(n) est toujours associé la valeur
V quelque soit la valeur de m. On modélise cela en utilisant des symboles particuliers appelés
quantificateurs. Dans notre exemple, on écrit alors la formule : ( m)(pair(2*m)), qui est
interprétée comme étant vraie dans N.

On distingue deux quantificateurs :


quantificateur universel, noté (lire pour tout, ou quelque soit)
quantificateur existentiel, noté (lire il existe)

Un quantificateur porte sur une variable et jamais sur une constante.

Exemple. On peut écrire ( n)(pair(n)) si n est une variable (ce qui sera associé à F), mais pas
( 3)(pair(3)) Noter également que ( n)(pair(n)) et ( n)(pair(2*n)) sont correctes et
associées à V.

3.1 Syntaxe
Les symboles du calcul des prédicats est divisé en 7 ensembles disjoints :
1. les symboles de constante, notés a, b, c,
2. les symboles de variables, notés x, y, z,
3. les symboles de prédicat, notés p, q,
4. les symboles de fonction, notés f, g,
5. le connecteurs : , , (comme dans le cas du calcul propositionnel)
6. les ponctuations : ( et )
7. les quantificateurs et .

Chaque symbole de prédicat ou de fonction est associé à un entier qui est son arité (nombre
d arguments).

On construit les formules comme suit :


1. les termes : toute variable ou toute constante est un terme et si f est une fonction
d arité n et t1, , tn sont n termes alors f(t1, ,tn) est un terme.
2. les atomes : si p est un prédicat d arité n et si t1, ,tn sont n termes, alors p(t1, ,tn)
est un atome.
3. tout atome est une formule (atomique)
4. si G et G sont deux formules, alors (G), (G G ), (G G ) sont des formules
5. si G(x) est une formule dans laquelle la variable x apparaît et si G(x) ne contient ni
( x) ni ( x), alors ( x)(G(x)) et ( x)(G(x)) sont des formules. On dit que x est libre
(ou non quantifiée) dans G(x), et que x est liée (ou quantifiée) dans ( x)(G(x)) et
( x)(G(x)).

Exemple. Si l on considère les symboles de prédicats pair et impair d arité 1, alors :


(( x)(pair(x)) ( x)(impair(x)))
(( x)(pair(x)) ( y)(impair(y)))
( x)(pair(x) impair(x))
sont des formules, alors que
( x)((pair(x)) ( x)(impair(x)))

6
n est pas une formule

3.2 Sémantique
Pour interpréter les formules, on se donne un ensemble de constantes (par exemple l ensemble
des entiers naturels N). Cet ensemble est appelé le domaine d interprétation, que l on va noter
D par la suite.

Les symboles sont alors interprétés dans D de la manière suivante :


1. Chaque symbole de constante est associé à un unique élément de D
2. Chaque symbole de fonction f est associé à une fonction de Dn dans D si n est l arité de f
3. Chaque symbole de prédicat p est associé à une fonction de Dn dans l ensemble {V, F} si
n est l arité de p.

On interprète alors les formules comme suit :


1. les connecteurs sont interprétés comme dans le calcul propositionnel (si G est vraie alors
(G) est fausse, etc ).
2. ( x)(G(x)) est vraie si en remplaçant dans G(x) toutes les occurrences de x par n importe
quelle valeur dans D, alors la formule obtenue est vraie.
3. ( x)(G(x)) est vraie si en remplaçant dans G(x) toutes les occurrences de x par (au moins)
une valeur dans D, alors la formule obtenue est vraie.

Exemple. Si l on se place dans N pour interpréter les formules, alors ( x)(pair(2*x)) est
vraie car en remplaçant n par n importe quel entier n, pair(2*n) est vrai. Mais ( x)(pair(x)
impair(x)) est fausse car il n existe aucun entier qui soit pair et impair. En revanche,
( x)(pair(x) impair(x)) et ( x)(pair(x) impair(x)) sont vraies.

3.3 Remarques sur la manipulation des quantificateurs


Les tautologies du calcul propositionnel restent valides dans le cadre du calcul des prédicats.
Plus précisément, si T est une tautologie du calcul propositionnel, alors en considérant les
variables propositionnelles de T comme des formules du calcul des prédicats, la formule
obtenue est vraie dans n importe quelle interprétation.

De plus, la présence de quantificateurs donne lieu à de nouvelles tautologies que nous


énonçons ci-dessous.
1. ( x)(G(x)) ( x)(G(x)) mais la réciproque est fausse
2. ( x)(G(x)) (( x)( (G(x)))
3. ( x)(G(x) G (x)) ( x)(G(x)) ( x)(G (x))
4. (( x)(G(x)) ( x)(G (x))) ( x)(G(x) G (x)) mais la réciproque est fausse
5. ( x)(G(x) G (x)) (( x)(G(x)) ( x)(G (x))) mais la réciproque est fausse
6. ( x)(G(x) G (x)) (( x)(G(x)) ( x)(G (x)))
7. ( x)( y)(G(x,y)) ( y)( x)(G(x,y)) mais la réciproque est fausse

Justification : 1 et 2 sont des conséquences immédiates de la manière d interpréter les


quantificateurs.
3. Supposons que ( x)(G(x) G (x)) est vraie. Alors, en remplaçant x par n importe quel
élément a de D dans G et dans G , (G(a) G (a)) est vraie. Donc G(a) et G (a) sont vraies, ce
qui implique que ( x)(G(x)) et ( x)(G (x)) sont vraies, donc que (( x)(G(x)) ( x)(G (x)))
est vraie. Réciproquement, si (( x)(G(x)) ( x)(G (x))) est vraie, alors ( x)(G(x))

7
( x)(G (x)) sont vraies. Donc, pour n importe quel élément a de D, (G(a) G (a)) est vraie et
donc, ( x)(G(x) G (x)) est vraie.
4. Supposons que (( x)(G(x)) ( x)(G (x))) est vraie. Alors, en remplaçant x par n importe
quel élément a de D dans G et dans G , G(a) G (a) est vraie. Supposons que G(a) est vraie.
Alors, dans ce cas (G(a) G (a)) est vraie et donc, ( x)(G(x) G (x)) est vraie.
Pour voir que la réciproque est fausse, considérer pair(x) et impair(x) pour G(x) et G (x).
Alors ( x)(pair(x) pair(x)) signifie que tout entier est pair ou impair, ce qui est vrai, mais
(( x)(pair(x)) ( x)(impair(x))) signifie que tout entier est pair ou tout entier est impair, ce
qui est faux.
5 et 6 sont des conséquences de 2 et de 3 et 4. Par exemple, pour 5, on a :
( x)(G(x) G (x)) (( x)( (G(x) G (x))))
(( x)( (G(x)) (G (x))))
Or, (( x)( (G(x)) ( x)( (G (x)))) ( x)( (G(x)) (G (x))), donc
(( x)( (G(x)) (G (x)))) (( x)( (G(x)) ( x)( (G (x)))), comme
(( x)( (G(x)) ( x)( (G (x)))) ( ( x)( (G(x))) ( x)( (G (x))))
on obtient (( x)( (G(x)) ( x)( (G (x)))) ( x)(G(x)) ( x)(G (x)).
7. Supposons que ( x)( y)(G(x,y)) est vraie dans une interprétation quelconque dans D.
Alors, pour un certain a de D, G(a,b) est vraie pour n importe quel b dans D. En d autres
termes, pour n importe quel b dans D, G(a,b) est vraie pour un certain a de D. Donc
( y)( x)(G(x,y)) est vraie.
Pour montrer que la réciproque est fausse, on considère D = {a, b} et G un prédicat d arité 2
interprété dans D par : G(a,a) = G(b,b) = vrai et G(a,b) = G(b,a) = faux. Dans ce cas,
( y)( x)(G(x,y)) est vraie. En effet, pour y = a, on prend x = a et pour y = b, on prend x = b.
D autre part, ( x)( y)(G(x,y)) est faux, car pour x = a, G(a,b) est faux et donc ( y)(G(a,y))
est faux, et pour x = b, G(b,a) est faux et donc ( y)(G(b,y)) est faux.

8
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.

Vous aimerez peut-être aussi