Académique Documents
Professionnel Documents
Culture Documents
Informatique
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.
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).
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é !
2. Calcul propositionnel
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.
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).
3
3. (V F) = (F V) = F
4. (V V) = V, (F F) = F
5. (V F) = (F V) = F
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
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.
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.
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.
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).
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.
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.
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.