Theorem (Principe d`induction généreuse)

publicité
Theorem (Principe d’induction généreuse)
Soit a un nombre entier (positif, 0 ou négatif) et P(n) une fonction
propositionnelle avec l’univers de discours Z≥a = {n ∈ Z| n ≥ a}.
Supposons P(a) soit vrai et
supposons aussi pour chaque n ≥ a, que la vérité de P(m) pour
chaque a ≤ m ≤ n impliquerait la vérité de P(n + 1).
Alors nécessairement P(n) est vrai pour chaque n ∈ Z≥a .
Si P(a) est vraie et pour chaque n ≥ a :
[P(a) ∧ P(a + 1) ∧ . . . ∧ P(n − 1) ∧ P(n)] implique P(n + 1) :
alors P(n) vraie pour chaque n ≥ a.
MAT1500
1 of 18
Exemple.
Pour chaque nombre naturel n ≥ 12 il existe deux nombres
naturels r et t tels que n = 4r + 5t.
Brouillon : Essayons 12 = 4 · 3 + 5 · 0, 13 = 4 · 2 + 5 · 1,
14 = 4 · 1 + 5 · 2, 15 = 4 · 0 + 5 · 3.
Et puis 16 = 12 + 4 = 4 · (3 + 1) + 5 · 0,
17 = 13 + 4 = 13 = 4 · (2 + 1) + 5 · 1,
18 = 14 + 4 = 4 · (1 + 1) + 5 · 2...
Idée ! Je vais soustraire 4 et utiliser induction généreuse.
Donc je veux que ça fonctionne déjà pour (n + 1) − 4 ; alors que
12 ≤ (n + 1) − 4 ou n ≥ 15. Mais ça me force de montrer les cas
12, 13, 14, 15 avant par une autre façon (déjà fait heureusement).
Je suis prêt pour la preuve !
MAT1500
2 of 18
Démonstration.
Posons P(n) :=" il existe deux nombres naturels r et s tels que
n = 4r + 5t."
Début : On a P(12), P(13), P(14) et P(15) sont vraies :
12 = 4 · 3 + 5 · 0, 13 = 4 · 2 + 5 · 1, 14 = 4 · 1 + 5 · 2,
15 = 4 · 0 + 5 · 3.
Étape d’induction (généreuse) : Supposons n ≥ 15 et P(m) vraies
pour tout 12 ≤ m ≤ n.
On a 12 ≤ n − 3 ≤ n donc P(n − 3) est vraie par l’hypothèse
généreuse, c.-à-d., il existe deux nombres naturels r 0 et s 0 tels que
n − 3 = 4r 0 + 5t 0 . Alors n + 1 = 4(r 0 + 1) + 5t 0 . Donc P(n + 1) est
aussi vraie.
Conclusion : Par induction généreuse P(n) est vraie pour chaque
entier n ≥ 12.
MAT1500
3 of 18
On peut aussi utiliser l’induction pour donner des définitions.
Posons F (0) := 0, F (1) := 1. Nous allons définir une unique
fonction F : N → N telle que pour n ≥ 2 on a
F (n) = F (n − 1) + F (n − 2).
F (n) est le n-ième nombre de Fibonacci.
Construction : Début : Définissons F (0) := 0, F (1) := 1.
Étape d’induction : Supposons n ≥ 1 et F (m) est définie pour
0 ≤ m ≤ n. Alors on définit F (n + 1) = F (n) + F (n − 1).
Conclusion : Ainsi F (n) est définie pour chaque n ∈ N.
F (2) = 1, F (3) = 2, F (4) = 3, F (5) = 5, F (6) = 8, F (7) = 13,
F (8) = 21, F (9) = 34, . . .
MAT1500
4 of 18
Unicité :
Supposons G : N → N est une autre fonction aussi avec G(0) = 0,
G(1) = 1 et G(n) = G(n − 1) + G(n − 2).
Alors F = G.
Preuve ? Par induction !
MAT1500
5 of 18
Preuve par induction généreuse. Posons P(n) := ”F (n) = G(n)”.
Montrons ∀n ∈ N P(n).
Début : P(0) et P(1) sont vraie.
Étape d’induction : Supposons n ≥ 1 et P(m) vraies pour
0 ≤ m ≤ n. En particulier P(n) et P(n − 1) sont vraies ; c.-à-d.,
F (n) = G(n) et F (n − 1) = G(n − 1). Il suit que
F (n + 1) = F (n) + F (n − 1) = G(n) + G(n − 1) = G(n + 1)
et donc P(n + 1) vraie.
Conclusion : Par induction généreuse : P(n) vraie pour chaque
n ∈ N, c.-à-d., F (n) = G(n) pour chaque n ∈ N. D’où F = G
comme fonctions.
MAT1500
6 of 18
Pour les nombres de Fibonacci :
Montrer F (n) < 2n pour chaque n ∈ N.
Preuve par induction de P(n) := ”F (n) < 2n ” vraie pour chaque
n ∈ N.
Début (n = 0 et n = 1) : F (0) = 0 et en effet 0 < 20 = 1 et P(0)
est vraie. Et F (1) = 1 et en effet 1 < 21 = 2 et P(1) est vraie.
Étape d’induction (généreuse) : Soit n ≥ 1 et P(m) vraie pour
chaque 0 ≤ m ≤ n. En particulier F (n) < 2n et F (n − 1) < 2n−1 .
Donc
F (n + 1) = F (n) + F (n − 1) < 2n + 2n−1 < 2n + 2n = 21 · 2n = 2n+1 .
Alors en effet P(n + 1) est impliqué par l’hypothèse d’induction.
Conclusion : Par le principe d’induction : P(n) est vraie pour
chaque n ∈ N.
MAT1500
7 of 18
Nous voulons montrer : pour chaque nombre naturel n, si U est un
ensemble fini avec n éléments alors |P(U)| = 2n .
En utilisant induction sur n ?
Brouillon : Mais comment ? Il faut être capable de reduire la
calculation de |P(U)| à une calculation d’un |P(V )| où |V | < |U|.
Un candidat pour V ?
On pourrait enlever un élément de U, disons x ∈ U. En effet
V := U − {x }
a seulement n − 1 éléments.
Et 2n+1 = 2 · 2n . Donc il faut montrer que P(U) = 2P(V ) et
utiliser induction.
Possible ? Oui, mais ça prendra une préparation considérable !
MAT1500
8 of 18
Soit U un ensemble non-vide et fixons un élément x ∈ U.
Divisons P(U), la collection des sous-ensembles de U, dans deux
classes (sous-ensembles disjoints). Rappel A := U\A, le
complément de A ⊆ U.
x ∈ A si et seulement si x 6∈ A.
Définissons
C1 := {A ∈ P(U)| x ∈ A} et C2 := {A ∈ P(U)| x 6∈ A}
et fonctions
f1 : C1 → C2 par f1 (A) = A et f2 : C2 → C1 par f2 (A) = A.
Lemme
Les fonctions f2 et f1 sont bijectives.
Corollaire
Si U est un ensemble fini, alors |C1 | = |C2 | et |P(U)| = 2|C1 |.
MAT1500
9 of 18
Démonstration.
(lemme) Par un résultat montré en classe il suffit de montrer que
f1 ◦ f2 = 1C2 et f2 ◦ f1 = 1C1 .
Si A ∈ C2 , alors x 6∈ A et x ∈ A, donc A ∈ C1 , et f2 est une
fonction.
Puis (f1 ◦ f2 )(A) = f1 (A) = A = A = 1C2 (A).
L’autre identité (f2 ◦ f1 ) = 1C1 est montrée de la même façon.
(cor.) On a C1 ∪ C2 = P(U) et C1 ∩ C2 = ∅. Alors
|P(U)| = |C1 | + |C2 | − |C1 ∩ C2 | = |C1 | + |C2 |.
f2 : C2 → C1 est une fonction bijective, donc si U est fini, alors
|C2 | = |C1 | comme déjà montré.
MAT1500
10 of 18
Lemme
La fonction
f3 : P(U\{x }) → C2
définie par f3 (A) := A est bijective.
Corollaire
Si U est un ensemble fini, alors |P(U\{x })| = |C2 |.
Démonstration.
Si A ∈ P(U\{x }) alors c’est un sous-ensemble de U qui ne
contient pas x , donc c’est un élément de C2 . Et vice versa. Etc.
MAT1500
11 of 18
Supposons U un ensemble fini et x ∈ U.
Conclusion des deux corollaires :
|P(U)| = 2 · |P(U\{x })|.
Ce résultat sera utilisé dans la preuve du théorème :
Théorème
Soit U un ensemble de n éléments. Alors |P(U)| = 2n .
MAT1500
12 of 18
Démonstration.
Soit P(n) :="Pour chaque ensemble fini U de n éléments,
l’ensemble P(U) a 2n éléments".
Montrons P(n) par induction.
Début (n = 0). U = ∅ est le seule ensemble avec 0 éléments et
P(U) = {∅} a 20 = 1 élément. Donc en effet P(0) est vraie.
Étape d’induction : Soit n ∈ N et supposons P(n) vraie.
Soit U un ensemble avec n + 1 éléments. Choisissons un élément
x ∈ U, alors U\{x } a n éléments.
Par l’hypothèse d’induction |P(U\{x })| = 2n .
Par le résultat avant : |P(U)| = 2|P(U\{x })|.
Donc |P(U)| = 2 · 2n = 2n+1 et P(n) implique P(n + 1).
Par induction le théorème est vrai.
MAT1500
13 of 18
Relations d’équivalence
Les humains aiment faire des classifications.
Les nombres entiers sont de deux sortes : les nombres pairs et les
nombres impairs.
Pour les nombres réels on a les classes des nombres positifs,
négatifs et 0.
Les animaux domestiques sont classifiés dans plusieurs classes : les
chiens, les chats, les chevaux, les vaches, ...
Les symboles sont divisés dans les classes
a, b, c, . . . , z, 1, 2, . . . , +, ∗, :, ....
Les A, a , a sont dans la même classe "a" etcetera.
Idéalement, chaque objet considéré est placé dans une classe, et
idéalement dans une seule classe.
Nous avons besoin de modéliser cet idée en termes des ensembles.
MAT1500
14 of 18
Soit U un ensemble. Nous voulons diviser les éléments dans
plusieurs classes (sous-ensembles), selon une certain classification.
Idéalement on ne veut pas permettre un élément dans deux classes
différentes.
Il y a plusieurs façons de le faire, mais ils sont tous équivalent.
Soit à partir d’une fonction propositionnelle, soit à partir d’une
partition de l’ensemble.
MAT1500
15 of 18
Exemple.
Soit |E | = n < ∞.
Considérons U := P(E ) l’ensemble des sous-ensembles de E .
Soient A1 et A2 deux éléments de P(E ), c.-à-d., deux
sous-ensembles de E .
Nous disons que A1 et A2 sont dans la même classe, A1 ∼ A2 , si
|A1 | = |A2 |, i.e. si A1 et A2 ont la même taille.
On a trivialement
• A1 ∼ A1 ,
• si A1 ∼ A2 alors A2 ∼ A1 ,
• si A1 ∼ A2 et A2 ∼ A3 alors A1 ∼ A3 .
Une classe d’équivalence est la réunion de tous les élément de
P(E ) de même taille.
E
i
!
:= {A ⊆ E | |A| = i} ⊆ P(E ),
l’ensemble de tous les sous-ensembles de E avec exactement i
éléments.
MAT1500
16 of 18
La collection des classes
:
U/ ∼= { E0 , E1 , E2 , . . . ,
E
n }
⊆ P(U) = P(P(E ))
Chaque élément de U = P(E ) (=chaque sous-ensemble de E ) est
dans une unique classe d’équivalence. Et donc
P(E ) =
n
[
i=0
est une partition de
P(E ) :
c.-à-d. chaque Ei non-vide, et
En conséquence :
E
i
et
n
X
E
i
!
E
j
disjoints si i 6= j.
!
E
|P(E )| =
|
|
i
i=0
MAT1500
17 of 18
Si E = {a, b, c}.
MAT1500
E
0
!
E
1
!
E
2
!
E
3
!
= {∅}
= {{a}, {b}, {c}}
= {{b, c}, {a, c}, {a, b}}
= {E }
18 of 18
Téléchargement