Académique Documents
Professionnel Documents
Culture Documents
François Lemieux
Exemple 1 L’assertion:
1 + 2 + 2 2 + 23 + 24 = 2 5 − 1
est vraie.
Exemple 2 L’assertion:
31, 331, 3331, 33331, 333331, 3333331 et 33333331 sont des nombres premiers
est vraie.
Exemple 3 L’assertion:
est fausse.
Exemple 4 L’assertion:
est vraie.
1
Afin de rendre la notation plus concise et plus générale, chaque assertion
peut être représentée par un symbole. Par exemple, les assertions des quatre
exemples précédents pourraient être représentées par les symboles A, B, C et
D, respectivement. On dirait alors que A, B et D sont vrais mais que C est
faux.
Si A et B sont deux assertions alors on peut utiliser les connecteurs logiques
ET, OU, NON, et ⇒ afin de créer de nouvelles assertions:
• A ∧ B (ET logique): cette assertion est vraie si et seulement si A et B
sont tous les deux vrais.
• A ∨ B (OU logique): cette assertion est fausse si et seulement si A et B
sont tous les deux faux.
• A (négation): cette assertion est vraie si et seulement si A est faux.
• A ⇒ B (implication): Si A est vrai alors cette assertion est vrai si et
seulement si B est vrai; si A est faux alors cette assertion est toujours
vraie. En d’autres mots, A ⇒ B est équivalent à A ∨ B.
Remarque. Il peut sembler étrange que A ⇒ B soit toujours vrai lorsque A
est faux. Cela est cependant justifié par l’usage que nous allons en faire. Par
exemple, considérez un ensemble U et deux sous-ensembles S ⊆ U et T ⊆ U .
Par définition, S est un sous-ensemble de T si pour tout élément x ∈ U on a:
x∈S⇒x∈T
Remarquez que l’implication doit être vrai quelque soit x ∈ U et en particulier
lorsque x 6∈ S.
2
Exemple 6 Soit S ⊆ N un ensemble de nombres entiers. Considérons les deux
assertions suivantes:
On veut démontrer que A ⇒ B est vrai quel que soit l’ensemble S. Bien sur,
il y a deux possibilités: A est vrai ou A est faux. Si A est faux alors A ⇒ B
est nécessairement vrai par définition de l’opérateur d’implication. Il reste donc
à montrer que si A est vrai alors B est aussi vrai. Supposons donc que A est
vrai et soit T = {x, y, z}, un sous-ensemble de S. On peut exprimer T sous
la forme: T = {x, y} ∪ {y, z}. Si A est vrai alors {x, y} ne contient que des
nombres pairs et il en est de même pour {y, z}. Donc tous les entiers dans T
sont pairs. On conclu que si A est vrai alors B est vrai.
2. (A ⇒ B) est vrai
alors on peut conclure que B est vrai.
2 Les prédicats
Dans l’exemple précédent, les assertions A et B sont presque identiques. Elles
ne diffèrent que par le nombre d’éléments dans l’ensemble. Nous pourrions
aussi vouloir définir des assertions similaires pour les ensembles de 4 éléments
et plus. Dans une telle situation, il est utile d’associer un paramètre n ≥ 0 à
une assertion comme dans la définition suivante:
P(n): Tous les sous-ensembles de n éléments de S ne contiennent que des nom-
bres pairs.
On a alors: A = P (2) et B = P (3).
3
Exemple 7 Soit n ≥ 0 un entier. Consédérons les assertions A(n), B(n) et
C(n) suivantes:
A(n): n = 2
B(n): n est pair
C(n): n est premier
Alors, on peut définir les assertions suivantes:
• B(n) ∧ C(n): cette assertion est vraie si et seulement si n est un nombre
premier et pair.
• (B(n) ∧ C(n)) ⇒ A(n): Cette assertion est toujours vraie car si n est à
la fois premier et pair alors n doit valoir 2.
Si une assertion P (n) est définie pour tout n ≥ 0 alors P peut être vu comme
une fonction associant à chaque nombre naturel la valeur vrai ou faux. Une telle
fonction est appelée prédicat.
Définition 1 Un prédicat est une fonction dont la valeur est vrai (V) ou faux
(F). Nous nous intéressons principalement aux prédicats sur les entiers, c’est-
à-dire aux fonctions de la forme:
P : N → {V, F }
4
Exemple 9 Soit P1 : N → {V, F } le prédicat défini par:
½
V si n est un nombre premier
P1 (n) =
F sinon
5
Soit P4 : N → {V, F } le prédicat défini par:
½
V si fib3(n) retourne le n-ième nombre de Fibonacci
P4 (n) =
F sinon
6
3 L’induction mathématique
L’exemple 10 de la section précédente présentait un précicat:
P : N → {V, F }
tels que P (n) est toujours vrai lorsque n est plus grand ou égal à 0. Cela signifie
que toutes les assertions:
sont vraies.
Mais comment peut-on prouver qu’une infinité d’assertions sont vraies? Nous
allons développer une startégie où la règle du Modus Ponens jouera un rôle cru-
cial.
Première stratégie:
3. Si l’on réussi les deux premières étapes, la règle du modus ponens nous
dit que P (2) est vrai.
4. On montre ensuite que P (2) ⇒ P (3) est vrai.
5. Si l’on réussi les quatre premières étapes, la règle du modus ponens nous
dit que P (3) est vrai.
7
P0
1. P (0) est vrai car i=0 2i = 1 = 21 − 1.
2. Montrons ensuite que P (0) ⇒ P (1) est vrai. On a:
1
X 0
X
2i = 2 + 2i
i=0 i=0
5. Puisque l’on a montré que P (1) est vrai et que P (1) ⇒ P (2) est vrai alors
la règle du modus ponens nous dit que P (2) est vrai.
Bien sur, cette façon de procéder est correcte mais elle possède un défaut
majeur: Le nombre d’étapes nécessaires pour prouver P (n) augmente avec n. Il
faut une étape pour montrer P (0), deux de plus pour prouver P (1), deux autres
8
pour prouver P (2), et ainsi de suite. Cela signifie qu’il faudrait une infinité
d’étapes pour montrer que P (n) est vrai pour tout n ≥ 0.
Une fois que l’on a montré que P (n − 1) ⇒ P (n) est vrai alors on peut
substituer n par n’importe quelle valeur plus grande que 0 et l’assertion demeure
vrai. On a donc:
9
1. Puisque P (0) est vrai et P (0) ⇒ P (1) est vrai donc P (1) est vrai par la
règle du modus ponens.
2. Puisque P (1) est vrai et P (1) ⇒ P (2) est vrai donc P (2) est vrai par la
règle du modus ponens.
3. Puisque P (2) est vrai et P (2) ⇒ P (3) est vrai donc P (3) est vrai par la
règle du modus ponens.
4. etc.
10
Exemple 18 Soit P : (N ) ⇒ {V, F, } le précicat défini par: P (n) = V si et
seulement si tous les arbres binaires de profondeur au plus n ont au plus 2n
feuilles. On veut montrer par induction mathématique que P (n) est vrai pour
tout n ≥ 0.
Base: P (0) est vrai car un arbre binaire de profondeur 0 ne peut posséder
qu’un seul noeud.
Hypothèse d’induction: Soit n ≥ 0 et supposons que P (n) est vrai.
Pas d’induction: Nous devons montrer que P(n+1) est vrai. Soit T , un ar-
bre binaire de profondeur n + 1. Par définition, T possède au plus deux
sous-arbres et ceux-ci ont une profondeur d’au plus n. Par hypothèse
d’induction chaque sous arbre possède au plus 2n feuilles. L’arbre T
possède donc au plus 2 · 2n = 2n+1 feuilles, ce qui montre que P (n + 1)
est vrai.
Conclusion: Par le principe de l’induction généralisée, nous avons que P (n)
est vrai pour tout n ≥ 1.
Dans certain cas l’induction mathématique simple que nous venons de voir
n’est pas suffisante et nous devons utiliser une version plus puissante:
11
Exemple 19 Soit P : (N ) ⇒ {V, F, } le précicat défini par: P (n) = V si et
seulement si tous les arbres binaires de n noeuds ont une profondeur d’au moins
blog2 nc. On veut montrer par induction mathématique généralisée que P (n) est
vrai pour tout n ≥ 1.
Base: P (1) est vrai car s’il n’y a qu’un seul noeud alors la profondeur est 0.
Hypothèse d’induction: Soit n > 1. Supposons que P (1), . . . , P (n − 1)
soient vrais.
Pas d’induction: Nous devons montrer que P (n) est vrai. Soit T , un arbre
contenant n noeuds. Puisque n > 1 alors T possède un sous-arbre dont
la taille est au moins d(n − 1)/2e noeuds. Par hypothèse d’induction, la
profondeur de S est au moins: blog2 d(n − 1)/2ec. Par le Lemme 1 on a :
Preuve. Nous allons distinguer les cas où n est pair et impair.
Si n est pair alors d(n − 1)/2e = n/2. On a donc blog2 d(n − 1)/2ec =
blog2 n/2c = blog2 n − 1c = b log2 nc − 1
Si n est impair alors blog2 (n − 1)c = blog2 nc. On a donc blog2 d(n − 1)/2ec =
blog2 (n − 1)/2c = blog2 (n − 1) − 1c = blog2 (n − 1)c − 1 = blog2 nc − 1
12