Math Info 2012
Math Info 2012
Math Info 2012
MAT-1919
Hiver 2012
Remerciements
Une partie de la matière de ce cours était autrefois enseignée dans le cadre du cours
Logique et techniques de preuve. Merci à Jules Desharnais de nous avoir permis d’emprunter
certains éléments et exercices des notes de cours qu’il a lui-même rédigées.
Nous remercions également les étudiants des sessions précédentes qui nous ont souligné
des coquilles dans les notes de cours, contribuant ainsi à la qualité du document que vous
avez sous les yeux : Simon Arsenault, Michael Audet, Abdoul Aziz A. LOM, Vincent Blais,
Charles-Alexandre Cantin, Sylvain Fillion, Olivier Garant, Jean Bruno Jauvin, Charles Joly
Beauparlant, Patrick Landry, Benjamin Lemelin, Olivier Petit, Karim Sghari, Sandra Sirois
et Joel Trottier-Hébert.
ii
Table des matières
0 Un peu de motivation 1
iii
iv TABLE DES MATIÈRES
Index 236
Chapitre 0
Un peu de motivation
1. Curieusement, il n’existe pas de telles remises en question dans les diverses branches de l’ingénierie.
1
2 CHAPITRE 0. UN PEU DE MOTIVATION
Les ordinateurs sont, d’abord et avant tout, des calculatrices très sophistiquées. Les pre-
miers ordinateurs ont d’ailleurs été imaginés par des mathématiciens désireux d’automatiser
leurs calculs. De même, le langage binaire à la base des ordinateurs est issu de la logique
booléenne, que nous présenterons dès le début du premier chapitre. Le langage mathématique
fut donc à la base du développement de l’informatique, et il représente toujours un outil es-
sentiel aux informaticiens qui travaillent à l’informatique du futur 2 .
Notons aussi que, malgré la grande diversification des tâches que peut accomplir un ordina-
teur personnel comme outil de travail ou objet de divertissement, il demeure essentiellement
une puissante machine à calculer pour plusieurs scientifiques. En effet, les “superordina-
teurs” sont utilisés dans tous les domaines (physique, météorologie, économie, biologie, ...)
comme des outils permettant de résoudre des problèmes mathématiques comprenant un grand
nombre de variables.
Dépendamment du contexte, il est très difficile d’obtenir des réponses complètes à ces ques-
2. Il suffit de citer l’exemple d’une compagnie comme Google, qui a bâti son empire sur des idées novatrices
développées majoritairement en utilisant les outils qu’offrent les mathématiques.
3
tions. Plusieurs domaines de recherche en informatique étudient des méthodes pour analyser
les algorithmes 3 . On peut présumer que s’il y a, encore de nos jours, autant de failles dans
les logiciels, c’est en partie parce que ces méthodes ne sont pas encore assez évoluées pour
bénéficier de toute la logique et de la rigueur des mathématiques.
L’informatique étant une science relativement jeune, il existe encore beaucoup de problèmes
à résoudre reliés à une grande variété de domaines différents : l’intelligence artificielle, la vi-
sion numérique, la création d’horaires, les prévisions économiques, la simulation des systèmes
climatiques, l’assemblage de génomes, la compréhension du langage naturel, la vérification
automatique de logiciels, etc.
Tous ces problèmes complexes nécessitent d’être formulés rigoureusement avant de pouvoir
être résolus à l’aide d’un programme informatique. La plupart du temps, ce sont les mathéma-
tiques qui se révèlent le langage approprié pour formuler ces problèmes. Une fois le problème
bien formulé, on peut profiter des théories mathématiques déjà existantes pour mieux le
comprendre, pour le simplifier ou pour trouver des pistes de solutions possibles.
Cette approche est mise en évidence dans le troisième chapitre de ces notes de cours,
dédié à la théorie des graphes. En effet, un graphe est une structure mathématique simple
qui a été abondamment étudiée. Dans plusieurs cas, il suffit d’exprimer un problème comme
un graphe pour avoir accès à plusieurs algorithmes efficaces pour le résoudre.
Le cours sera l’occasion d’introduire plusieurs concepts mathématiques et, bien sûr, vous
serez évalués sur la maı̂trise des différentes notions. Cependant, la compréhension sera tou-
jours privilégiée plutôt que le “par coeur”. Comme plusieurs notions abordées ici serviront lors
d’autres cours du programme, ces notes de cours pourront aussi servir de référence ultérieure.
3. Bien que nous n’irons pas si loin dans le cours, la branche de la recherche nommée la “théorie de la
complexité” s’intéresse à des questions encore plus “fondamentales”, telles :
– Étant donné un problème, est-ce qu’il existe un algorithme capable de le résoudre en temps raisonnable ?
– Si je trouve un algorithme efficace pour résoudre le problème A, est-ce que ça me permet de résoudre le
problème B efficacement ? (même si les problèmes A et B sont en apparence de natures très différentes.)
4 CHAPITRE 0. UN PEU DE MOTIVATION
Tout le long du cours, nous accorderons une grande importance aux démonstrations
mathématiques. Il s’agit d’un concept qui n’est pas aussi simple qu’on peut le croire au
départ. L’écriture d’une démonstration mathématique requiert beaucoup de rigueur, et sou-
vent une certaine créativité. De même, il faut lire et écrire plusieurs démonstrations pour bien
en comprendre l’esprit. Les étudiants qui poursuivront leurs études aux cycles supérieurs se-
ront appelés à lire et rédiger des démonstrations lors de leurs travaux de recherche. Cela dit,
l’accent mis sur les démonstrations mathématiques ne sera pas seulement utile aux étudiants
qui poursuivront une carrière en recherche, mais permettra à tous d’exercer leur raisonnement
et leur capacité de déduction face à certains problèmes demandant une dose de réflexion.
Finalement, si ce cours peut vous convaincre que les mathématiques en informatique sont
utiles et agréables, nous aurons atteint notre but !
Chapitre 1
Pour débuter, nous introduisons les bases de la logique booléenne, nommée en l’honneur
du mathématicien et philosophe britannique George Boole (1815 – 1864), qui souhaitait
développer un formalisme pour traduire des concepts et des pensées en équations. Comme
nous le verrons, ce paradigme est très près du langage binaire utilisé en électronique et en
informatique.
Les deux premières affirmations sont vraies tandis que les deux dernières sont fausses.
On peut aussi exprimer des expressions booléennes par des formules mathématiques. Par
5
6 CHAPITRE 1. THÉORIE DES ENSEMBLES
exemple :
— 5+5+5=3·5 .
— 10 < 7 .
Dans ce dernier exemple, la première expression est toujours vraie et la deuxième est tou-
jours fausse. Remarquons que ces deux expressions mathématiques correspondent aussi à
des phrases de la forme “sujet-verbe-complément”. Pour la première expression, le membre
de gauche fait office de sujet, “=” est le verbe et le membre de droite est le complément.
Similairement, pour la deuxième expression, on a que “10” est le sujet de la phrase, “est plus
petit que” représente le groupe verbe et “7” le complément”. Notez également qu’on peut
réécrire ces expressions sous forme d’un texte français : “Cinq plus cinq plus cinq égale trois
fois cinq.” et “Dix est plus petit que sept.”.
La valeur de la première expression dépend de la province identifiée par les termes “ma
province”. De même, la deuxième expression dépend de la valeur de la variable x. Si aucune
valeur n’est attribuée à la variable x, on dit qu’il s’agit d’une variable libre, auquel cas il est
impossible d’assigner une valeur de vérité à l’expression “x < 7”. Cependant, pour chaque
valeur de x possible, on peut assigner une valeur de vérité à l’expression. Ainsi, l’expression
est fausse si x ≥ 7, sinon elle est vraie.
dans son entier en combinant les valeurs des deux expressions atomiques. Nous procéderons
de façon similaire pour évaluer la valeur de toute expression booléenne. Cette méthodologie
permet de mécaniser l’évaluation d’expressions booléennes complexes.
Afin de définir les trois premiers opérateurs booléens, nous avons recours à des tables de
vérité, qui associent à chaque combinaison de valeurs booléennes le résultat de l’évaluation
de l’expression formée par l’opérateur. La définition 1.1.1 présente les opérateurs suivants :
Nous avons défini les trois premiers opérateurs booléens (la négation “¬”, la conjonc-
tion “∧” et la disjonction “∨”) en présentant leur table de vérité. La logique booléenne repose
entièrement sur ces trois premiers opérateurs, puisqu’ils permettent de définir les trois der-
niers opérateurs booléens que nous utiliserons (l’implication “⇒”, l’implication inverse “⇐”
et le si et seulement si “⇔”) 1 . Bien entendu, il est possible de déduire les tables de vérité de
ces trois derniers opérateurs à partir de leur définition.
1. En fait, grâce à la loi de De Morgan (Proposition 1.1.4), on n’aurait qu’à définir la conjonction “∧” et
la négation ‘‘¬”, car la disjonction “∨” peut être définie comme “p ∨ q ⇔ ¬(¬p ∧ ¬q)”.
1.1. ALGÈBRE BOOLÉENNE 9
Pensez-y!
On constate que cette expression est fausse si et seulement si le Père Noël existe et que je
ne reçois pas de Nintendo en cadeau. Aussi, le fait que le Père Noël n’existe pas n’exclut
pas la possibilité que je reçoive un Nintendo en cadeau !
Ici, il est clair que, puisque “je” n’est pas le Pape, la seule manière que l’affirmation soit
vraie est que “tu” ne soit pas capable de traverser le fleuve à la nage.
Nous présentons finalement l’opérateur si et seulement si “⇔”, qui est défini par la
conjonction de deux implications.
def
p ⇔ q = (p ⇒ q) ∧ (q ⇒ p) (Définition du si et seulement si)
Notez que l’expression “(p ⇒ q)∧(p ⇐ q)” serait une définition équivalente du si et seulement
si. L’expression “p ⇔ q” se dit “p si et seulement si q” et s’écrit de manière abrégée “p ssi q”.
10 CHAPITRE 1. THÉORIE DES ENSEMBLES
La table de vérité suivante est obtenue par l’application directe de la définition 1.1.3.
Si et seulement si :
p q p⇔q
v v v
v f f
f v f
f f v
On constate que l’expression “p ⇔ q” est vraie lorsque les variables p et q sont égales
(c’est-à-dire qu’elles possèdent la même valeur de vérité). De même, l’expression “p ⇔ q” est
fausse lorsque les variables p et q sont différentes. L’opérateur si et seulement si “⇔” permet
donc d’exprimer la notion d’équivalence entre deux expressions booléennes. C’est pourquoi
cet opérateur apparaı̂t fréquemment dans les propriétés présentées à la section 1.1.3.
La table 1.1 présente la priorité des opérateurs booléens lors de l’évaluation d’une
expression booléenne. On évalue les opérateurs dans l’ordre décroissant de leur priorité.
Symbole(s) Nom(s)
¬ Négation (priorité élevée)
∧ ∨ Conjonction, Disjonction
⇒ ⇐ Implication, Implication inverse
⇔ Si et seulement si (priorité faible)
Grâce à cette convention, l’expression “p∧¬q ⇔ r” équivaut à l’expression “(p ∧ (¬q)) ⇔ r”.
Si on pose les valeurs p = vrai et q = r = faux, on évalue l’expression selon la séquence
suivante :
1. p ∧ ¬q ⇔ r ; 4. vrai ⇔ faux ;
2. vrai ∧ ¬faux ⇔ faux ; 5. faux .
3. vrai ∧ vrai ⇔ faux ;
1.1. ALGÈBRE BOOLÉENNE 11
En guise de récapitulation, la table de vérité 1.2 présente la synthèse des six opérateurs
booléens que nous utiliserons dans le cours.
Table 1.2 – Table de vérité présentant une synthèse des opérateurs booléens utiles dans ce
cours.
La logique booléenne présentée dans cette première section sera un outil essentiel tout au
long du cours, particulièrement lors des démonstrations mathématiques. Bien que cette forme
de logique peut paraı̂tre simpliste à première vue, étant donné qu’une expression booléenne
peut prendre seulement deux valeurs de vérité (vrai ou faux), elle est à la base de l’in-
formatique telle que nous la connaissons. En effet, les circuits électroniques de nos ordina-
teurs sont des agencements savants de “portes logiques” qui sont la matérialisation de nos
trois opérateurs booléens de base, c’est-à-dire la conjonction “∧”, la disjonction “∨” et la
négation “¬”. De même, le langage binaire utilisé par un ordinateur n’est qu’une succession
de 0 et de 1, c’est-à-dire de valeurs booléennes !
Maintenant que nous avons défini les six opérateurs booléens, nous allons énoncer quelques-
unes de leurs propriétés de base. À l’aide de ces propriétés, il sera possible de transformer des
expressions booléennes complexes en des expressions équivalentes. Ce sera des outils essentiels
pour effectuer plusieurs démonstrations mathématiques.
En plus de présenter certaines propriétés des opérateurs booléens, cette section introduit
une première technique de démonstration, qui consiste à vérifier qu’une expression booléenne
est vraie dans tous les cas possibles.
12 CHAPITRE 1. THÉORIE DES ENSEMBLES
Lois de De Morgan
Les premières propriétés que nous présentons permettent de transformer une conjonction
d’expressions booléennes en disjonction d’expressions booléennes (et vice-versa). Il s’agit des
lois de De Morgan, nommées en l’honneur du mathématicien britannique Auguste De
Morgan (1806 – 1871).
En mathématiques (comme dans la vie !), une bonne pratique est de confronter chaque
nouvel énoncé à son propre sens de la logique. Cela permet de mieux comprendre la signi-
fication de cet énoncé et de juger s’il est plausible 2 . Dans le cas qui nous intéresse, les lois
de De Morgan sont habituellement bien comprises intuitivement. Par exemple, nous pouvons
appliquer ces lois à des expressions formulées sous forme de phrases :
Même si ces exemples d’énoncés semblent suggérer que les lois de De Morgan sont
cohérentes, ils ne nous assurent pas qu’elles sont valides dans tous les cas. Afin de se convaincre
2. Mais attention, car certaines vérités sont contre-intuitives, et ce n’est pas parce qu’un énoncé semble
invraisemblable qu’il est nécessairement faux (dans les mathématiques comme dans la vie !).
1.1. ALGÈBRE BOOLÉENNE 13
de la véracité d’un énoncé mathématique, il faut en faire la démonstration. Ainsi, nous al-
lons démontrer la première loi de De Morgan en utilisant le seul outil présentement à notre
disposition, c’est-à-dire la table de vérité.
Une démonstration par table de vérité est une façon structurée de faire une démons-
tration par cas 3 . Nous évaluons donc la proposition 1.1.4-a pour toutes les combinaisons
de valeurs de vérité possibles que peuvent prendre les expressions booléennes p et q. Il y a
quatre possibilités, c’est-à-dire : p = v et q = v, p = v et q = f, p = f et q = v, p = f et
q = f (notez que ces 4 cas sont listés dans les deux premières colonnes de la table présentée
dans la démonstration de la proposition 1.1.4-a ci-bas). Pour chacune des combinaisons,
il faut s’assurer que la valeur de vérité de l’expression booléenne à la gauche du symbole
d’équivalence (“¬(p ∧ q)”) est égale à la valeur de vérité à la droite du symbole d’équivalence
(“¬p ∨ ¬q”).
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions p
et q, les expressions “¬(p ∧ q)” et “¬p ∨ ¬q” sont équivalentes. .
C.Q.F.D.
Notez que nous avons vraiment fait Ce Qu’il Fallait faire pour Démontrer la véracité de
l’énoncé, car nous avons démontré que la première loi de De Morgan est vraie dans tous les
cas. Le lecteur est invité à démontrer la deuxième loi de De Morgan par la même technique.
3. Nous reviendrons sur le principe général d’une démonstration par cas à la section 1.3.5.
14 CHAPITRE 1. THÉORIE DES ENSEMBLES
Essayons de confronter notre propre sens logique aux énoncés de quelques une de ces
propriétés. Par exemple :
Le lecteur suspicieux est encouragé à démontrer les autres énoncés des propositions 1.1.5,
1.1.6 et 1.1.7 par la méthode de démonstration par table de vérité.
4. Le lecteur peut objecter qu’une porte peut être entre ouverte (ou presque fermée). Ce scénario est
difficile à modéliser en logique booléenne, parce que cette dernière ne considère que deux valeurs de vérité,
soit le vrai et le faux. Toutefois, il existe d’autres paradigmes en mathématiques qui permettent d’exprimer
davantage. C’est le cas de la “logique floue” ou de la logique modale, par exemple. La logique modale est
particulièrement intéressante en informatique (en fait, plus particulièrement en sécurité et en analyse de
programmes), car elle permet de modéliser des concepts comme ”éventuellement” ou ”il est possible que”,
etc. Mais ceci est une autre histoire que vous aurez l’occasion de voir durant vos études d’informatique.
16 CHAPITRE 1. THÉORIE DES ENSEMBLES
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions p, q
et r, les expressions “(p ∨ q) ∧ r” et “(p ∧ r) ∨ (q ∧ r)” sont équivalentes. .
C.Q.F.D.
Contraposition
Nous présentons ici une démonstration par table de vérité de la propriété de contraposition
À la prochaine section, nous allons présenter une autre démonstration possible de la même
propriété, qui repose sur une nouvelle technique de démonstration que nous appellerons
“démonstration par succession d’équivalences”.
p ⇒ q ⇔ ¬q ⇒ ¬p
1.1. ALGÈBRE BOOLÉENNE 17
p q p⇒q ¬q ¬p ¬q ⇒ ¬p
v v v f f v
v f f v f f
f v v f v v
f f v v v v
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions p
et q, les expressions “p ⇒ q” et “¬q ⇒ ¬p” sont équivalentes. .
C.Q.F.D.
Pensez-y!
Les démonstrations par tables de vérité présentées jusqu’à maintenant consistent à valider
la véracité d’une expression booléenne en vérifiant tous les cas possibles. Cette technique peut
être très longue lorsque l’expression booléenne contient plusieurs variables 5 . Dans ce cas, il
5. En effet, pour une expression booléenne à n variables, la table de vérité nécessite 2n lignes !
18 CHAPITRE 1. THÉORIE DES ENSEMBLES
peut être préférable de démontrer l’expression booléenne en se basant sur les propriétés
que nous avons déjà vérifiées. Comme les mathématiciens disent souvent, il s’agit ici d’être
intelligemment paresseux.
Dans le cadre de ce cours, nous désignons par le terme démonstration par succession
d’équivalences une démonstration structurée où chaque ligne est une manière équivalente
d’exprimer le contenu de la ligne qui la précède 6 . Chaque passage d’une ligne à une autre
sera justifié par l’application d’une définition ou d’une propriété déjà démontrée.
Ainsi, chaque nouvelle proposition peut être utilisée dans les démonstrations d’autres
propositions. La démonstration d’une propriété mathématique est comparable à l’ajout d’une
“brique” au “château des mathématiques”. De ce point de vue métaphorique, les mathémati-
ciens de l’Antiquité ont construit les fondations de ce château, et chaque génération de ma-
thématiciens contribue à sa construction en posant sa brique sur celles de ses prédécesseurs...
Contraposition
(p ⇔ q) ⇔ (p ∧ q) ∨ (¬p ∧ ¬q) .
7. Soulignons ici qu’on se permet un abus de notation dans le formalisme utilisé lors des démonstrations.
En effet, comme l’opérateur si et seulement si “⇔” n’est pas conjonctif (l’expression “a ⇔ b ⇔ c” n’est pas
équivalente à “a ⇔ c”), il faudrait plutôt isoler chaque transformation d’une expression équivalente à l’autre
et écrire “(a ⇔ b) ∧ (b ⇔ c)”. Comme cela alourdirait les démonstrations, on juge qu’il est suffisant, dans ce
contexte précis, de disposer en retrait les symboles “⇔” entre les lignes équivalentes.
20 CHAPITRE 1. THÉORIE DES ENSEMBLES
p⇔q
⇔ h Déf 1.1.3 – Définition du si et seulement si i
(p ⇒ q) ∧ (q ⇒ p)
⇔ h Déf 1.1.2-a – Définition de l’implication, 2 fois i
(¬p ∨ q) ∧ (¬q ∨ p)
⇔ h Prop 1.1.6-f – Distributivité de la conjonction, avec [p := ¬p] et [r := (¬q ∨ p)] i
(¬p ∧ (¬q ∨ p)) ∨ (q ∧ (¬q ∨ p))
⇔ h Prop 1.1.6-d – Commutativité de la conjonction, 2 fois i
((¬q ∨ p) ∧ ¬p) ∨ ((¬q ∨ p) ∧ q)
⇔ h Prop 1.1.6-f – Distributivité de la conjonction, 2 fois i
((¬q ∧ ¬p) ∨ (p ∧ ¬p)) ∨ ((¬q ∧ q) ∨ (p ∧ q))
⇔ h Prop 1.1.5-c – Contradiction, 2 fois i
((¬q ∧ ¬p) ∨ faux) ∨ (faux ∨ (p ∧ q))
⇔ h Prop 1.1.7-d – Commutativité de la disjonction, 2 fois i
((p ∧ q) ∨ faux) ∨ ((¬q ∧ ¬p) ∨ faux)
⇔ h Prop 1.1.7-a – Elément neutre, 2 fois i
(p ∧ q) ∨ (¬p ∧ ¬q)
.
C.Q.F.D.
Message important !
Il est important de comprendre que les deux types de démonstrations présentées jusqu’à
maintenant sont également valides. En effet, pour démontrer l’équivalence entre deux expres-
sions booléennes, il est aussi valide d’effectuer une démonstration par table de vérité ou une
démonstration par succession d’équivalences.
d’intérêt en informatique, tant du point de vue pratique que théorique. Une raison à cet
intérêt est qu’il est possible de traduire plusieurs autres problèmes en un problème SAT.
L’équation définissant une instance du problème SAT est généralement exprimée sous
une forme standard que l’on désigne par forme normale conjonctive. On parle alors d’un
problème SAT-CNF (l’abréviation CNF vient de l’anglais “conjunctive normal form”). Par
exemple, l’instance φa suivante est exprimée sous forme normale conjonctive :
Une instance d’un problème SAT-CNF comprend exclusivement les opérateurs de base
présentés par la définition 1.1.1 (page 7) : la disjonction “∨”, la conjonction “∧” et la
négation “¬”. Rappelons que les trois autres opérateurs booléens présentés par les défini-
tions 1.1.2 (page 8) et 1.1.3 (page 9), peuvent être réécrits en utilisant seulement les trois
opérateurs de base. Cependant, il est souvent insuffisant de la réécrire à l’aide des trois
opérateurs de base pour transformer une expression booléenne sous forme normale conjonctive
(c’est-à-dire une conjonction de clauses). Pour ce faire, on peut transformer l’expression
en appliquant les lois de De Morgan (proposition 1.1.4) et les propriétés des opérateurs
(propositions 1.1.6, 1.1.7 et 1.1.5).
Satisfiabilité
On dit qu’une instance du problème SAT est satisfiable lorsqu’il existe une assignation
de variables telle que son expression booléenne est évaluée à vrai. L’instance φa ci-dessus
est satisfiable puisque si x1 = vrai, x2 = faux et x3 = vrai, l’expression est évaluée à vrai.
Pour montrer qu’une instance du problème SAT est satisfiable, il suffit de trouver une
assignation de variable pour laquelle l’expression est vraie (comme nous l’avons fait pour
l’instance φa ). Par contre, pour montrer qu’une instance est insatisfiable, il faut montrer
que pour toutes les assignations de variables possibles, l’expression est fausse. Une méthode
simple d’accomplir cette tâche est de vérifier tous les cas à l’aide d’une table de vérité. À
titre d’exemple, la table de vérité suivante montre que l’instance φb est insatisfiable :
c c c c φ
1
z }|2 { z }|3 { z }|4 { z }|b {
¬x1 x2 ∨ x3 x2 ∨ ¬x3 x1 ∨ ¬x2 c1 ∧ c2 ∧ c3 ∧ c4
z}|{
x1 x2 x3
v v v f v v v f
v v f f v v v f
v f v f v f v f
v f f f f v v f
f v v v v v f f
f v f v v v f f
f f v v v f v f
f f f v f v v f
d’un algorithme pour résoudre le problème SAT dont le temps d’exécution serait polynomial
en fonction du nombre de variables d’instance aurait un impact majeur sur l’informatique,
comme nous l’apprennent les recherches en théorie de la complexité.
9. En effet, pour trouver la solution d’un problème SAT à n variables, on peut être obligé de considérer
les 2n affectations de variables possibles (car si on est malchanceux, ce sera la dernière qui sera la bonne).
Cependant, une fois la solution trouvée, on peut rapidement vérifier qu’elle est bonne en ne considérant que
cette affectation.
24 CHAPITRE 1. THÉORIE DES ENSEMBLES
p q pYq
v v f
v f v
f v v
f f f
Écrivez une définition possible de l’opérateur “Y” en utilisant seulement (justifiez brièvement
vos réponses) :
Exercice 4 : Démontrez chacune des propriétés suivantes à l’aide des deux techniques de
démonstration vues jusqu’à maintenant, c’est-à-dire (i) par une table de vérité et (ii) par une
succession d’équivalences :
a) (¬p ⇔ ¬q) ⇔ (p ⇔ q)
b) (¬p ⇔ q) ⇔ (p ⇔ ¬q)
c) (¬p ⇔ q) ⇔ ¬(p ⇔ q)
d) ( ¬p ⇒ (p ⇒ q) ) ⇔ vrai
e) (p ⇒ (¬p ⇒ q) ) ⇔ vrai
f) (p ⇒ faux) ⇔ ¬p
Exercice 5 : Déterminez si les instances suivantes du problème SAT sont satisfiables. Pour les
instances satisfiables, fournissez une assignation de variables telle que l’expression booléenne
est vraie. Pour les instances insatisfiables, démontrez votre résultat à l’aide d’une table de
vérité.
Exercice 6 : En utilisant les propriétés que nous avons vues dans cette section, réécrivez les
expression suivantes sous forme normale conjonctive :
a) x1 ⇔ x2
b) (x1 ∨ x2 ) ∧ (x3 ∨ x4 )
c) (x1 ∧ x2 ) ∨ (x3 ∧ x4 )
d) (x1 ⇒ x2 ) ⇒ ((x3 ⇒ x4 ) ⇒ x5 )
26 CHAPITRE 1. THÉORIE DES ENSEMBLES
Exercice 7 : Imaginons qu’on vous demande d’écrire un “solveur SAT”, c’est-à-dire un pro-
gramme informatique qui reçoit en entrée une instance du problème SAT (soit une expression
booléenne sous forme normale conjonctive) et détermine si cette instance est satisfiable.
a) Votre programme reçoit en entrée une instance du problème SAT décrite ainsi :
— Un nombre n indiquant le nombre de variables du problème. On représente ces
variables par x1 , x2 , . . . , xn ;
— Une collection de m clauses que l’on représente par C1 , C2 , . . . , Cm .
On vous fournit une fonction déjà programmée “évaluerClause(Cj , a1 , a2 , . . . , an )”
qui retourne le résultat de l’évaluation de la clause Cj (c’est-à-dire vrai ou faux) avec
l’assignation de valeurs x1 = a1 , x2 = a2 , . . . , xn = an .
Expliquez, en vos mots ou à l’aide d’un pseudo-code, la procédure que doit employer
votre programme pour vérifier si une instance est satisfiable ou insatisfiable. Inspirez-
vous de la méthode que vous utilisez pour bâtir une table de vérité.
b) Transformez l’expression booléenne suivante sous forme normale conjonctive afin de
pouvoir déterminer si elle est satisfiable à l’aide de votre solveur SAT :
¬[ (p ∨ q) ∧ r ⇒ (p ∧ r) ∨ (q ∧ r) ] .
c) Serait-il possible d’utiliser votre programme pour vérifier si une expression booléenne
est toujours vraie ? Si oui, expliquez comment. Sinon, expliquez pourquoi.
Exercice 8 : À la page 47 du présent document, la section 1.3 débute par une citation d’une
pièce d’Eugène Ionesco, digne représentant du théâtre de l’absurde. Dans cette citation, un
prétendu logicien affirme : “Tous les chats sont mortels. Socrate est mortel. Donc Socrate est
un chat.”
a) Expliquez dans vos propres mots pourquoi ce raisonnement est erroné ;
b) Réécrivez l’affirmation de l’aspirant logicien en utilisant les opérateurs booléens. Pour
simplifier la tâche, nous vous suggérons d’utiliser les variables c et m pour représenter
les expressions de la manière suivante :
1.2 Ensembles
Maintenant que nous sommes ensemble,
ça va mieux.
La théorie des ensembles fut amorcée par le mathématicien allemand Georg Cantor
(1845 – 1918). Un ensemble est une structure mathématique très simple qui permet de re-
grouper plusieurs éléments. Au même titre que nous avons défini des opérateurs booléens
et des expressions booléennes à la section précédente, nous allons maintenant définir des
opérateurs ensemblistes et des expressions ensemblistes. Ces notions permettent de manipu-
ler des ensembles pour en créer de nouveaux et de démontrer certaines de leurs propriétés.
Les propriétés ensemblistes sont très similaires aux propriétés de l’algèbre de Boole que nous
avons vu à la section précédente. En fait ces deux domaines sont intimement liés.
Un ensemble est une collection d’éléments non ordonnée et sans répétitions. Les variables
représentant des ensembles sont habituellement des lettres majuscules et les éléments d’un
ensemble sont indiqués entre accolades. Dans l’exemple qui suit, l’ensemble A contient les
nombres entiers compris entre 1 et 5 inclusivement :
A = {1, 2, 3, 4, 5} .
L’ordre des éléments dans la présentation de l’ensemble n’a pas d’importance, de même que la
présence de répétitions. L’ensemble A peut donc s’écrire de plusieurs manières équivalentes :
Ainsi, un ensemble est défini uniquement par la nature de ses éléments. Il s’agit d’un choix
fait lors de la définition de cette structure mathématique 10 . Ce choix est énoncé par l’axiome
d’extensionnalité, qui définit rigoureusement l’opérateur d’égalité entre ensembles “=”.
def
S = T = (∀e | e ∈ S ⇔ e ∈ T ) .
On utilise aussi parfois l’opérateur d’inégalité entre deux ensembles “6=”, qui est
défini par l’équivalence suivante :
def
S 6= T = ¬(S = T ) .
Bien que nous travaillerons fréquemment avec des ensembles de nombres, les éléments
d’un ensemble peuvent être de type quelconque. On peut définir des ensembles de mots
français, des ensembles de phrases, des ensembles programmes informatiques, des ensembles
d’expressions booléennes, des ensembles d’ensembles, etc. Voici quelques exemples d’en-
sembles :
— B = {a, e, i, o, u, y}, l’ensemble des voyelles de l’alphabet ;
— C = {Laviolette, Desharnais, Germain}, l’ensemble des auteurs de ce document ;
— D = {2, 4, 6, 8, . . .}, l’ensemble des nombres pairs positifs ;
— B = {faux, vrai}, l’ensemble des booléens ;
— N = {0, 1, 2, 3, . . .}, l’ensemble des nombres naturels ;
— Z = {. . . , −3, −2, −1, 0, 1, 2, 3, . . .}, l’ensemble des nombres relatifs ;
— E = {B, C, D, B, N, Z}, l’ensemble des ensembles énumérés dans la présente liste.
Nous écrivons aussi l’expression “l’élément e n’appartient pas à l’ensemble S” avec la notation
“e ∈
/ S”. L’opérateur “∈”/ est donc défini par l’équivalence suivante :
def
e∈
/ S = ¬(e ∈ S) .
w∈
/ B, 42 ∈ D, faux ∈ B, −5 ∈
/ N, −5 ∈ R, N∈E.
Jusqu’à maintenant, nous avons présenté les ensembles par leur définition par exten-
sion, c’est-à-dire en énumérant les éléments de l’ensemble (par exemple, “A = {1, 2, 3, 4, 5}”).
Nous introduisons maintenant la définition par compréhension qui consiste plutôt à
présenter les propriétés que respectent les éléments d’un ensemble.
Pour définir un ensemble par compréhension, nous utilisons la notation “S = { f (x) | R(x) }”.
où :
— f (x) est une fonction qui décrit les éléments de l’ensemble ;
— R(x) est une expression booléenne qui permet de restreindre le contenu de l’ensemble.
Autrement dit, on a f (x) ∈ S si et seulement si R(x) = vrai.
Pensez-y!
La manière dont est défini un ensemble (par extension ou par compréhension) n’a
aucune influence sur sa composition. Par exemple, on peut imaginer une multitude de
manières de définir l’ensemble des nombres pairs positifs :
Notation abrégée
Remarquons que les ensembles définis par compréhension prennent souvent la forme
“{x | x ∈ T ∧ . . .}”, où on peut interpréter l’ensemble T comme le type de la variable x.
En mathématiques, il est fréquent d’utiliser la notation abrégée “{x ∈ T | . . .}” pour faciliter
l’écriture des ensembles. Par exemple, nous pourrions écrire l’ensemble des nombres entiers
entre 1 et 5 de la manière suivante :
A = {x ∈ N | 1 ≤ x ≤ 5} .
Ensemble vide
On utilise le symbole “∅” pour désigner l’ensemble vide, c’est-à-dire l’ensemble qui ne
contient aucun élément. Par exemple, l’ensemble des nombres plus petits que 1 et plus grand
que 5 est vide : {x | x < 1 ∧ x > 5} = ∅.
Pensez-y!
Notons que l’ensemble {∅} ne correspond pas à l’ensemble vide. En effet, l’ensemble
{∅} contient 1 élément, cet élément étant l’ensemble vide. On a donc :
∅ 6= {∅} et ∅ ∈ {∅} .
exemple dans les pages précédentes, on a |A| = 5, |B| = |E| = 6, |G| = 9 et |B| = 2. Comme
l’ensemble vide ne contient aucun élément, on a |∅| = 0. Par contre, |{∅}| = 1.
Bien qu’il ne fut pas le premier à représenter les ensembles par un schéma, on doit au
mathématicien anglais John Venn (1834 – 1923) les diagrammes de Venn utilisés com-
munément aujourd’hui. Un tel diagramme permet d’illustrer les relations entre les ensembles
que l’on étudie.
Tout diagramme de Venn est délimité par un rectangle représentant l’ensemble universel.
L’ensemble universel, désigné par le symbole U, contient tous les éléments possibles du
problème étudié. Par exemple, si on s’intéresse à un problème ne concernant que les nombres
naturels, on détermine que U = N. Par contre, si on s’intéresse aux noms des auteurs possibles
d’un document alors l’ensemble U pourrait représenter tous les noms de famille possibles.
À l’intérieur du diagramme de Venn, chaque ensemble est représenté par une ellipse. La
figure 1.1 présente trois exemples de diagrammes de Venn.
— Figure 1.1a : L’ensemble T est un sous-ensemble de l’ensemble S, c’est-à-dire que S
contient tous les éléments de T .
— Figure 1.1b : L’ensemble S et l’ensemble T peuvent posséder certains éléments en
commun.
— Figure 1.1c : L’ensemble S et l’ensemble T n’ont aucun élément en commun.
La présence d’un élément dans un ensemble est représentée par un point. Au besoin, on
peut attribuer une étiquette à cet élément. La figure 1.2 présente quelques exemples de tels
diagrammes de Venn :
— Figure 1.2a : L’ensemble T est un sous-ensemble strict de l’ensemble S, c’est-à-dire
que S contient tous les éléments de T et au moins un élément appartient à S sans
appartenir à T .
— Figure 1.2b : L’ensemble S et l’ensemble T possédent au moins un élément en commun.
Cet élément est désigné par e.
— Figure 1.2c : L’ensemble S et l’ensemble T n’ont aucun élément en commun et l’en-
semble S contient au moins trois éléments, désignés par les chiffres 1, 2 et 3.
32 CHAPITRE 1. THÉORIE DES ENSEMBLES
(a) T est inclus dans S. (b) S et T peuvent partager cer- (c) S et T sont disjoints.
tains éléments.
(a) T est strictement inclus (b) S et T partagent au moins (c) S et T sont disjoints et S
dans S. l’élément e. possède au moins 3 éléments
(désignés par 1, 2 et 3).
Remarquons que les diagrammes de Venn représentés par les figures 1.1b et 1.2b sont
semblables. La distinction entre ces deux diagrammes est que, dans la figure 1.1b, il est
possible que les ensembles S et T ne possède aucun élément en commun. Cependant, la
figure 1.1b précise que les deux ensembles partagent au moins un élément.
une valeur de vérité (vrai ou faux). Conséquemment, il est possible de les insérer dans des
expressions booléennes plus complexes lors de démonstrations mathématiques.
Quantificateur universel
Le quantificateur universel “∀” permet d’exprimer si tous les éléments d’un ensemble
possèdent une certaine propriété (exprimée sous forme d’expression booléenne). La notation
du quantificateur universel est la suivante :
(∀x | P (x) ) .
Cette expression est évaluée à vrai si l’expression P (x) est vraie pour toutes les valeurs x.
On la traduit habituellement en français par la phrase “Pour tout x, x satisfait P (x)”.
Pour évaluer l’expression, il suffit de vérifier si chaque élément de l’ensemble A est inférieur
à la valeur 10, ce qui est équivalent à évaluer l’expression booléenne suivante :
(1 < 10) ∧ (2 < 10) ∧ (3 < 10) ∧ (4 < 10) ∧ (5 < 10) .
Il y a donc un fort lien entre le quantificateur universel “∀” et l’opérateur de conjonction “∧”
introduit à la section 1.1.2.
Quantificateur existentiel
Cette expression est évaluée à vrai si l’expression P (x) est vraie pour au moins une valeur
de x. On la traduit habituellement en français par la phrase “Il existe un x tel que x satisfait
P (x)”.
L’expression “Il existe un nombre pair parmi les éléments de l’ensemble A” se traduit
34 CHAPITRE 1. THÉORIE DES ENSEMBLES
(∃x | x ∈ A ∧ x % 2 = 0) .
Pour évaluer l’expression, il suffit de vérifier si l’un ou l’autre des éléments de l’ensemble A
est pair, ce qui est équivalent à évaluer l’expression booléenne suivante :
(1 % 2 = 0) ∨ (2 % 2 = 0) ∨ (3 % 2 = 0) ∨ (4 % 2 = 0) ∨ (5 % 2 = 0) .
Il y a donc un fort lien entre le quantificateur existentiel “∃” et l’opérateur de disjonction “∨”
introduit à la section 1.1.2.
Notation abrégée
def
a : (∀x ∈ T | P (x) ) = (∀x | x ∈ T ⇒ P (x) ) (Quantificateur universel)
def
b : (∃x ∈ T | P (x) ) = (∃x | x ∈ T ∧ P (x) ) (Quantificateur existentiel)
11. L’opérateur arithmétique modulo “%” retourne le reste de la division entière. On a donc x % 2 = 0 si
x est pair et x % 2 = 1 si x est impair.
12. Notez qu’en informatique il arrive qu’on remplace les expressions de formes “(∀x | R(x) ⇒ P (x) )” et
“(∃x | R(x) ∧ P (x) )” par “(∀x | R(x) : P (x) )” et “(∃x | R(x) : P (x) )”. Cela dit, nous n’utiliserons pas ces
formes dans ce cours.
1.2. ENSEMBLES 35
Combinaison d’expressions
Similairement aux opérateurs booléens qui permettent de combiner des expressions boolé-
ennes atomiques, il existe des opérateurs sur les ensembles permettant de créer de nouveaux
ensembles en combinant des ensembles existants. C’est le cas des opérateurs ensemblistes de
complément “ c ”, d’union “∪”, d’intersection “∩” et de différence “\”.
Les sections suivantes sont consacrées à la présentation des définitions et des propriétés
des opérateurs ensemblistes.
Sc
def
a: = {e | e∈/ S} (Complément)
def
b: S∩T = {e | e ∈ S ∧ e ∈ T} (Intersection)
def
c: S∪T = {e | e ∈ S ∨ e ∈ T} (Union)
def
d: S\T = {e | e∈S∧e∈ / T} (Différence)
La figure 1.3 illustre, par des diagrammes de Venn, les ensembles obtenus par l’application
de ces opérateurs. Similairement aux tables de vérité énumérant les résultats de l’évaluation
des opérateurs booléens (section 1.1.2), les diagrammes de Venn sont suffisamment explicites
pour servir de définitions aux opérateurs. Nous verrons bientôt que les diagrammes de Venn
peuvent aussi servir à démontrer l’équivalence entre des ensembles exprimés de manières
différentes. Cependant, comme il peut être fastidieux d’illustrer un grand nombre d’ensembles
à l’aide d’un diagramme de Venn, ces démonstrations ne peuvent vraiment être utilisées que
pour des cas simples.
Les quatre opérateurs d’inclusions permettent de comparer deux ensembles afin de déterminer
si un ensemble est un sous-ensemble d’un autre. Ils forment des expressions booléennes :
1.2. ENSEMBLES 37
Pour indiquer la négation d’une expression ensembliste d’inclusion, on peut apposer une
barre oblique sur le symbole d’inclusion. Ainsi, nous obtenons les équivalences suivantes :
def def
T * S = ¬(T ⊆ S), T 6⊂ S = ¬(T ⊂ S),
def def
T + S = ¬(T ⊇ S), T 6⊃ S = ¬(T ⊃ S) .
Ensemble puissance
P({1, 2, 3}) = { ∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} } ,
P({42}) = { ∅, {42} } ,
P(∅) = { ∅ } .
La table 1.3 présente la priorité des opérateurs qui est utilisée lors de la construction
d’une expression ensembliste. Un opérateur ayant une priorité élevée est évalué avant un
opérateur ayant une priorité faible, à moins que l’usage de parenthèses indique un autre
ordre d’évaluation.
Symbole(s) Nom(s)
c Complément (priorité élevée)
\ Différence
∩ ∪ Intersection, Union
⊆ ⊂ ⊇ ⊃ Inclusions, Inclusions strictes
∈ = Appartenance, Égalité
Opérateurs booléens (voir table 1.1, page 10) (priorité faible)
Insistons sur le fait que les opérateurs booléens possèdent une priorité plus faible que les
opérateurs ensemblistes. Par exemple, les deux expressions suivantes sont équivalentes :
A ⊆ B ∪ C ⇒ e ∈ A ∧ (e ∈ T ∨ e ∈ U )
⇔ [ A ⊆ (B ∪ C) ] ⇒ [ (e ∈ A) ∧ ( (e ∈ T ) ∨ (e ∈ U ) ) ] .
1.2. ENSEMBLES 39
Cette section présente plusieurs propriétés des opérateurs ensemblistes définis à la section
précédente. De même, nous présentons les démonstrations de quelques-unes de ces propriétés.
Nous verrons d’abord comment faire une démonstration par cas à l’aide de diagrammes de
Venn. Les démonstrations par diagramme de Venn sont à la théorie des ensembles ce que les
démonstrations par tables de vérité sont à algèbre booléenne. Ensuite, nous présenterons des
démonstrations par succession d’équivalences. Cette technique sera très similaire à celle que
nous avons vue dans la section 1.1.4 sur l’algèbre booléenne.
Les premières propriétés des opérateurs booléens que nous avons présentées sont les lois de
De Morgan (proposition 1.1.4, page 12). Nous présentons maintenant les lois de De Morgan
appliquées aux ensembles. Il est intéressant de remarquer que, dans cette nouvelle proposi-
tion, l’intersection “∩” vient remplacer la conjonction “∧”, l’union “∪” vient remplacer la
disjonction “∨” et le complément “c ” vient remplacer la négation “¬”.
À la section 1.1.2, nous avons vu qu’il est possible de démontrer les propriétés des
opérateurs booléens en énumérant toutes les possibilités à l’aide d’une table de vérité. Si-
milairement, nous pouvons démontrer les propriétés des opérateurs ensemblistes à l’aide de
diagrammes de Venn. Dans les deux contextes, il s’agit de la technique de démonstration
par cas. Nous en donnons ici un exemple en démontrant la version ensembliste de la première
loi de De Morgan.
40 CHAPITRE 1. THÉORIE DES ENSEMBLES
Il s’agit de la représentation la plus générale de deux ensembles, car elle contient tous les
cas possibles 14 , c’est-à-dire qu’un élément peut soit : appartenir simultanément à S et T ,
appartenir à S mais pas à T , appartenir à T mais pas à S ou n’appartenir ni à S et ni à T .
c
=
S∩T (S ∩ T )c
∪ =
Sc Tc Sc ∪ T c
Les diagrammes de Venn obtenus montrent bien que les éléments appartenant à “(S ∩ T )c ”
sont les mêmes que les éléments appartenant à l’ensemble “S c ∪ T c ”. .
C.Q.F.D.
14. Nous voyons ici qu’une démonstration par diagramme de Venn est, sous la forme d’un diagramme, une
démonstration par cas, tout comme une démonstration par table de vérité est une démonstration par cas en
algèbre booléenne.
1.2. ENSEMBLES 41
Les prochaines propositions énumèrent les propriétés des quatre opérateurs de composi-
tion d’ensembles présentés par la définition 1.2.3 (page 36). Remarquons que ces propriétés
sont directement issues des opérateurs booléens que nous avons présentés à la section 1.1.3.
a : (S c )c = S (Complémentarité)
b : S ∪ Sc = U (Tiers exclu)
c : S ∩ Sc = ∅ (Contradiction)
Étant donné que nous avons défini les opérateurs ensemblistes en nous basant sur les
opérateurs booléens, les propriétés ci-haut se démontrent aisément en référant aux pro-
priétés des opérateurs booléens déjà démontrées à la section 1.1.3. En guise d’exemple, nous
présentons ci-bas la démonstration de la distributivité de l’intersection et la démonstration
de la distributivité de l’intersection sous la forme d’une démonstration par succession
d’équivalences.
La proposition suivante nous aidera à faire le pont entre les propriétés des opérateurs
ensemblistes et les propriétés des opérateurs booléens. Les propriétés présentées à la proposi-
tion 1.2.11 découlent directement de la définition des opérateurs ensemblistes (définition 1.2.3,
page 36) et de l’axiome d’extensionnalité (définition 1.2.1, page 28).
a: e ∈ Sc ⇔ ¬(e ∈ S) (Complément)
b: e∈S∩T ⇔ e∈S∧e∈T (Intersection)
c: e∈S∪T ⇔ e∈S∨e∈T (Union)
d: e∈S\T ⇔ e ∈ S ∧ ¬(e ∈ T ) (Différence)
Nous allons maintenant démontrer deux propriétés en procédant par successions d’équi-
valences, en commençant par la propriété de distributivité de l’intersection. L’étape clé de
cette démonstration est l’utilisation de la propriété de distributivité de la conjonction (pro-
priété 1.1.6), qui est un résultat que nous avons déjà démontré (voir page 15). La deuxième
démonstration est celle de la propriété de distributivité de l’union. La démarche employée est
très semblable à celle de la démonstration de la distributivité de l’union. Il est donc intéressant
ici de constater que le fait de bien comprendre la “mécanique” d’une démonstration d’un
énoncé mathématique peut parfois nous aider à démontrer d’autres énoncés mathématiques
similaires.
Démontrons donc “e ∈ (S ∪ T ) ∩ U ⇔ e ∈ (S ∩ U ) ∪ (T ∩ U )” :
Soit e un élément quelconque.
e ∈ (S ∪ T ) ∩ U
⇔ h Prop 1.2.11-b – Intersection, avec [S := S ∪ T ] et [T := U ] i
e ∈ (S ∪ T ) ∧ e ∈ U
⇔ h Prop 1.2.11-c – Union i
∈ S ∨ e ∈ T) ∧ e ∈ U
(e * +
Prop 1.1.6-f – Distributivité de la conjonction, avec [p := e ∈ S], [q := e ∈ T ]
⇔
et [r := e ∈ U ]
(e ∈ S ∧ e ∈ U ) ∨ (e ∈ T ∧ e ∈ U )
⇔ h Prop 1.2.11-b – Intersection, 2 fois i
e ∈ (S ∩ U ) ∨ (e ∈ T ∩ U )
⇔ h Prop 1.2.11-c – Union, avec [S := S ∩ U ] et [T := T ∩ U ] i
e ∈ (S ∩ U ) ∪ (T ∩ U ) . C.Q.F.D.
Démonstration de la proposition 1.2.9-f (Distributivité de l’union)
Soit S, T et U des ensembles. Nous voulons démontrer “(S ∩ T ) ∪ U = (S ∪ U ) ∩ (T ∪ U )”. Par
l’axiome d’extensionnalité (définition 1.2.1, avec [S := (S ∩T )∪U ] et [T := (S ∪U )∩(T ∪U )]),
nous savons que cela est équivalent à démontrer :
(∀e | e ∈ (S ∩ T ) ∪ U ⇔ e ∈ (S ∪ U ) ∩ (T ∪ U ) ) .
Démontrons donc “e ∈ (S ∩ T ) ∪ U ⇔ e ∈ (S ∪ U ) ∩ (T ∪ U )” :
Soit e un élément quelconque.
e ∈ (S ∩ T ) ∪ U
⇔ h Prop 1.2.11-c – Union, avec [S := S ∩ T ] et [T := U ] i
e ∈ (S ∩ T ) ∨ e ∈ U
⇔ h Prop 1.2.11-b – Intersection i
∈ S ∧ e ∈ T) ∨ e ∈ U
(e * +
Prop 1.1.7-f – Distributivité de la disjonction, avec [p := e ∈ S], [q := e ∈ T ]
⇔
et [r := e ∈ U ]
(e ∈ S ∨ e ∈ U ) ∧ (e ∈ T ∨ e ∈ U )
⇔ h Prop 1.2.11-c – Union, 2 fois i
e ∈ (S ∪ U ) ∧ (e ∈ T ∪ U )
⇔ h Prop 1.2.11-b – Intersection, avec [S := S ∪ U ] et [T := T ∪ U ] i
e ∈ (S ∪ U ) ∩ (T ∪ U ) . C.Q.F.D.
La propriété d’antisymétrie (proposition 1.2.12-d) sera démontrée à la section 1.3.4 (page 51)
portant sur les techniques de démonstration.
Alors que la proposition 1.2.12 présente des propriétés d’équivalence entre des expressions
ensemblistes, la proposition qui suit présente des implications. Ainsi, pour chacune de ces
propriétés, le fait que l’expression à gauche de l’implication soit vraie permet de déduire le
terme à droite de l’implication. Par contre, si le terme de droite est vrai, on ne peut rien
déduire du terme de gauche. La figure 1.4 illustre ce phénomène par deux diagrammes de
Venn en prenant comme exemple la propriété de transitivité (proposition 1.2.13-h).
a: S⊂T ⇒ S⊆T
b: S⊂T ⇒ T *S
c: S⊂T ⇒ T 6⊂ S
d: S ⊂T ∧U *T ⇒ U *S
e: S ⊆T ∧T ⊆U ⇒ S⊆U (Transitivité (1))
f: S ⊆T ∧T ⊂U ⇒ S⊂U (Transitivité (2))
g: S ⊂T ∧T ⊆U ⇒ S⊂U (Transitivité (3))
h: S ⊂T ∧T ⊂U ⇒ S⊂U (Transitivité (4))
1.2. ENSEMBLES 45
U U
Exercice 3 :
a) Définissez l’ensemble suivant par compréhension. L’ensemble des nombres premiers
compris entre 10 et 30. Vous pouvez utiliser la fonction booléenne premier(i) qui
retourne la valeur de l’expression “i est un nombre premier”, c’est-à-dire vrai si i est
premier, faux sinon.
46 CHAPITRE 1. THÉORIE DES ENSEMBLES
{x | y ∈ N ∧ z ∈ {2, 3} ∧ x = y z }
Exercice 4 : Soit l’ensemble de couleurs C = {rouge, vert, bleu}. Écrivez les ensembles
suivants en extensions :
a) P(C) ;
b) P(C) ∩ ∅ ;
c) P(C) ∩ P(∅) ;
d) {c ∈ P(C) | 2 > |c|} ;
e) {c ∈ P(C) | c ⊆ {rouge, bleu}} ;
f) {c ∈ P(C) | {rouge, bleu} ⊆ c} .
Exercice 5 : Démontrez chacune des propriétés suivantes à l’aide des deux techniques de
démonstration vues jusqu’à maintenant, c’est-à-dire (i) à l’aide de diagrammes de Venn
(démonstration par cas) et (ii) par une succession d’équivalences :
a) Complémentarité (Proposition 1.2.7-a) : (S c )c = S ;
b) Deuxième loi de De Morgan appliquée aux ensembles (Proposition 1.2.6-b) :
(S ∪ T )c = S c ∩ T c ;
c) Réécriture de la différence (Proposition 1.2.10-b) : S \ T = S ∩ T c .
d) Différence d’une union (Proposition 1.2.10-e) : S \ (T ∪ U ) = (S \ T ) ∩ (S \ U ) ;
1.3. TECHNIQUES DE DÉMONSTRATION 47
Dans les sections précédentes, nous avons introduit certaines techniques de démonstration,
principalement les démonstrations par cas (dans les situations particulières des démonstra-
tions à l’aide des tables de vérité et des diagrammes de Venn) et les démonstrations par
successions d’équivalences. Ces types de démonstrations sont très “mécaniques”. En effet, on
peut concevoir sans trop de difficultés des algorithmes permettant de vérifier si telle ou telle
démonstration est valide ou non.
Les différentes démonstrations présentées dans cette section prennent davantage la forme
d’un véritable texte français. Elles reposent sur les mêmes règles mathématiques que les
démonstrations qu’on a vu jusqu’à maintenant, mais on y met davantage l’accent sur la si-
gnification des énoncés. Ainsi, ces démonstrations sont destinées à être lues (et comprises) par
un humain plutôt qu’un ordinateur. Il s’agit d’une approche plus répandue en mathématique.
Les pages suivantes contiennent une série d’exemples et de stratégies pour effectuer une
démonstration. Les démonstrations mathématiques consistent bien entendu en quelque chose
de plus complexe que les exemples exposés ici. Cependant, ces derniers serviront de balises
pour les démonstrations relativement simples qui seront demandées à l’intérieur de ce cours.
Pour les démonstrations plus costaudes, vous n’aurez pas à les faire par vous-mêmes, mais
seulement (et c’est déjà pas mal) à les comprendre.
L’approche présentée ici est basée principalement sur deux questions importantes :
1. Que faire si l’énoncé qu’on souhaite démontrer contient un quantificateur universel
(c’est-à-dire un “∀”) ?
2. Que faire si l’énoncé qu’on souhaite démontrer contient un quantificateur existentiel
(c’est-à-dire un “∃”) ?
Ce sont les idées les plus importantes, mais il faut quand même savoir quoi faire pour
démontrer la conjonction “∧”, la disjonction “∨”, l’implication “⇒” et le si et seulement
si “⇔”. Ces derniers se raisonnent plus intuitivement que “∀” et “∃”.
Il importe d’être conscient qu’il n’existe pas de techniques de démonstration qui soient
meilleures que d’autres, pourvu que toutes les démonstrations soient effectuées avec la même
48 CHAPITRE 1. THÉORIE DES ENSEMBLES
rigueur mathématique. Pour un certain énoncé, il y aura parfois des démonstrations qu’on
pourra juger plus “élégantes” que d’autres, parce qu’elles sont plus succinctes, plus faciles à
comprendre ou qu’elles nous aident à comprendre le problème auquel on s’intéresse. Souvent,
il s’agira d’une question de préférences personnelles. C’est à force de lire des démonstrations
et d’en écrire soi-même qu’on développe un intérêt pour les “belles” démonstrations.
(∀x ∈ X | P (x) ) .
Pour ce faire, il suffit de démontrer que pour une entité inconnue fixée x appartenant à
l’ensemble X, on peut déduire que x satisfait P . Quand on dit une entité inconnue, on
veut dire qu’on ne peut rien présumer sur elle (sauf le fait qu’elle appartient l’ensemble X).
Quand on dit une entité fixée, on veut dire qu’on ne la changera pas en cours de route.
Ainsi, la démonstration d’un énoncé commençant par un quantificateur universel “∀” sera
toujours structurée comme suit :
Notez également que la démonstration se termine par le fait qu’après plusieurs étapes
d’argumentation mathématiquement correctes, on en arrive à conclure que cette variable x
doit obligatoirement satisfaire la propriété P .
(∃x ∈ X | P (x) ) .
Notez qu’ici encore, on n’utilise pas une variable sans l’avoir préalablement présentée.
Mais contrairement à la situation du quantificateur universel “∀”, on doit au moment de sa
présentation être sûr de l’existence d’une telle variable (puisque l’affirmation est justement
qu’elle existe). L’unique raison pour laquelle à la section 1.3.1 on ne se préoccupe pas de
savoir si un tel x existe, c’est que s’il n’existe pas de x ∈ X, alors “(∀x ∈ X | P (x))” est
nécessairement vrai.
Pour démontrer “P ⇒ Q”, il suffit de supposer que P est vrai et d’en déduire Q. Nous
présentons d’abord un exemple d’une démonstration avec un quantificateur universel “∀”
puis un autre exemple contenant un quantificateur existentiel “∃”.
50 CHAPITRE 1. THÉORIE DES ENSEMBLES
Remarquez qu’au cours d’une démonstration il est très utile, et souvent essentiel pour ne
pas s’embourber, d’écrire spécifiquement ce que nous sommes en train de démontrer dans
cette étape. C’est ce qu’on fait ici lorsqu’on dit “on veut montrer e ∈ T ∪ S”.
Une démonstration avec une implication inverse “⇐” se traite de la même façon, symé-
triquement : pour démontrer “P ⇐ Q”, on suppose Q et on en déduit P .
1.3. TECHNIQUES DE DÉMONSTRATION 51
Que fait-on avec les énoncés contenant un si et seulement si “⇔” ? Dans une démonstration
par successions d’équivalences, ceci se démontre en une étape, mais, dans une démonstration
plus “classique”, il est commun de démontrer séparément “P ⇒ Q” et “P ⇐ Q00 . Nous
basons notre technique de démonstration sur la définition de l’opérateur si et seulement si
(voir la définition 1.1.3 à la page 9) :
def
P ⇔Q = (P ⇒ Q) ∧ (P ⇐ Q) .
La démonstration suivante est importante, car c’est cette propriété qui nous permet de
démontrer que deux ensembles sont égaux ssi ils sont inclus l’un dans l’autre, ce qui rend
souvent les démonstrations d’égalité d’ensemble plus faciles.
. h ⇒ est démontré i
⇐ : Supposons S = T , i.e., (♥♥) (∀e | e ∈ S ⇔ e ∈ T ). .h on veut montrer S ⊆ T ∧ T ⊆ S i
Il arrive qu’on ne réussisse pas à démontrer l’énoncé “(∀x ∈ X | P (x))”, d’un seul coup
pour tous les x. Alors, on peut faire une démonstration par cas : on choisit des ensembles
X1 , X2 , X3 , . . . dont l’union est l’ensemble domaine X (il faut en être certain !) et on vérifie
séparément chacune des expressions suivantes :
La démonstration par cas est souvent utilisée pour démontrer un OU, comme dans la
deuxième partie de la démonstration suivante, où on veut démontrer la distributivité de
l’union (propriété 1.2.9-f, page 41). Rappelons que nous avons déjà démontré cette pro-
priété en combinant des axiomes dans une série d’équivalences (voir la page 43). Bien que
la démonstration présentée ici se révèle un peu plus longue, les démonstrations par cas sont
parfois très concises.
S ∪ (T ∩ U ) = (S ∪ T ) ∩ (S ∪ U ) .
⊆ : Soit s ∈ S ∪ (T ∩ U ) . h on veut s ∈ (S ∪ T ) ∩ (S ∪ U ) i
Donc s ∈ S ou s ∈ (T ∩ U ) : ce seront nos 2 cas qui couvrent notre domaine :
— 1er cas s ∈ S :
alors s ∈ S ∪ T et s ∈ S ∪ U . h car on a S ⊆ S ∪ T et S ⊆ S ∪ U i
donc s ∈ (S ∪ T ) ∩ (S ∪ U ) . h 1er cas démontré i
— 2e cas s ∈ T ∩ U :
alors s ∈ T et s ∈ U
donc s ∈ S ∪ T et s ∈ S ∪ U . h car on a T ⊆ S ∪ T et U ⊆ S ∪ U i
donc s ∈ (S ∪ T ) ∩ (S ∪ U ) . h 2e cas démontré i
Les 2 cas ayant couvert toutes les possibilités, l’inclusion est démontrée 15 .
15. Notez que pour le 2e cas, on aurait pu dire “s ∈ (T ∩ U ) \ S” pour avoir une vraie partition, mais ce
n’est pas nécessaire puisque ce qui importe est que tous les s possibles soient vérifiés (ici certains le sont deux
fois).
1.3. TECHNIQUES DE DÉMONSTRATION 53
⊇ : Soit s ∈ (S ∪ T ) ∩ (S ∪ U ) . h on veut s ∈ S ∪ (T ∩ U ) i
donc s ∈ (S ∪ T ) et s ∈ (S ∪ U )
— 1er cas s ∈ S :
alors s ∈ S ∪ (T ∩ U ) . h 1er cas démontré i
— 2e cas s 6∈ S :
alors s ∈ T et s ∈ U . h Par hypothèse, s ∈ (S ∪ T ) et s ∈ (S ∪ U ) i
Donc s ∈ T ∩ U .
alors s ∈ S ∪ (T ∩ U ) . h 2e cas démontré i
Comme S ∪ S c donne l’ensemble universel U, nous avons traité tous les cas. L’inclusion
inverse est démontrée. .
C.Q.F.D.
Il est toutefois important d’être rigoureux dans l’application de ces propriétés. Par exemple,
attardons-nous à l’énoncé suivant :
Nous présentons une première tentative de démonstration incorrecte (qui peut sembler
valide si on ne prend pas le temps d’y réfléchir suffisamment), puis une seconde démonstration
qui est valide.
Bien évidemment, ce qui cloche dans cette démonstration, c’est qu’il n’existe pas de tel
nombre magique m. Cependant, si pour une raison ou une autre, on pouvait démontrer qu’un
tel nombre existe, alors la démonstration deviendrait correcte. En attendant, voici ce qu’il
faut faire :
Notez que le m qu’on a choisi ici est construit à partir du n qui avait préalablement été
présenté, ce qui est tout à fait légal. On n’aurait cependant pas pu faire un tel argument si
nous avions eu à démontrer “(∃m ∈ N | (∀n ∈ N | m > n))”. D’ailleurs, ce dernier énoncé
est faux, donc impossible à démontrer.
Que fait-on avec les énoncés contenant un “¬∃” ou un “¬∀” ? Il serait difficile de “présenter”
une variable x qui “n’existe pas”. La stratégie consiste à transformer la négation en énoncé
positif, comme dans l’exemple de démonstration qui suit.
“il n’est pas vrai qu’il existe un m naturel qui est plus grand que son carré”.
Si ce naturel n’existe pas, c’est que tous les nombres satisfont le contraire. On peut trans-
former l’énoncé en “(∀m ∈ N | ¬(m > m2 ))”, ou encore “(∀m ∈ N | m ≤ m2 ). Démontrons
donc ceci.
Cas 2 : m ∈ N∗ .
Alors on a m ≥ 1 . h Par la définition de N∗ i
En multipliant par m des deux côtés, on obtient m · m ≥ 1 · m . h Arithmétique i
2
Ce qui est équivalent à m ≤ m . . h Cas 2 démontré i
La stratégie employée dans cette démonstration repose en fait sur une généralisation des
lois de De Morgan (voir la proposition 1.1.4 à la page 12). Voici les lois de De Morgan,
écrite sous deux nouvelles formes utiles pour nous :
Présentons maintenant une démonstration un peu plus complexe qui utilise ces propriétés.
Dans la démonstration précédente, on devait démontrer “(∀m ∈ N | (∃n ∈ N | ¬(n < m)) )”
et on a :
1. Choisi un m ∈ N tout à fait quelconque (on a rien dit sur ce m hormis qu’il était
dans N) ;
2. Choisi un n, pas n’importe lequel, mais dont on était sûr de l’existence et de son
appartenance à N ;
Dans une démonstration, quand on arrive à une contradiction, on peut conclure que la
dernière hypothèse qu’on a faite était fausse. Ceci arrive souvent dans une démonstration
par cas (on conclut alors que le cas n’est pas possible et on passe au suivant). C’est ce même
raisonnement qui nous permet de faire une démonstration par contradiction : on suppose
que ce qu’on veut démontrer est faux, et on démontre que ça implique une contradiction. Ce
genre de démonstration est basé sur l’équivalence :
(¬p ⇒ faux) ⇔ p .
Puisque que p et q sont pairs, ils ont 2 comme facteur commun, ce qui est en contradiction
avec nos choix initiaux de p et q (Autrement dit, pq n’est pas une fraction irréductible).
√
Donc, on ne peut pas supposer que 2 est un nombre rationnel.
√
Ainsi, 2 est un nombre irrationnel. .
C.Q.F.D.
58 CHAPITRE 1. THÉORIE DES ENSEMBLES
Important : Pour cette série d’exercices, vous devez écrire vos démonstrations sous la forme
d’un texte français, similairement aux démonstrations présentées tout au long de la sec-
tion 1.3. Nous vous encourageons cependant à vous former une intuition en utilisant les
diagrammes de Venn.
a) De Morgan : (S ∩ T )c = S c ∪ T c
b) De Morgan : (S ∪ T )c = S c ∩ T c
c) S \ T = S ∩ T c
À la section 1.2, nous avons défini un ensemble comme étant une collection d’éléments
non ordonnée qui ne contient pas de répétitions. Les ensembles seront le concept de base
pour définir les relations. Une relation entre deux ensembles permet de lier des éléments du
premier ensemble avec les éléments du deuxième.
Les relations ont beaucoup en commun avec les bases de données souvent utilisées dans
les systèmes informatiques. Par exemple, on peut imaginer qu’une base de données contient
un ensemble de noms de réalisateurs et un ensemble de titres de film, et qu’une relation lie
chaque réalisateur aux films dont il est l’artisan.
Nous verrons aussi que les relations permettent d’étudier les fonctions mathématiques
(telle, par exemple, “f (x) = x2 ”) et d’introduire un ordre dans un ensemble (si a ∈ N et
b ∈ N, on pourra évaluer la valeur de vérité de l’expression “a ≤ b”).
Un n-uplet consiste en une liste contenant n éléments. Nous écrivons les éléments d’un
n-uplet entre les symboles “h” et “i”. Par exemple, le 5-uplet qui suit contient les nombres
entiers de 1 à 5 inclusivement en ordre croissant :
u = h1, 2, 3, 4, 5i .
Contrairement aux ensembles, les éléments d’un n-uplet sont ordonnés et peuvent contenir
des répétitions. Ainsi :
Comme pour un ensemble, les éléments d’un n-uplet peuvent être de type quelconque
(nombres, mots, phrases, expressions booléennes...). Généralement, on utilise le terme couple
ou le terme paire pour désigner un 2-uplet (par exemple le couple “hvrai, fauxi”) et le terme
triplet pour désigner un 3-uplet (par exemple le triplet “h 13 , 13 , 31 i”).
60 CHAPITRE 1. THÉORIE DES ENSEMBLES
L’opérateur de produit cartésien “×” entre deux ensembles permet de créer l’ensemble
des couples réunissant un élément du premier ensemble et un élément du deuxième ensemble.
def
S × T = {ha, bi | a ∈ S ∧ b ∈ T } .
{1, 2} × {a, b, c} = {h1, ai, h1, bi, h1, ci, h2, ai, h2, bi, h2, ci} .
Insistons sur le fait que {1, 2} × {a, b, c} 6= {a, b, c} × {1, 2}, puisque les éléments d’un
couple sont ordonnés.
La définition qui suit présente le produit cartésien entre plusieurs ensembles. Notez qu’il
s’agit d’une généralisation de la définition 1.4.1, c’est-à-dire que cette nouvelle définition
est compatible avec la définition du produit cartésien de deux ensembles. Ainsi le produit
cartésien des ensembles S et T est l’ensemble de toutes les paires dont le premier membre est
un élément de S et le second un élément de T . On peut facilement généraliser cette définition
à S × T × U comme un ensemble de triplets, à S × T × U × V comme un ensemble de
quadruplets, etc.
def
S1 × S2 × . . . × Sn = {he1 , e2 , . . . , en i | e1 ∈ S1 ∧ e2 ∈ S2 ∧ . . . ∧ en ∈ Sn } .
Pour désigner un produit cartésien de n fois le même ensemble S par lui même, on utilise la
notation S n :
def
Sn = S | ×S× {z. . . × S} .
n fois
En accord avec cette notation, on désigne les coordonnées du plan cartésien par R2
et l’espace tridimensionnel par R3 . Tel qu’illustré par la figure 1.5, le plan cartésien est
constitué de l’ensemble des couples hx, yi tels que x ∈ R et y ∈ R. Similairement, l’espace
tridimensionnel est constitué de l’ensemble des triplets hx, y, zi tels que x ∈ R, y ∈ R et
z ∈ R.
1.4. RELATIONS ET FONCTIONS 61
ha, bi ∈ S × (T ∪ U )
⇔ h Def 1.4.1 – Produit cartésien, avec [T := T ∪ U ] i
a ∈ S ∧ (b ∈ T ∪ U )
⇔ h Prop 1.2.11-c – Union i
a ∈ S ∧ (b ∈ T ∨ b ∈ U )
⇔ h Prop 1.1.6-b – Distributivité de la conjonction i
(a ∈ S ∧ b ∈ T ) ∨ (a ∈ S ∧ b ∈ U )
⇔ h Def 1.4.1 – Produit cartésien, 2 fois i
(ha, bi ∈ S × T ) ∨ (ha, bi ∈ S × U )
⇔ h Prop 1.2.11-c – Union, avec [S := S × T ] et [T := S × U ] i
ha, bi ∈ (S × T ) ∪ (S × U ) .
.
C.Q.F.D.
Les relations permettent de lier entre eux les éléments de plusieurs ensembles. Dans ce
document, on utilise généralement des lettres minuscules de l’alphabet grec 16 pour désigner
des relations. Dans les énoncés des définitions et des propositions, nous utilisons souvent les
lettres “rhô” ρ, “sigma” σ et “thêta θ pour désigner des relations, au même titre que nous
utilisons, depuis le début de ce document, les lettres p, q et r pour désigner des expressions
booléennes et les lettres S, T et U pour désigner des ensembles. Bien sûr, ceci n’est qu’une
convention. Tout pictogramme (et non seulement une lettre) peut représenter une variable ;
il suffit de bien expliquer le choix qu’on fait.
ρ ⊆ S1 × S2 × . . . × Sn .
Dans ce cours, le mot relation est utilisé pour désigner relation binaire, qui est notre
principal objet d’étude. Ainsi, une relation ρ ⊆ S × T est un ensemble de couples (c’est-à-dire
de 2-uplets) qui associent certains éléments de S à certains éléments de T .
2. Soit E l’ensemble des étudiants d’un cours et N = {A+, A, A−, B+, B, B−, . . .} l’en-
semble des cotes possibles, la relation “gamma” γ ⊆ E × N associe chaque étudiant à
la cote qu’il a obtenu pour ce cours.
16. En mathématiques et en sciences, il est fréquent d’utiliser des lettres grecques pour nommer des va-
riables. Bien que cela est souvent rébarbatif au premier abord, il ne faut pas se laisser intimider par les lettres
α, β, γ, . . . davantage que par les lettres x, y, z ! Le lecteur est invité à se référer à l’annexe A (page 229) pour
connaı̂tre la prononciation en français de chacune des lettres de l’alphabet grec.
64 CHAPITRE 1. THÉORIE DES ENSEMBLES
3. La relation “thêta” θ ⊆ R2 suivante contient les points d’un cercle de rayon unitaire
et centré à l’origine du plan cartésien :
θ = {hx, yi ∈ R2 | x2 + y 2 = 1} .
4. On peut aussi voir l’opérateur “plus petit ou égal” comme une relation (on définit ici
l’opérateur sur les entiers relatifs Z seulement) :
≤ = {ha, bi ∈ Z2 | (b − a) ∈ N} .
L’ensemble vide ∅ est une relation constituée d’aucun couple. Il s’agit de la relation
vide. Rappelons que pour n’importe quels ensembles S et T , nous avons ∅ ⊆ S × T .
Opérateur d’appartenance
Nous souhaiterons souvent vérifier l’appartenance d’un couple à une relation. Con-
formément à la définition de l’opérateur d’appartenance “∈” présentée à la section 1.2.2,
l’expression booléenne “ha, bi ∈ ρ” est évaluée à vrai si le couple ha, bi appartient à la rela-
tion ρ, sinon l’expression est évaluée à faux. Par souci de concision, nous utilisons l’expression
“a ρ b” pour désigner la même expression booléenne :
Pensez-y!
Cette nouvelle notation peut sembler étrange à première vue. Certains étudiants ont
tendance à croire que cela va contre le bon sens d’écrire une expression telle “a ρ b” afin
d’exprimer la phrase “Le couple ha, bi appartient à la relation rhô”.
Pourtant, il est naturel à tous d’écrire l’expression “a ≤ b”, ce que nous pouvons
exprimer par la phrase “Le couple ha, bi appartient à la relation plus petit ou égal”. Dans
ce cas-ci, la notation “ha, bi ∈ ≤” peut sembler contre-intuitive, quoiqu’elle soit tout aussi
appropriée.
Il faut bien comprendre ici que la lettre grecque “ρ” et le symbole mathématique “≤”
sont seulement des pictogrammes que nous avons choisis pour représenter des relations. Ce
sont nos habitudes qui nous font préférer une notation plutôt qu’une autre dépendamment
du pictogramme utilisé.
Considérons une relation ρ ⊆ S×T . On dit que S est l’ensemble de départ et l’ensemble
que T est l’ensemble d’arrivée 17 .
La définition suivante établit que le domaine d’une relation est l’ensemble des éléments
figurant comme premier membre d’un couple dans cette relation. De même, l’image d’une
relation est l’ensemble des éléments y figurant comme deuxième membre d’un couple. Le
domaine d’une relation est inclus dans son ensemble de départ. De même, l’image d’une
relation est incluse dans son ensemble d’arrivée.
17. Certains livres de mathématiques nomment “co-domaine” ce que nous désignons ici par “ensemble
d’arrivée”.
66 CHAPITRE 1. THÉORIE DES ENSEMBLES
Un graphe est un ensemble de sommets dont certains sont reliés entre eux par des arêtes
ou des arcs 18 . Nous désignons par le terme graphe de relation un diagramme qui représente
une relation à l’aide d’un graphe. On peut imaginer plusieurs légères variantes dans la manière
de dessiner ces diagrammes. Dans le cadre de ce cours, nous utilisons les termes “graphe de
relation sous forme biparti” et “graphe de relation sous forme fusionné” pour distinguer les
deux variantes auxquelles nous avons recours.
représentant les éléments de l’ensemble d’arrivée T . Les arêtes relient entre eux les éléments
qui forment un couple dans la relation ρ. Autrement dit, il y a une arête entre a ∈ S et b ∈ T
lorsque ha, bi ∈ ρ. Les figures 1.6a et 1.6b présentent deux exemples de graphes de relations
sous forme bipartis.
1 1 1
A
2 2 2
B 1 3
3 3 3
C
4 4 4 2 4
(a) Graphe de la (b) Graphe de la (c) Graphe de la re-
relation ρ sous relation σ sous lation σ sous forme
forme biparti. forme biparti. fusionné.
La relation identité “IS ” associée à l’ensemble S est une relation particulière où chaque
couple associe un élément de S avec lui-même.
Composition de relations
def
ha, ci ∈ ρ ◦ σ = (∃b ∈ T | ha, bi ∈ ρ ∧ hb, ci ∈ σ) ,
def
a (ρ ◦ σ) c = (∃b ∈ T | a ρ b ∧ b σ c) .
À titre d’exemple, si la relation “bêta” β ⊆ R × F associe les réalisateurs aux films qu’ils
ont réalisés et la relation “alpha” α ⊆ F × N associe les films à leur année de parution, la
relation β ◦ α ⊆ R × N associe les réalisateurs aux années de parution de leurs films :
hSpielberg, 1975i, hSpielberg, 1981i, hSpielberg, 1982i, . . . ,
β◦α = hJackson, 1992i, hJackson, 2001i, hJackson, 2005i, . . . , .
hMendes, 1999i, hMendes, 2002i, hMendes, 2005i, . . .
ρ ◦ σ ◦ θ = (ρ ◦ σ) ◦ θ = ρ ◦ (σ ◦ θ) .
19. Notons ici que nous utilisons la même notation (l’exposant n) pour désigner à la fois la puissance “à la n”
d’une relation (définition 1.4.7) et le produit cartésien “n fois” d’un ensemble par lui-même (définition 1.4.2).
Bien que cela pourrait porter à confusion (une relation étant définie comme un ensemble), le contexte d’uti-
lisation de cette notation empêche habituellement toute ambiguı̈té.
70 CHAPITRE 1. THÉORIE DES ENSEMBLES
δ = {h1, 1i, h1, 2i, h2, 3i, h4, 5i, h5, 6i} ⊂ {1, 2, 3, 4, 5, 6, 7}2 .
Nous avons :
δ 0 = {h1, 1i, h2, 2i, h3, 3i, h4, 4i, h5, 5i, h6, 6i, h7, 7i} ,
δ 1 = {h1, 1i, h1, 2i, h2, 3i, h4, 5i, h5, 6i} ,
δ 2 = {h1, 1i, h1, 2i, h1, 3i, h4, 6i} ,
δ n = {h1, 1i, h1, 2i, h1, 3i} pour tout n ≥ 3.
2 2 2 2
1 3 1 3 1 3 1 3
7 7 7 7
6 4 6 4 6 4 6 4
5 5 5 5
(a) Relation δ 0 . (b) Relation δ 1 . (c) Relation δ 2 . (d) Relation δ n ,
pour tout n ≥ 3.
La proposition qui suit présente deux propriétés de l’opérateur puissance qu’il est relati-
vement facile de déduire de l’associativité de la composition (propriété 1.4.8-c).
La figure 1.9 illustre les deux types de clôtures sur la relation δ donnée en exemple à la
figure 1.8.
2 2
1 3 1 3
7 7
6 4 6 4
5 5
+
(a) Relation δ . (b) Relation δ ∗ .
L’inverse d’une relation ρ, notée “ρ−1 ”, est obtenu simplement en inversant l’ordre des
éléments de chaque couple appartenant à ρ. Autrement dit, “hb, ai ∈ ρ−1 ⇔ ha, bi ∈ ρ1 ”, ce
qui est équivalent à la définition suivante :
20. Certains auteurs utilisent le terme “fermeture” au lieu de “clôture”.
72 CHAPITRE 1. THÉORIE DES ENSEMBLES
Ainsi, l’ensemble de départ d’une relation ρ devient l’ensemble d’arrivée de la relation in-
verse ρ−1 et l’ensemble d’arrivée de ρ devient l’ensemble de départ de ρ−1 . Autrement dit, si
ρ ⊆ S × T , alors on a ρ−1 ⊆ T × S.
En guise d’exemple, considérons la relation δ = {h1, 1i, h1, 2i, h2, 3i, h4, 5i, h5, 6i} ⊆ N2 .
Nous avons :
δ −1 = {h1, 1i, h2, 1i, h3, 2i, h5, 4i, h6, 5i} .
Nous allons maintenant définir plusieurs propriétés des relations auxquelles nous ferons
régulièrement référence par la suite. Ces propriétés nous aideront à caractériser la “famille”
à laquelle une relation appartient.
Les premières propriétés présentées s’appliquent aux relations dont l’ensemble de départ
et le même que l’ensemble d’arrivée.
1.4. RELATIONS ET FONCTIONS 73
À titre d’exemple, examinons les propriétés de trois relations bien connues sur l’ensemble
des nombres relatifs Z :
Propriétés ≤ < =
√ √
Réflexivité
def
≤ = {ha, bi ∈ Z2 | (b − a) ∈ N} , √
Irréflexive
< = {ha, bi ∈ Z2 | (b − a) ∈ N∗ } ,
def √
Symétrie
def √
= = {ha, bi ∈ Z2 | (b − a) = 0} . Asymétrie
√ √ √
Antisymétrie
√ √ √
Transitivité
La proposition suivante montre qu’il est possible d’exprimer les propriétés énoncées par
la définition 1.4.14 à l’aide des opérateurs ensemblistes.
a: ρ est réflexif ⇔ IS ⊆ ρ
b: ρ est irréflexif ⇔ IS ∩ ρ = ∅
c: ρ est symétrique ⇔ ρ−1 = ρ
d: ρ est asymétrique ⇔ ρ ∩ ρ−1 = ∅
e: ρ est antisymétrique ⇔ ρ ∩ ρ−1 ⊆ IS
f: ρ est transitif ⇔ ρ2 ⊆ ρ
74 CHAPITRE 1. THÉORIE DES ENSEMBLES
(∀a ∈ S, b ∈ S, c ∈ S | a ρ b ∧ b ρ c ⇒ a ρ c )
Cette section, ainsi que la suivante, présente (entre autres choses) une des notions les plus
importantes en mathématiques, soit la notion de fonction. En effet, comme nous le verrons,
une fonction peut être vue comme une relation ayant deux propriétés particulières, soit celle
de totalité et celle de déterminisme.
1.4. RELATIONS ET FONCTIONS 75
Face à une nouvelle relation, on désirera souvent connaı̂tre ses propriétés, c’est-à-dire
savoir à quelles familles de relations elle appartient et à quelles familles elle n’appartient pas.
À titre d’exemple, considérons la relation “tau” τ ⊆ Z × R définie par l’ensemble suivant (la
figure de droite illustre 20 couples appartenant à l’ensemble τ ) :
j
1
τ = hi, ji ∈ Z × R j = .
i i
Ces intuitions sont confirmées par la démonstration suivante. Remarquons que pour
démontrer qu’une relation ne possède pas une propriété (dans ce cas-ci, la totalité et la
surjectivité), il faut trouver un contre-exemple.
Démonstration :
la relation τ est déterministe, injective, non totale et non surjective
Le théorème suivant stipule que les quatre propriétés des relations énoncées par la défi-
nition 1.4.16 (page 75) se conservent lors de la composition de deux relations.
Pour bien comprendre ce théorème, il peut être utile de réviser la définition de l’opérateur
de composition “◦” (définition 1.4.7, page 68). Ainsi, si ρ ⊆ S × T et σ ⊆ T × U sont deux
relations, la relation composée (ρ ◦ σ) ⊆ S × U sera telle que :
a (ρ ◦ σ) c ⇔ (∃b ∈ T | a ρ b ∧ b σ c) .
Nous présentons ici la démonstration des deux premiers points du théorème, soit la com-
position de relations totales et la composition de relations déterministes. Le lecteur est en-
couragé à compléter la démonstration des deux derniers points de l’énoncé. Il est possible
de s’inspirer grandement du travail déjà fait, considérant que, comme nous en informe le
théorème 1.4.17 (page 78) il y a dualité entre les notions de totalité et de surjectivité ainsi
qu’entre les notions de déterminisme et d’injectivité.
80 CHAPITRE 1. THÉORIE DES ENSEMBLES
Une relation est appelée une fonction (ou fonction totale) si elle est à la fois totale et
déterministe 21 . Autrement dit, une relation f ⊆ X × Y est une fonction lorsque pour chaque
x ∈ X il existe un et un seul y ∈ Y tel que hx, yi ∈ f . En effet :
— le fait que pour chaque x ∈ X il existe un y ∈ Y établit que f est une relation totale ;
— le fait que pour chaque x ∈ X il n’existe qu’un seul y ∈ Y établi que f est une relation
déterministe.
Nous utilisons le terme fonction partielle pour désigner une relation déterministe qui
n’est pas totale. Autrement dit, une relation f ⊆ X × Y est une fonction partielle lorsque
pour chaque x ∈ X il y a au plus un y ∈ Y tel que hx, yi ∈ f et il existe un x ∈ X tel que
(∀y ∈ Y | x ∈/ Y ).
À titre d’exemple, la figure 1.11 présente trois relations dans le plan cartésien (R2 ). La
√
parabole (y = x2 ) est une fonction, la racine carrée (y = x) est une fonction partielle
et l’inverse de la parabole (y 2 = x) n’est ni une fonction ni une fonction partielle. En fait,
l’inverse de la parabole est une relation bijective.
√
(a) {hx, yi ∈ R2 | y = x2 } (b) {hx, yi ∈ R2 | x = y 2 } (c) {hx, yi ∈ R2 | y = x}
Figure 1.11 – Exemples d’une fonction (a), d’une relation non déterministe
(b) et d’une fonction partielle (c). Notez que le graphique de l’exemple (c)
peut aussi représenter une fonction si
√ on considère plutôt la relation totale et
+ + def
déterministe {hx, yi ∈ R × R | y = x} avec R = {x ∈ R | x ≥ 0}.
21. Il s’agit d’une convention que nous adoptons pour ce cours et qui est fréquemment utilisée en
mathématiques. Notez cependant que certains auteurs utilisent plutôt le terme “application” pour désigner
une relation totale et déterministe. Dans ce cas, le terme “fonction” désigne une relation déterministe (et pas
nécessairement totale).
82 CHAPITRE 1. THÉORIE DES ENSEMBLES
Lorsqu’une relation f est une fonction, l’expression “hx, yi ∈ f ” pourra être remplacée
par “f (x) = y” (la notation “f.x = y” est aussi utilisée à l’occasion). Ainsi :
def
f (x) = y = x f y
def
= hx, yi ∈ f .
Contrairement au cas où la relation f n’est pas une fonction, cette nouvelle notation
ne comporte ici aucune ambiguı̈té puisque que chaque “x” de l’ensemble de départ est en
relation avec un et un seul “y” de l’ensemble d’arrivée.
On utilise le terme règle de correspondance pour désigner la règle qui permet de savoir
à quel élément y de l’ensemble d’arrivée correspond chacun des éléments x de l’ensemble
de départ. Dans le cadre de ce cours, pour démontrer qu’une relation définie par règle de
correspondance est une fonction, il sera suffisant de dire que cette règle de correspondance
est bien définie (c’est-à-dire que cette règle associe bien à chaque élément de l’ensemble de
départ un et un seul élément de l’ensemble d’arrivée.)
Il y a plusieurs notations permettant de bien définir une fonction, nous utiliserons sou-
vent la suivante, puisqu’elle met clairement en évidence les trois notions nécessaires pour
“connaı̂tre complètement” une fonction (ensemble de départ, ensemble d’arrivée et règle de
correspondance) :
f : X −→ Y
a 7−→ [. . .]
Cette notation signifie : f est une fonction d’ensemble de départ X, d’ensemble d’arrivée Y ,
qui est définie par la règle de correspondance “f (a) = [. . .]”. Par exemple, on définit la
parabole sur le plan cartésien (fréquemment représentée par l’équation “ y = x2 ”) par :
f : R −→ R
x 7−→ x2
Pensez-y!
Il ne faut pas perdre de vue qu’une fonction est un ensemble. Ainsi, toutes les notations
utilisées jusqu’ici pour définir un ensemble sont également valides. Comme discuté à la
section 1.2.2 (page 28), on peut toujours définir un ensemble par compréhension ou par
extension.
d : Z −→ Z
(1)
x 7−→ 2x ,
(3) d = {. . . , h−3, −6i, h−2, −4i, h−1, −2i, h0, 0i, h1, 2i, h2, 4i, h3, 6i, . . .}.
Les équations (1) et (2) définissent l’ensemble d par compréhension, tandis que
l’équation (3) définit l’ensemble d par extension. Rappelons qu’il n’y a aucune distinction
entre les ensembles obtenus par les trois définitions.
Nous utiliserons parfois les notations suivantes pour mettre en évidence certaines pro-
priétés d’une relation f ⊆ B × C.
— Si f est une fonction surjective, c’est-à-dire une relation qui est à la fois déterministe,
totale et surjective, on peut écrire :
f :B →
→ C.
— Si f est une fonction injective. c’est-à-dire une relation qui est à la fois déterministe,
totale et injective, on peut écrire :
f :B C.
— Une fonction bijective, c’est-à-dire une relation qui est à la fois déterministe, totale,
surjective et injective, on peut écrire :
→ C.
f :B
Les deux prochaines propositions montrent que, lorsqu’une relation f est une fonction, la
notation “f (a) = b” permet de réécrire les définitions d’injectivité et de surjectivité.
a: (∀b ∈ T | (∃a ∈ S | a f b) )
b: (∀b ∈ T | (∃a ∈ S | f (a) = b )
a: (∀a ∈ S, a0 ∈ S, b ∈ T | a f b ∧ a0 f b ⇒ a = a0 )
b: (∀a ∈ S, a0 ∈ S | f (a) = f (a0 ) ⇒ a = a0 )
c: (∀a ∈ S, a0 ∈ S | a 6= a0 ⇒ f (a) 6= f (a0 ))
Les propositions 1.4.19 et 1.4.20 sont bien sûr utiles pour démontrer qu’une fonction
possède (ou non) la propriété de surjectivité ou d’injectivité. À titre d’exemple, considérons
1.4. RELATIONS ET FONCTIONS 85
la fonction suivante :
k : Z −→ Z
x 7−→ 2x
Intuitivement, la fonction k semble être une relation injective (car chaque élément de l’image
“2x” semble associé à un seul élément du domaine “x”) mais non surjective (car les nombres
impairs ne semblent pas faire partie de l’image). Pour en être certain, en voici la démonstration.
Fonctions inverses
ρ ◦ σ = IS et σ ◦ ρ = IT .
Lorsque nous avons introduit les ensembles, nous avons insisté sur le fait que les éléments
de ces ensembles ne sont pas ordonnés. Dans cette section, nous verrons que certaines relations
permettent de comparer les éléments d’un ensemble. Nous parlerons de relations d’équivalence
(qui peuvent être vues comme une généralisation de l’égalité “=”) et d’ordres (qui peuvent
être vus comme une généralisation du plus petit ou égal “≤”). Ces concepts reposent sur
les propriétés de réflexivité, de transitivité et de symétrie dont nous avons discutées à la
section 1.4.4 (voir la définition 1.4.14, page 73).
1.4. RELATIONS ET FONCTIONS 87
Équivalence
Deux éléments d’un ensemble sont équivalents lorsqu’ils possèdent une certaine caracté-
ristique en commun. Cette caractéristique dépend du contexte dans lequel on travaille. Voici
quelques idées d’éléments équivalents :
— Deux personnes sont équivalentes si elles ont le même nom de famille ;
— Deux nombres entiers sont équivalents s’ils possèdent la même parité (pair ou impair) ;
— Deux nombres naturels sont équivalents si leur représentation binaire requiert de même
nombre de bits (le nombre de bit requis pour x ∈ N étant donné par blog2 xc + 1) ;
— Deux fonctions C++ sont équivalentes si elles ont toujours la même valeur de retour.
Par exemple, les trois fonctions suivantes sont équivalentes selon cette définition :
Une relation d’équivalence sur l’ensemble S est une relation constituée de paires
d’éléments équivalents. Nous utilisons souvent le symbole “'” pour désigner une relation
d’équivalence. Dans ce contexte, l’expression “a ' b” signifie “l’élément a est équivalent à
l’élément b”.
— '3 = {hx, yi ∈ N2 | blog2 xc = blog2 yc} est une relation d’équivalence sur N. On a :
— '4 = {hf1 , f2 i ∈ F 2 | f1 et f2 ont toujours la même valeur de retour } est une relation
d’équivalence sur F . On a :
Le lecteur est encouragé à démontrer que les relations ci-dessus sont bien des relations
d’équivalences. Pour ce faire, il faut démontrer qu’elles possèdent chacune des trois propriétés
de réflexivité, de symétrie et de transitivité.
Étant donné une relation d’équivalence ' sur un ensemble S, une classe d’équivalence
est un sous ensemble qui regroupe tous les éléments de S qui sont équivalents entre eux.
Remarquons que chaque élément de S appartient à une et une seule classe d’équivalence. De
même, l’union de toutes les classes d’équivalences de S égale l’ensemble S lui-même.
À titre d’exemple, les ensembles N1 et N2 ci dessous sont les deux classes d’équivalence
de la relation '2 = {hx, yi ∈ N2 | x % 2 = y % 2} sur l’ensemble N (On a bien N1 ∪ N2 = N.) :
N1 = {0, 2, 4, 6, 8, . . .} ,
N2 = {1, 3, 5, 7, 9, . . .} .
Enfin, remarquons pour compléter que la relation d’égalité “=” est une relation d’équiva-
lence sur N. Cette relation d’équivalence est très stricte, car chaque élément n’est équivalent
qu’à lui-même (c’est une relation à la fois symétrique et antisymétrique !). Autrement dit,
toutes les classes d’équivalences de la relation “=” ne contiennent qu’un seul élément.
Ordre partiel
Un ordre est une relation qui permet d’ordonnancer les éléments d’un ensemble. Le critère
d’ordonnancement dépend du problème étudié. Voici quelques idées de critères sur lequel on
peut baser un ordre :
Nous utiliserons souvent le symbole “” pour désigner une relation d’ordre. Dans ce
contexte, l’expression “a b” signifie que l’élément a précède l’élément b selon une rela-
tion d’ordre donnée. Nous utiliserons parfois la notation “b a” pour désigner l’expression
“a b”.
Voici deux exemples de relations qui sont des ordres partiels, même si ceci demande un
peu de réflexion (ou une démonstration) pour s’en convaincre :
— Considérons l’ensemble puissance des naturels P(N). Nous pouvons redéfinir l’opérateur
ensembliste d’inclusion comme un ordre partiel sur P(N) :
def
⊆ = {hA, Bi ∈ P(N)×P(N) | e ∈ A ⇒ e ∈ B} .
— Considérons l’ensemble des nombres naturels non nuls N∗ et définissons l’ordre partiel
“est un diviseur de” que nous définissons ainsi :
D = {ha, bi ∈ N∗ × N∗ | b % a = 0} .
def
Ordre complet
Une relation sur un ensemble S est un ordre complet 22 lorsque, en plus d’être un ordre
partiel (c’est-à-dire d’être réflexive, antisymétrique et transitive), elle respecte la propriété
suivante :
(∀a ∈ S, b ∈ S | a b ∨ b a) .
Autrement dit, est un ordre complet si et seulement si tous les éléments de l’ensemble S
sont comparables entre eux.
L’ordre partiel “est un diviseur de” D présenté en exemple plus haut n’est pas un ordre
complet sur N∗ . En effet, on n’a ni 2 D 3 ni 3 D 2. De même, l’ordre partiel d’inclusion ⊆
n’est pas un ordre complet, car {1, 2} * {2, 3} et {2, 3} * {1, 2}.
Un ordre complet bien connu est la relation “plus petit ou égal” ≤ . De même, l’ordre
alphabétique sur l’ensemble des mots du dictionnaire est un ordre complet.
Ordre strict
Un ordre strict est un ordre qui ne contient pas les couples formés de deux fois le
même élément. Nous utilisons souvent le symbole “≺” pour désigner une relation qui est un
ordre strict. Contrairement à un ordre, un ordre strict n’admet jamais “a ≺ a”, pour tout a
appartenant à l’ensemble sur lequel est définie la relation.
Une relation ≺ sur un ensemble S est un ordre complet strict lorsque, en plus d’être
22. Plusieurs auteurs utilisent plutôt le terme “ordre total”. Dans ce texte, on utilise le terme “ordre
complet” pour éviter toute confusion possible avec le concept de “relation totale”, qui désigne une relation
qui possède la propriété de totalité.
1.4. RELATIONS ET FONCTIONS 91
un ordre partiel strict, tous les éléments de l’ensemble S sont comparables entre eux :
(∀a ∈ S, b ∈ S | a ≺ b ∨ b ≺ a ∨ a = b) .
Nous pouvons redéfinir l’opérateur ensembliste d’inclusion stricte comme un ordre partiel
strict sur P(N) :
def
⊂ = {hA, Bi ∈ P(N)×P(N) | A 6= B ∧ (e ∈ A ⇒ e ∈ B) } .
De même, la relation “strictement plus petit” < est un exemple bien connu d’ordre complet
strict.
Notez que pour passer d’un ordre (partiel ou complet) à un ordre strict, il suffit d’enlever
tous les couples de la forme ha, ai de la relation. Inversement, pour passer d’un ordre strict
à un ordre, il suffit d’ajouter tous les couples de la forme ha, ai à la relation.
Diagrammes de Hasse
La figure 1.12 présente les diagrammes de Hasse des deux ordres partiels donnés en
exemple plus haut.
{1,2,3} 8 12
5 2 3 7 11
{1} {2} {3}
∅ 1
(a) Ordre ⊆ sur P({1, 2, 3}). (b) Ordre D sur {1, 2, . . . , 12}.
Exercice 1 : (Vous pouvez faire cet exercice en représentant vos relations par des graphes.)
Étant données les trois relations ρ, σ, θ ⊆ {1, 2, 3, 4} × {1, 2, 3, 4} suivantes :
— ρ = {h1, 2i, h2, 3i, h3, 4i, h4, 1i}
— σ = {h1, 1i, h1, 2i, h1, 3i, h1, 4i, h2, 1i, h3, 1i, h4, 1i}
— θ = {hx, yi | x ≤ y}
1. Calculez ρ ◦ σ, ρ2 , θc et θ−1 .
2. Déterminez la (ou les) propriété(s) que la relation ρ satisfait parmi les suivantes :
(a) réflexivité (b) irréflexivité (c) symétrie
(d) antisymétrie (e) asymétrie (f) transitivité
3. Même question pour la relation σ.
4. Même question pour la relation θ.
5. Existe-t-il un n pour lequel ρn = {1, 2, 3, 4} × {1, 2, 3, 4} ? Si oui, trouvez le plus petit
de ces n.
6. Même question pour la relation σ.
7. Même question pour la relation θ.
a) Donnez ρ2 , θc et θ−1 .
b) Déterminez la (ou les) propriété(s) que la relation ρ satisfait parmi les suivantes :
(a) réflexivité (b) irréflexivité (c) symétrie
(d) antisymétrie (e) asymétrie (f) transitivité
c) Même question pour la relation θ.
Exercice 3 : Quelles propriétés du numéro 2b) ci-haut les relations suivantes possèdent-elles ?
a) b ρ c ssi b et c sont des entiers tous deux négatifs ou tous deux positifs.
b) b ρ c ssi b et c sont des entiers tels que b − c est un multiple de 5.
c) ∅, où ∅ est une relation sur un ensemble non vide B.
1.4. RELATIONS ET FONCTIONS 93
(∀a, b ∈ S | a ρ b ∧ b ρ a ⇒ a = b) ⇔ ρ ∩ ρ−1 ⊆ IS .
Exercice 5 : (Pour cet exercice, aucune réponse n’a à être justifiée.) Dites si chacune des
relations suivantes est (i) déterministe, (ii) totale, (iii) injective, (iv) surjective, (v) une fonc-
tion, (vi) une fonction injective, (vii) une fonction surjective ou (viii) une fonction bijective.
a) ρ = {hi, ji ∈ R2 | i + 1 = j} ;
b) σ = {hi, ji ∈ N2 | i + 1 = j} ;
c) θ = {hi, ji ∈ N2 | i − 1 = j} ;
d) d : R −→ R, définie par la règle de correspondance : d(x) = x2 ;
e) la relation inverse de la relation d définie en d) ;
f) f : R+ −→ R, définie par la règle de correspondance : f (x) = x2 ;
g) g : R+ −→ R+ , définie par la règle de correspondance : g(x) = x2 ;
h) h : R −→ [−1, 1], définie par la règle de correspondance : h(x) = sin(x) ;
i) i : R −→ R, définie par la règle de correspondance : i(x) = x3 ;
j) la relation inverse de la relation i définie en i) ;
k) k : R −→ R+ , définie par la règle de correspondance : k(x) = 2x ;
Exercice 7 : (Pour cet exercice, toute réponse doit être pleinement justifiée.)
Soit les cinq relations :
— ρ ⊆ N × N, définie par : ρ = {hi, ji | i + 1 = j}
— θ ⊆ Z × Z, définie par : θ = {hx, yi | (∃z ∈ Z | 2z = x − y)}
— f : Z −→ Z, définie par la règle de correspondance : f (x) = x + 3
— g : N −→ N, définie par la règle de correspondance : g(x) = x + 3
— h : Z −→ Z, définie par la règle de correspondance : h(x) = x2
Exercice 8 :
a) Vous venez de démontrer qu’un élément quelconque d’un ensemble X est aussi élément
d’un ensemble Y. Écrivez la phrase logique que vous venez de démontrer.
1.4. RELATIONS ET FONCTIONS 95
c) Étant donné deux ensembles U et V. Vous venez de démontrer qu’un élément quel-
conque de l’ensemble V est aussi élément d’un ensemble U. Puis vous avez démontré
qu’il existe un élément de l’ensemble U qui n’appartient pas à l’ensemble V. Écrivez
la phrase logique que vous venez de démontrer.
Exercice 9 :
Étant donnée une fonction h : Z −→ Z
• h est strictement croissante ⇔ (∀x, x0 ∈ Z | x < x0 ⇒ h(x) < h(x0 ))
• h est strictement décroissante ⇔ (∀x, x0 ∈ Z | x < x0 ⇒ h(x) > h(x0 ))
(A) Démontrez que la composition de deux fonctions est encore une fonction
Exercice 11 : (Pour fin de réflexion et de discussions) Une charrue enlève la neige le long
d’une route qui s’étend jusqu’à l’infini. Tout au long de la route, il y a 15cm de neige. La
pelle de la charrue laisse écouler un quinzième de la neige qui entre dans sa pelle (c.-à-d. :
1cm de neige sur les 15). Supposant que la pelle a une capacité infinie et que les flocons
qu’elle laisse écouler sortent selon un principe “premier entré, premier sorti”, quelle quantité
de neige restera dans la pelle une fois le travail terminé ?
Exercice 12 : (Pour fin de réflexion et de discussions) Vous avez deux ensembles infinis,
comment savoir lequel des deux a le plus grand nombre d’éléments ?
96 CHAPITRE 1. THÉORIE DES ENSEMBLES
Dans cette dernière partie du chapitre, nous nous intéressons aux ensembles de taille
infinie. Même en informatique, nous sommes confrontés à de telles structures, entre autres
lorsque l’on se demande quelles sont les possibilités et les limites de l’informatique. Par
exemple, lorsqu’on se pose des questions telles que :
Dans un autre ordre d’idées, si on souhaite développer un système qui aura à interagir avec
le monde réel, on est confronté à la notion d’infini. En effet, ce monde réel, la plupart du
temps, fait appel à des paramètres continus, telles la distance, la température, la vitesse. Ces
paramètres peuvent prendre une infinité de valeurs différentes.
Les structures infinies sont en général beaucoup plus difficiles à étudier que les structures
finies. Notre intuition, généralement solide face aux structures finies, est grandement mise à
mal lorsque l’on s’attaque à l’infini. À titre d’exemple :
Une charrue enlève la neige le long d’une route qui s’étend jusqu’à l’infini. Tout
au long de la route, il y a 15 cm de neige. La pelle de la charrue laisse écouler un
quinzième de la neige qui entre dans sa pelle (c.-à-d. : 1cm de neige sur les 15).
Supposant que la pelle a une capacité infinie et que les flocons qu’elle laisse écouler
sortent selon le principe du premier arrivé, premier servi, quelle quantité de neige
restera dans la pelle pour toujours ?
Cet exemple est bien sûr irréalisable dans notre monde. Si on fait cependant abstraction
de ce petit détail et qu’on analyse logiquement le problème, on est obligé de constater que
chaque flocon qui entre dans la pelle finira par en sortir par en dessous, et donc “qu’une fois
le travail terminé”, il ne restera plus rien dans la pelle.
cas des ensembles infinis, cette approche n’est pas envisageable. Pour les ensembles infinis,
nous ne pourrons faire mieux que de comparer les ensembles infinis les uns avec les autres.
Nous aurons donc des résultats du type :
• un ensemble A a autant d’éléments qu’un ensemble B, ce que nous traduirons par :
la cardinalité de A est égale à celle de B ;
ou encore :
• un ensemble A a moins d’éléments qu’un ensemble B,
ce que nous traduirons par : la cardinalité de A est plus petite que celle de B.
Encore une fois, dans le cas des ensembles finis, dire qu’un ensemble A a moins, autant,
ou plus d’éléments qu’un ensemble B n’est pas compliqué. Il nous suffit de savoir “compter
jusque-là”. Dans le cas des ensembles infinis, on ne sait clairement pas “compter jusque-là”.
Il nous faudra donc développer une autre méthode pour arriver à nos fins.
En plus, quelques surprises nous attendent. L’exemple suivant nous en donne un avant-
goût :
Le fait qu’il y ait une solution à ce problème choque notre intuition. Ce choc vient du
fait que, logiquement, il nous faut conclure qu’il y a autant d’éléments dans N∗ que dans N,
98 CHAPITRE 1. THÉORIE DES ENSEMBLES
alors que le premier ensemble est strictement inclus dans le second ; la notion d’avoir autant
d’éléments semble être plutôt élastique dans le cas des ensembles infinis.
Il devient donc de plus en plus évident que le problème du calcul de la cardinalité d’un en-
semble infini sera un problème difficile à résoudre. En fait, comme il a déjà été dit auparavant,
on ne répondra pas directement à la question “combien tel ensemble infini a-t-il d’éléments ?”.
On comparera plutôt deux à deux les ensembles, en se demandant s’ils ont autant d’éléments
l’un que l’autre ou si l’un en a plus que l’autre. De ces éléments de comparaison, on pourra
déduire une hiérarchie des cardinalités des différents ensembles infinis.
Si on veut arriver à bien définir cette notion d’ensemble infini ayant autant d’éléments
qu’un autre, il nous faut trouver une méthode qui, dans le cas fini, permet d’établir si oui
ou non deux ensembles ont le “même nombre d’éléments”. Toutefois, cette méthode ne doit
pas reposer sur notre capacité de compter les éléments des ensembles finis. On est en effet en
droit d’espérer qu’une telle méthode soit applicable aux ensembles infinis. Nous sommes donc
face à ce problème un peu comme un jeune enfant qui a dans une main des pierres blanches
et dans l’autre des pierres noires, et qui se demande si, oui ou non, chaque main a autant de
pierres.
Voici une solution qui convient au niveau des capacités de l’enfant (en fait cette solution
a vraiment été proposée à un enfant de trois ans) :
Prends une pierre blanche et une pierre noire et place-les côte à côte, puis prends
une autre pierre blanche et une autre pierre noire et place-les côte à côte, juste
en dessous de celles que tu as déjà placées, continue ce processus tant qu’il reste
de pierres de chacun des deux tas. Si les deux tas se finissent en même temps,
c’est que tu en avais autant dans chaque main, sinon c’est le tas dans lequel il
reste encore des pierres qui en avait le plus.
L’enfant fabrique, par ce procédé, une relation entre le tas de pierres blanches et celui
de pierres noires. Si nous sommes dans la situation où les deux tas sont épuisés en même
temps, c’est que la relation fabriquée est une fonction bijective (voir la définition à la
section 1.4.5). Autrement dit, dans le cas fini, nous avons le résultat suivant :
1.5. ENSEMBLES INFINIS 99
Théorème 1.5.1 Deux ensembles finis A et B ont le même nombre d’éléments si et seule-
→ B.
ment s’il existe une fonction bijective f : A
Rappelons-nous que pour l’instant, la notion avoir “autant d’éléments” n’a toujours
pour les ensembles infinis aucune signification. Pour remédier à ce problème, nous pourrions
nous baser sur ce dernier théorème et décider que nous dirons que deux ensembles (finis ou
infinis) ont “autant d’éléments” si on peut trouver une fonction bijective de l’un vers l’autre.
Autrement dit :
Définition 1.5.2 Soit A et B, deux ensembles. On dit que A a autant d’éléments que B
(ou, de manière équivalente, que la cardinalité de A est égale à la cardinalité de B) ssi il
existe une fonction bijective de A vers B.
Comme nous l’avons vu à la section 1.2.2 la phrase “la cardinalité de A est égale à la
cardinalité de B” est notée “|A| = |B|”.
À la base, cette définition d’avoir “autant d’éléments” est un choix que nous faisons ici.
On aurait pu retenir une autre définition qui, dans le cas fini, aurait coı̈ncidé avec notre
définition.
Donc, avant d’accepter cette nouvelle définition, il serait bon de nous demander si elle
correspond bien à une notion élargie de la notion d’égalité entre le nombre d’éléments d’un
ensemble et le nombre d’éléments d’un autre ensemble. Car une fois qu’on se l’est donnée,
elle devient un axiome de notre théorie et on doit vivre avec et accepter tous les résultats
que nous démontrerons à partir de cette définition, même si parfois ceci pourrait heurter
l’intuition que nous avons de ce concept d’avoir “autant d’éléments”.
• la transitivité Est-ce qu’avec cette définition, le fait qu’un ensemble A ait la même
cardinalité qu’un ensemble B combiné au fait que ce B ait la même cardinalité qu’un
troisième ensemble C implique toujours que A a la même cardinalité que C ?
Autrement dit, est-ce que pour tout A, B, C,
on a (|A| = |B|) ∧ (|B| = |C|) ⇒ (|A| = |C|) ?
Il est à souhaiter que chacune de ces trois propriétés soit satisfaite par notre définition. Si
ce n’était pas le cas, il ne serait vraiment pas naturel de parler “d’égalité” des cardinalités.
Montrons donc que c’est le cas, pour les ensembles infinis comme pour les ensembles finis.
Pour démontrer la réflexivité, il faut démontrer que pour tout ensemble A, il existe une
fonction bijective de A vers A. La réflexivité est donc une conséquence de la proposition
suivante :
Démonstration
Rappelons que IA : A −→ A est défini par la règle de correspondance IA (x) = x, ∀x ∈ A.
Le fait que IA soit une fonction (c.-à-d. : totale et déterministe) découle directement du fait
que la relation est définie par une règle de correspondance où, pour chaque élément x de
l’ensemble de départ, ne correspond qu’un et un seul élément de l’ensemble d’arrivée, soit x
lui-même.
Pour montrer la symétrie, il faut montrer que pour toute paire d’ensembles A et B : s’il
existe une fonction bijective de A vers B, alors il existe une fonction bijective de B vers A.
la relation f est une fonction bijective ssi la relation inverse f −1 ⊆ B × A est une fonction
bijective.
Démonstration
Soit f ⊆ A × B.
Pour démontrer f est une fonction bijective ⇔ f −1 est une fonction bijective, il faut démontrer :
3.− f est injectif ⇔ f −1 est déterministe ;
4.− f est surjectif ⇔ f −1 est total.
Or, nous avons déjà fait cette démonstration (Voir le théorème 1.4.17 à la page 78). .
C.Q.F.D.
Pour démontrer la transitivité, il faut démontrer que, pour tout triplet d’ensembles A,
B et C, s’il existe une fonction bijective de A vers B et une fonction bijective de B vers C,
alors il existe une fonction bijective de A vers C.
Parmi les ensembles infinis, une certaine classe est plus intéressante que les autres, c’est
celle des ensembles infinis dénombrables :
Définition 1.5.6 Un ensemble A est dit dénombrable s’il est fini ou de la même cardinalité
que l’ensemble N. :
D’autre part, il est très souvent possible de définir en extension une fonction bijective dont
le domaine est N. Contrairement à la forme en compréhension qui nécessite l’élaboration d’une
règle de correspondance, la forme en extension permet de montrer la dénombrabilité de
certains ensembles d’une façon plus intuitive et visuelle. Une fonction bijective f : N →A
qui est ainsi définie est souvent appelée une énumération de l’ensemble A puisqu’en somme
définir une telle fonction consiste à énumérer un à un les différents éléments de l’ensemble
d’arrivée ; f (0) étant le 0ième élément de cette énumération, f (1) étant le 1er élément de cette
énumération, f (2) étant le 2ième élément de cette énumération, etc.
··· −4 −3 −2 −1 0 1 2 3 4 ···
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (8) f (6) f (4) f (2) f (0) f (1) f (3) f (5) f (7) · · ·
Cette façon d’exhiber une fonction bijective est une peu moins rigoureuse que la forme en
compréhension, mais, comme l’illustre l’exemple ci-dessus, on comprend clairement comment
f est définie, et on voit bien que
1.5. ENSEMBLES INFINIS 103
— si on nous donne le temps on sera capable de calculer f (n) pour n’importe quel n ∈ N
(f est donc totale) ;
— on ne trouvera, pour chaque n, qu’une seule valeur pour f (n) (f est donc déterministe) ;
— un élément de l’ensemble d’arrivée ne sera jamais utilisé deux fois dans l’énumération
(f est donc injective) ;
— et finalement, on remarque que, éventuellement, tout élément de l’ensemble d’arrivée
sera présent dans l’énumération (f est donc surjective).
Ainsi, une énumération qui a été bien définie est toujours une fonction bijective.
.. .. .. .. .. ..
. . . . . .
On a donc que N = N × N.
Remarquons que, étant donné que la relation “avoir autant d’éléments” est transitive
(voir le théorème 1.5.5), si nous avons déjà démontré la dénombrabilité d’un ensemble A,
nous pouvons alors démontrer la dénombrabilité d’un nouvel ensemble B en utilisant le
lemme suivant :
La notion “d’avoir autant d’éléments” nous a jusqu’ici permis d’explorer un peu l’univers
des ensembles infinis, mais notre exploration serait certainement meilleure si on pouvait raf-
finer cette notion “d’égalité” entre les cardinalités en une notion “d’inégalité”. Avec une telle
notion, on pourrait, comme dans le cas fini, bâtir une hiérarchie des cardinalités d’ensembles
infinis.
Lorsque nous avons eu à choisir une définition “d’égalité” de cardinalités, nous avons eu
principalement à tenir compte de deux critères. Il fallait que notre définition (1) coı̈ncide
dans le cas fini avec la définition déjà existante et (2) ne nécessite aucunement notre habileté
à compter les éléments d’un ensemble fini. Dans le cas présent, nous sommes également
confrontés à ces deux mêmes critères avec, en plus, le besoin que cette nouvelle notion
“d’inégalité” des cardinalités soit compatible avec la notion “d’égalité” des cardinalités qu’on
vient de se donner. Ceci implique que, pour définir la notion de “la cardinalité de A est plus
petite ou égale à la cardinalité de B”, on a essentiellement deux possibilités : soit on dit que
c’est équivalent au fait qu’il existe une fonction injective de A vers B, soit on dit que c’est
équivalent au fait qu’il existe une fonction surjective de B vers A.
Dans le cas fini, ces deux définitions seraient équivalentes, car la première signifie que A
a autant ou moins d’éléments que B et la seconde que B a autant ou plus d’éléments que A.
Mais comme le montre le théorème suivant, ces deux définitions sont également équivalentes
en général :
Démonstration
⇒: Supposons qu’il existe une fonction injective de A vers B et démontrons qu’il existe
une fonction surjective de B vers A.
Soit f : A B, une fonction injective.
Soit a0 ∈ A. . h Un tel a0 existe, car A est un ensemble non vide par hypothèse. i
Soit g = {hf (a), ai | a ∈ A} ∪ {hb, a0 i | b ∈ B \ Im(f )}
Montrons que g est une fonction surjective.
1.5. ENSEMBLES INFINIS 105
Cas 2 : b 6∈ Im(f ).
Soit a = a0 . . h Bien sûr, un tel a existe et est dans A i
Et on a bien que hb, a0 i ∈ g . h Définition de g. i
⇐: Supposons qu’il existe une fonction surjective de B vers A et démontrons qu’il existe
une fonction injective de A vers B.
Soit g : B →
→ A, une fonction surjective.
Nous avons donc que
pour tout a ∈ A, il existe un b ∈ B tel que g(b) = a. . h Car g est surjectif. i
Pour chacun des a ∈ A, nous allons choisir un tel b ∈ B que nous noterons ba .
Alors on a que pour tout a ∈ A, (?) g(ba ) = a et que (??) ba ∈ B.
Soit f : A −→ B défini par la règle de correspondance f (a) = ba .
Alors, clairement cette fonction est bien définie 23 , car (?) et (??) impliquent que pour
tout a ∈ A, il existe un et un seul élément qui est en f -relation avec a, c’est ba . Et ce
ba appartient bien à B, l’ensemble d’arrivée de f . La relation f est donc bien totale
et déterministe.
Nous pouvons donc maintenant définir notre notion de “cardinalité plus petite ou égale à” :
Remarque : Dans la partie “⇐:” de la démonstration du théorème 1.5.10 nous avons tenu
pour acquis qu’il était possible de choisir un élément ba pour chaque élément a, et ce en une
seule étape. En fait, ceci n’est pas aussi évident qu’il y paraı̂t. Ceci utilise un nouvel axiome,
l’axiome du choix qui, en gros, dit que si vous avez une quantité infinie d’ensembles non
vides devant vous et que vous souhaitez choisir un élément dans chacun de ces ensembles,
vous pouvez supposer que vous savez le faire en une seule étape, même si dans les faits
vous ne pourrez jamais faire cette opération puisqu’elle nécessite une infinité d’étapes. Plus
formellement :
Axiome du choix 1.5.12 Soit (Ai )i∈I , une famille infinie d’ensembles non vides. Alors il
existe une famille d’éléments (ai )i∈I telle que pour chaque i ∈ I, ai ∈ Ai .
Nous n’utiliserons pas explicitement cet axiome dans les démonstrations et problèmes de
ce cours. Notez tout de même que nous en ferons encore une fois une utilisation implicite
dans la démonstration du théorème 1.5.16.
D’une façon similaire à ce que nous avons fait à la section 1.5.1, avant de l’accepter,
nous allons nous demander si notre notion de “≤” se comporte vraiment comme une relation
d’ordre telle que nous l’avons présentée à la définition 1.4.24 (page 89). Autrement dit :
De plus, voici deux propriétés importantes que l’on aimerait que notre ordre ait :
108 CHAPITRE 1. THÉORIE DES ENSEMBLES
• cet ordre est-il partiel ou complet. Est-ce qu’avec cette définition, étant donné
n’importe quelle paire d’ensembles A et B, on a toujours ou bien que A a une cardi-
nalité plus petite que celle de B, ou bien que A a une cardinalité plus grande que celle
de B, ou bien que A a une cardinalité égale à celle de B ?
Autrement dit,
est-ce que pour tout A, B, on a (|A| < |B|) ∨ (|A| > |B|) ∨ (|A| = |B|) ?
Il est à souhaiter que chacune de ces propriétés soit satisfaite par notre définition. Si tel
n’était pas le cas, il ne serait vraiment pas naturel de parler d’une relation du type “plus
petit ou égal” sur les cardinalités. Essayons donc de démontrer que tel est le cas, pour les
ensembles infinis comme pour les ensembles finis.
Cette propriété est clairement vérifiée puisque, comme on l’a vu à la section 1.5.1 (voir la
proposition 1.5.3, page 100), pour tout ensemble A il existe toujours une fonction bijective
de A vers A. Cette fonction étant par conséquent injective, nous avons bien que pour tout
ensemble A, |A| ≤ |A|.
Pour démontrer la transitivité, il faut montrer que, pour tout triplet d’ensembles A, B
et C, s’il existe une fonction injective de A vers B et une fonction injective de B vers C, alors
il existe une fonction injective de A vers C.
Le fait que pour toute paire d’ensembles A, B, on ait A ⊆ B ⇒ |A| ≤ |B|, est une
conséquence directe de la proposition suivante :
Démonstration Exercice.
Nous n’allons pas faire cette démonstration. Il est intéressant de savoir tout de même
qu’il a été démontré que pour démontrer
pour toute paire d’ensembles A et B, on a (|A| < |B|) ∨ (|A| > |B|) ∨ (|A| = |B|)
Intuitivement, on ne voit pas comment un ensemble infini pourrait avoir une cardinalité
plus petite que |N|. Cette intuition est effectivement juste, en voici la démonstration.
110 CHAPITRE 1. THÉORIE DES ENSEMBLES
Démonstration
Soit A un ensemble infini. Alors, nous devons démontrer que |A| ≥ |N| et pour ce faire,
nous allons montrer qu’il existe une fonction injective de N vers A.
Dans cette section, nous allons énoncer plusieurs résultats qui pourront être utiles lorsque
viendra le temps de démontrer si deux ensembles ont la même cardinalité ou si un des deux
a une cardinalité plus petite que l’autre.
Les deux premiers résultats sont des conséquences directes des définitions de “même
cardinalité” et “cardinalité plus petite ou égale” et des théorèmes 1.5.4, 1.5.10 et 1.5.13 et
de l’axiome du choix 1.5.12.
Théorème 1.5.17 Soit A et B, deux ensembles, alors les énoncés suivants sont équivalents :
1. |A| = |B|.
2. ∃ fonction bijective f : A
→ B.
3. ∃ fonction bijective g : B
→ A.
4. |A| ≤ |B| et |A| ≥ |B|.
5. ∃ fonction injective f : A B et ∃ fonction injective g : B A.
6. ∃ fonction injective f : A B et ∃ fonction surjective h : A →
→ B.
7. ∃ fonction surjective k : B →
→A et ∃ fonction surjective h : A →
→ B.
8. ∃ fonction surjective k : B →
→A et ∃ fonction injective g : B A.
Théorème 1.5.18 Soit A et B, deux ensembles, alors les énoncés suivants sont équivalents :
Les deux résultats suivants portent sur la notion de dénombrabilité. Ils découlent essen-
tiellement des théorèmes 1.5.17 et 1.5.18 et du fait que |N| est “la plus petite cardinalité
infinie” (le théorème 1.5.16).
112 CHAPITRE 1. THÉORIE DES ENSEMBLES
Théorème 1.5.19 Soit A un ensemble. Alors les résultats suivants sont équivalents :
1. A est dénombrable.
2. |A| ≤ |N|
3. ∃ fonction surjective f : N →
→ A.
4. ∃ fonction injective f : A N.
5. |A| < |N| ou |A| = |N|
6. A est fini ou ∃ fonction bijective f : A
→ N.
7. A est fini ou ∃ fonction bijective f : N
→ A.
Théorème 1.5.20 Soit A un ensemble. Alors les résultats suivants sont équivalents :
1. A est non dénombrable 24 .
2. |A| > |N|.
3. 6 ∃ fonction surjective f : N →
→ A.
4. 6 ∃ fonction injective f : A N.
5. A est infini et |A| =
6 |N|.
6. A est infini et 6 ∃ fonction bijective f : A −→ N.
7. A est infini et 6 ∃ fonction bijective f : N
→ A.
Démonstration
Soit f : N →
→ A et g : N →
→ B, deux fonctions surjectives
. h De tels f et g existent, voir Théorème 1.5.19. i
Démontrons que A ∪ B est dénombrable.
Soit h : N −→ A (∪ B
f ( n2 ) si n est pair
n 7−→ n−1
g( 2 ) si n est impair
La fonction h est bien définie, car chaque n ∈ N est en h-relation avec un et un seul
élément de A ∪ B qui est ou bien f ( n2 ) ∈ A, si n est pair, ou bien g( n−1
2
) ∈ B si n
est impair.
24. Dans la prochaine section, nous verrons qu’il existe des ensembles qui sont non dénombrables.
1.5. ENSEMBLES INFINIS 113
Donc, pour démontrer que A ∪ B est dénombrable, il suffit de montrer que h est sur-
jectif. . h Voir Théorème 1.5.19. i
Montrons donc que (∀y ∈ A ∪ B | (∃n ∈ N | h(n) = y)).
Soit y ∈ A ∪ B. . h Il faut montrer (∃n ∈ N | h(n) = y) i
Il y a deux cas (non nécessairement mutuellement exclusifs) à considérer.
Cas 1 : y ∈ A Cas 2 : y ∈ B
Soit i ∈ N choisi tel que f (i) = y. Soit j ∈ N choisi tel que g(j) = y.
→ A est surjectif. i .h Un tel j existe, car g : N →
.h Un tel i existe, car f : N → → A est surjectif. i
Soit n = 2i. Soit n = 2j + 1.
.h Un tel n existe et appartient à N. i
.h Un tel n existe et appartient à N. i
Alors, on a bien Alors, on a bien
2i
h(n) = h(2i) = f ( 2 ) = f (i) = y. h(n) = h(2j + 1) = g( (2j+1)−1 ) = g(j) = y.
2
Dans chacun des deux cas on a bien qu’il existe un n ∈ N tel que h(n) = y. h est donc
une fonction surjective. A ∪ B est donc dénombrable.
H : N × N −→ A×B
hi,ji 7−→ hf (i),g(j)i
On note que H est bien définie (c’est-à-dire, elle est bien une relation totale et
déterministe), car pour tout couple hi, ji ∈ N × N, H(hi, ji) = hf (i), g(j)i est bien un
élément de A × B puisque f (i) est bien un élément de A et g(j) est bien un élément
de B.
Il existe donc pour chaque couple hi, ji ∈ N × N, un et un seul élément de A × B qui
est en H-relation avec hi, ji.
H est bien une fonction.
Démontrons que H est surjectif.
Il faut démontrer que ∀hα, βi ∈ A × B | ∃hi, ji ∈ N × N | H(hi, ji) = hα, βi .
Soit hα, βi ∈ A × B.
114 CHAPITRE 1. THÉORIE DES ENSEMBLES
En terminant ce chapitre, nous allons essayer de trouver des ensembles infinis non dé-
nombrables. À première vue, on aurait pu croire que tous les ensembles étaient dénombrables
puisque Z est dénombrable et même Q l’est. Cependant, nous allons voir que R, lui, ne l’est
pas. Nous verrons même comment on peut fabriquer des ensembles de cardinalité toujours
plus grande.
c’est-à-dire : pour démontrer que p est vrai, on peut démontrer que la négation de p nous
mène à une contradiction.
1.5. ENSEMBLES INFINIS 115
Il faut démontrer l’énoncé suivant : (?) Pour tout ensemble A, on a |A| < |P(A)|.
Supposons le contraire, c’est-à-dire qu’il existe un ensemble A tel que |A| ≥ |P(A)|. Et
cherchons une contradiction.
Soit T = {a ∈ A | a 6∈ f (a)}.
Remarquons que T ⊆ A et donc que T ∈ P(A).
Soit a0 ∈ A, choisi tel que f (a0 ) = T . h Un tel a0 existe, car f est surjectif. i
Cas 1 : a0 ∈ T .
Alors a0 6∈ f (a0 ). . h Définition de T . i
Ce qui implique que a0 6∈ T . . h Car f (a0 ) = T . i
Dans ce premier cas on a donc à la fois que a0 ∈ T et que a0 6∈ T ,
ce qui est une contradiction.
Cas 2 : a0 6∈ T .
Alors ¬(a0 6∈ f (a0 )). . h Définition de T . i
Ce qui implique que (a0 ∈ f (a0 )). . h Définition de ∈
6 et Prop 1.1.5-a (Double négation) i
Ce qui implique que a0 ∈ T . . h Car f (a0 ) = T . i
Dans ce deuxième et dernier cas on a aussi à la fois que a0 ∈ T et que a0 6∈ T ,
ce qui est donc ici aussi une contradiction.
Le fait que nous obtenons une contradiction dans chacun des deux cas, nous permet de
conclure qu’on ne pouvait pas supposer le contraire de l’énoncé (?).
Définition 1.5.23 Étant donnés deux ensembles A et B, on définit B A comme étant l’en-
semble de toutes les fonctions de A vers B.
Autrement dit : B A = {f : A −→ B | }.
Proposition 1.5.24 Pour tout ensemble A, on a P(A) = {0, 1}A .
On note que G est bien définie (c’est-à-dire, elle est bien une relation totale et déterministe),
car pour toute fonction f ∈ {0, 1}A , G(f ) = {a ∈ A | f (a) = 1} est bien un élément de
P(A) puisque c’est un sous-ensemble de A.
Il existe donc pour chaque fonction f ∈ Dom(G), un et un seul élément de P(A) qui est en
G-relation avec f .
G est donc une fonction.
Injectivité. Il faut démontrer que ∀f1 , f2 ∈ {0, 1}A | f1 6= f2 ⇒ G(f1 ) 6= G(f2 ) .
Comme l’ensemble d’arrivée de f1 et celui de f2 sont tous deux égaux à {0, 1},
sans perte de généralité nous pouvons supposer que f1 (x) = 0 et f2 (x) = 1.
Ce qui implique que x 6∈ {a ∈ A | f1 (a) = 1} et que x ∈ {a ∈ A | f2 (a) = 1}.
On a donc x 6∈ G(f1 ) et x ∈ G(f2 ). * +
Car G(f1 ) et G(f2 ) sont deux ensembles et
Ce qui implique G(f1 ) 6= G(f2 ). .
ils n’ont pas exactement les mêmes éléments.
Surjectivité Il faut démontrer que (∀B ∈ P(A) | (∃fB ∈ {0, 1}A | G(fB ) = B)).
Soit fB : A −→ {0, 1}
(
0 si a 6∈ B.
a 7−→
1 si a ∈ B.
La fonction fB est bien définie, car pour chaque élément a, ou bien a ∈ B ou bien
a 6∈ B. Ce qui ici implique que a est en fB -relation avec un et un seul élément de
{0, 1}.
fB est donc bien une fonction (c.-à-d. : totale et déterministe).
De plus,
G(fB )
= {a ∈ A | fB (a) = 1} . h Définition de G. i
= {a ∈ A | a ∈ B} . h Définition de fB . i
= B. . h Car B ⊆ A. i
G est donc surjectif.
A
G est donc une fonction de {0,
bijective 1} vers P(A).
Ce qui implique que {0, 1}A = P(A). .
C.Q.F.D.
Nous ne ferons pas la démonstration du théorème 1.5.26, mais nous allons illustrer l’es-
sentiel des idées qui lui sont rattachées en solutionnant l’exemple suivant :
118 CHAPITRE 1. THÉORIE DES ENSEMBLES
Comme en plus on a démontré au cours que {0, 1}N est non dénombrable,
.. h Voir le corollaire 1.5.25. i
nous avons donc que {0, 1, 2} est également non dénombrable.
N
{0,
. 1, 2} , l’ensemble de toutes les fonctions de N vers {0, 1, 2} est donc non dénombrable.
N
C.Q.F.D.
Solution 2 : la solution la plus rigoureuse. Nous allons montrer que {0, 1}N ≤
{0, 1, 2}N en construisant explicitement une fonction injective de {0, 1}N vers {0, 1, 2}N ,
et comme on sait par le corollaire 1.5.25 que l’ensemble {0, 1}N est non dénombrable,
nous aurons alors montré que {0, 1, 2}N est également non dénombrable.
Pour démontrer {0, 1}N ≤ {0, 1, 2}N , nous allons construire une fonction injective
Autrement dit, étant donné une fonction f de N vers {0, 1}, H(f ) est la fonction de
N vers {0, 1, 2} qui a la même règle de correspondance que f .
On note que H est bien définie (c’est-à-dire, elle est bien une relation totale et
déterministe), car il existe pour chaque fonction f ∈ Dom(H), un et un seul élément
de {0, 1, 2}N qui est en H-relation avec f .
H est donc une fonction, il ne reste donc qu’à démontrer qu’elle est injective.
Il faut donc démontrer que ∀f1 , f2 ∈ {0, 1} | f1 6= f2 ⇒ H(f1 ) 6= H(f2 ) .
N
.
C.Q.F.D.
120 CHAPITRE 1. THÉORIE DES ENSEMBLES
Avant d’énoncer le prochain théorème, nous devons faire un rappel sur les nombres réels.
bn bn−1 . . . b1 b0 , a0 a1 a2 a3 a4 . . .
Cependant, cette représentation n’est pas unique. En effet, le nombre 0, 213 par exemple peut
être représenté par “0, 213000 . . .” et par “0, 212999 . . .”. Pour éviter toute ambiguı̈té, nous
allons supposer ici que nous ne représenterons jamais un nombre réel par une représentation
base 10 qui se terminerait par une séquence infinie de 9.
En particulier, chacun des nombres de l’intervalle [0, 1[ aura une unique représentation
base 10 de la forme 0, a0 a1 a2 a3 a4 a5 . . ., où chacun des ai est un chiffre de 0 à 9 et qui ne
se termine pas par une séquence infinie de 9.
Démonstration
Étape 1 : Nous allons démontrer que l’intervalle [0, 1[ est non dénombrable.
Soit f : N −→ [0, 1[, une fonction surjective. . Un tel f existe, car N ≥ [0, 1[.
Nous allons maintenant représenter f en extension, en représentant en base 10 chacun
des f (n).
Soit ani n,i∈N , une famille de chiffres de 0 à 9, choisis tels que :
Soit maintenant b = 0, b0 b1 b2 b3 b4 b5 . . ..
Clairement, b est un nombre de l’intervalle [0, 1[, représenté en base 10 par une famille
de chiffres qui ne se termine pas par une séquence infinie de 9.
Soit n ∈ N choisi tel que f (n) = b. . h Un tel n existe, car f est surjectif. i
n n n n n n
Alors on a que 0, b0 b1 b2 b3 b4 b5 . . . = 0, a0 a1 a2 a3 a4 a5 . . ..
. h Car notre représentation base 10 est unique. (Voir le Rappel.) i
En particulier, on doit avoir bn = ann , ce qui en contradiction avec la définition de
bi i∈N .
Ainsi, on ne peut pas supposer que [0, 1[ est dénombrable, c’est donc que [0, 1[ n’est
pas dénombrable.
122 CHAPITRE 1. THÉORIE DES ENSEMBLES
Comme [0, 1[⊆ R, on a donc que par la proposition 1.5.15, que I[0,1[⊆R : [0, 1[−→ R
est une fonction injective.
Ce qui implique que R ≥ [0, 1[.
Ce qui, combiné avec l’étape 1, implique que R ≥ [0, 1[ > N.
R est donc non dénombrable.
.
C.Q.F.D.
1.5. ENSEMBLES INFINIS 123
Exercice 1 :
Montrez que les ensembles suivants sont infinis dénombrables (c.-à-d. : qu’ils ont la même
cardinalité que N). Pour ce numéro, vous pouvez, tout comme dans les notes de cours, donner
des définitions en extension de toute fonction bijective dont le domaine est N, et dans ce cas,
vous n’avez pas à démontrer qu’il s’agit effectivement d’une fonction bijective.
a) N × {5, 12, 789}.
b) N \ {5, 12, 789}.
c) N × N.
d) Z × Z.
e) l’ensemble de toutes les puissances de 2.
f) l’ensemble de tous les mots qu’on peut construire avec un alphabet qui soit composé
uniquement des lettres “a”, “b” et “c”.
Exercice 2 :
a) Démontrez que la fonction f : N −→ N × {2, 3},
(
h 2i , 2i si i est pair
définie par la règle de correspondance f (i) =
h i−1
2
, 3i si i est impair
est bijective.
b) En déduire que N × {2, 3} est dénombrable.
Exercice 3 : (Pour ce numéro, aucune justification n’est demandée.) Étant donnés les en-
sembles A, B, C et D, que peut-on conclure sur leurs cardinalités ?
a) — il existe une fonction bijective de A vers C ;
— il existe une fonction surjective de A vers B ;
— il existe une fonction injective de A vers D.
b) — il existe une fonction bijective de A vers C ;
— il existe une fonction surjective de A vers B ;
— il existe une fonction injective de A vers D ;
— il existe une fonction surjective de B vers D.
c) — il existe une fonction surjective de A vers B ;
— il existe une fonction surjective de B vers C ;
— il existe une fonction surjective de C vers D ;
— il existe une fonction surjective de D vers N.
124 CHAPITRE 1. THÉORIE DES ENSEMBLES
Exercice 4 : n o
def
Rappel : L’ensemble Q = xy x ∈ Z, y ∈ Z∗ est l’ensemble des nombres rationnels.
Exercice 5 :
(A) Sans justifiez vos réponses, dites si les énoncés suivants sont VRAIS ou FAUX.
a) une relation asymétrique est toujours antisymétrique et irréflexive. .
e) NZ est dénombrable. .
Exercice 6 :
a) Démontrez que l’ensemble de tous les mots finis sur l’alphabet {“a”, “b”} est dénombrable
alors que l’ensemble de tous les mots infinis sur ce même alphabet ne l’est pas.
b) Est-ce que l’ensemble de tous les mots (finis et infinis) sur l’alphabet {“a”, “b”} est
dénombrable ? Justifiez brièvement.
Exercice 7 :
Démontrez que l’ensemble de tous les sous-ensembles finis de N est dénombrable alors que
l’ensemble de tous les sous-ensembles de N ne l’est pas.
Exercice 8 :
a) Les données d’entrée et de sortie d’un programme sont des séquences de bits. On peut
donc considérer une séquence de bits comme un nombre naturel exprimé en binaire
(en ajoutant un bit “1” au début de la séquence, de sorte que les “0” initiaux du
programme soient significatifs). Donc un programme calcule une fonction de N vers
N.
L’ensemble de toutes les fonctions de N vers N est-il dénombrable ?
b) Un programme en JAVA est construit à partir d’un nombre fini de symboles et est de
longueur finie. On peut donc considérer un programme comme un mot écrit à l’aide
d’un certain alphabet.
L’ensemble de tous les programmes en JAVA est-il dénombrable ?
c) Si on suppose qu’on n’a aucun problème de mémoire, est-ce que n’importe quelle
fonction de N vers N peut-être calculée en JAVA ? (Justifiez brièvement.)
2.1 Suites
Dans ce chapitre, nous étudierons des problèmes reliés à la notion de suite. Une suite est
une séquence infinie de nombres réels. Un élément de cette suite est appelé un terme de la
suite.
De façon générale, la suite ha0 , a1 , a2 , a3 , a4 , . . .i se note han in∈N . Une telle suite est en
fait une fonction de N vers R, on peut donc représenter han in∈N en utilisant la notation
introduite à la section 1.4.5 :
f : N −→ R
n 7−→ an
Une suite ne commence pas nécessairement par l’indice 0, elle peut commencer par tout
autre élément n0 ∈ Z. La suite han0 , an0 +1 , an0 +2 , an0 +3 . . .i peut être représentée par la
fonction :
f : {n ∈ Z | n ≥ n0 } −→ R
n 7−→ an
De même, la suite ha1 , a2 , a3 , a4 , . . .i débutant à l’indice 1 se note han in∈N∗ .
126
2.1. SUITES 127
Une suite peut donc être définie en extension (par exemple, h0, 2, 4, 6, 8, . . .i) ou (de
façon plus rigoureuse) en compréhension :
f : N −→ R
n 7−→ 2n
La définition en compréhension d’une suite est appelée définition par terme général.
Plutôt que d’utiliser le formalisme des fonctions, on présente généralement une définition par
terme général d’une suite en donnant simplement la formule générique permettant de calculer
directement n’importe quel terme de la suite ainsi que l’ensemble des indices pour lesquels
la formule est valide. Par exemple, le terme général de la suite hbn in∈N des entiers naturels
pairs est
bn = 2n ∀n ∈ N . (2.1)
À part la définition en extension et celle par terme général, il y a une autre façon
(tout aussi rigoureuse que celle par terme général) de définir une suite : la définition par
récurrence, qui consiste à donner directement la valeur du premier terme (ou les valeurs
des quelques premiers termes) de la suite ainsi qu’une méthode pour calculer la valeur de
n’importe quel terme de la suite en fonction de son (ou ses) prédécesseur(s). Ainsi, la suite
hbn in∈N des entiers naturels pairs peut se définir récursivement par
(
b0 = 0
(2.2)
bn = bn−1 + 2 ∀n ∈ N∗ .
Nous verrons au cours de ce chapitre que le terme général de la suite de Fibonacci est :
√ !n √ !n
1 1+ 5 1 1− 5
fn = √ −√ ∀n ∈ N .
5 2 5 2
1. Dans la littérature, la suite de Fibonacci est la plupart du temps définie pour n ≥ 1, c’est-à-dire :
f1 = 1, f2 = 1 et fn = fn−1 + fn−2 ∀n ∈ N∗ \ {1, 2}.
128 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
De manière plus générale, la somme des nombres entiers entre 1 à n inclusivement s’écrit :
n
X
i = 1 + 2 + 3 + . . . + (n−1) + n .
i=1
La définition suivante met en évidence que la notation sigma permet de présenter de façon
concise une somme définie en extension.
Ainsi, on peut écrire la définition en extension de la suite des entiers naturels pairs hbn in∈N ,
dont le terme général est donné par l’équation (2.1), en utilisant la notation sigma :
n
X
bn = 2 = 2| + 2 +
{z. . . + 2} . (2.4)
i=1 n fois
De même, la suite hcn in∈N de la somme des n premiers entiers naturels mis au carré s’écrit :
n
X
cn = i 2 = 0 2 + 1 2 + 2 2 + 3 2 + . . . + n2 . (2.5)
i=0
La proposition 2.1.2 présente quelques propriétés des sommes qui permettent, dans cer-
taines circonstances, de trouver le terme général d’une suite à partir d’une définition utilisant
la notation sigma.
2.1. SUITES 129
Par exemple, on retrouve l’expression du terme général des suites hbn in∈N et hcn in∈N que
nous avons définis plus haut à l’aide de la notation sigma par les équations (2.4) et (2.5) :
n
X
bn = 2 = 2·n .h Prop 2.1.2-b, cas particulier avec [k := 2] i
i=1
n
X (2n + 1)(n + 1)n
cn = i2 = .h Prop 2.1.2-e i
i=0
6
À titre d’exemple, le temps d’exécution d’un algorithme triant les n éléments d’un tableau
en ordre croissant dépend généralement de la taille n du tableau (c’est-à-dire le nombre
d’éléments à trier). L’instruction baromètre utilisée est le nombre de comparaisons entre
deux éléments du tableau. Nous présenterons un exemple de calcul du temps d’exécution
d’un algorithme de tri à la section 2.2.2.
Algo Jouet Un ( n )
l←0
Pour i = 1 à n Faire
Pour j = 1 à i Faire
l ←l+1
Fin Pour
Fin Pour
Retourner l
Ici, se demander quel sera (en fonction du paramètre n) le temps d’exécution de l’algo-
rithme revient en gros à calculer le nombre de fois que sera exécutée l’instruction baromètre
“l ← l + 1”. Dans ce cas précis, cela est équivalent à se demander quelle sera la valeur re-
tournée par l’algorithme fonction du paramètre n. Soit hdn in∈N la suite qui, pour chaque n,
donne cette valeur finale. En utilisant la notation sigma “Σ”, on peut traduire facilement les
boucles “Pour” en sommations :
Xn X i
dn = 1.
i=1 j=1
X i
n X n
X
dn = 1 = i .h Prop 2.1.2-a i
i=1 j=1 i=1
n(n + 1)
= .h Prop 2.1.2-d i
2
2.1. SUITES 131
Pour analyser l’exemple précédent (l’algorithme Algo Jouet Un), la notation sigma semble
plus appropriée que la définition par récurrence de la suite. Il existe cependant plusieurs cas où
la définition par récurrence est la plus naturelle. C’est particulièrement le cas des algorithmes
récursifs, comme dans l’exemple suivant :
Désignons par hbn in∈N la suite qui, pour chaque n, donne la valeur retournée par la fonction
décrite dans ce dernier exemple. Ici, il est facile de comprendre ce que sera la valeur de bn si
on connaı̂t celle de bn−1 :
b = 1;
0
(2.7)
bn = 2 · bn−1 ∀n ∈ N∗ .
Bien que la définition par récurrence soit une définition tout à fait rigoureuse, elle n’est
pas très pratique. En effet, pour calculer b100 dans l’exemple précédent, il nous faut d’abord
calculer b99 et pour calculer b99 , on a besoin de connaı̂tre b98 , etc. Donc, si on souhaite utiliser
la suite han in∈N pour analyser notre petit algorithme “Algo Jouet Deux”, pour chacune des
valeurs de n, on serait mieux de travailler avec la définition par terme général de la suite
(malheureusement plus difficile à obtenir) au lieu de la définition par récurrence.
3. Nous adoptons ici la convention que si n = 0, il n’y a pas d’erreur d’exécution, mais que les instructions
à l’intérieur de la première boucle “Pour” ne sont tout simplement pas exécutées.
132 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Dans cet exemple simple, on peut “deviner” que le terme général de la suite est bn = 2n
en calculant les premiers termes de la suite :
n 0 1 2 3 4 ··· n
bn 1 2 4 8 16 ··· 2n
La section 2.2 présente la méthode de la substitution à rebours qui nous aidera, dans
certaines circonstances, à déduire le terme général d’une suite à partir de sa définition par
récurrence. Ensuite, la section 2.3 présente la technique de démonstration par induction
mathématique, qui permettra de démontrer que la définition par terme général que nous
avons déduit ou deviné est bien équivalente à sa définition par récurrence.
2.1. SUITES 133
Exercice 2 : En vous servant de la notation en extension des sommes, illustrez les égalités
suivantes (la réponse du premier exercice vous est donnée à titre d’exemple) :
n
X n
X
a) i = 1+ i
i=1 i=2
Solution :
Xn
i = 1 + 2 + 3 + ... + n
i=1
= 1 + (2 + 3 + . . . + n)
Xn
= 1+ i
i=2
n
X n
X
b) i = i
i=0 i=1
n
X n−1
X
c) (n − i) = i
i=1 i=1
n n
X √ X √
d) k i = k· i , pour tout k ∈ R
i=1 i=1
n−1
X n
X
e) 2i + 1 = 2i − 1
i=0 i=1
n−1 X
X n X
n
f) 1 = n3 − n2
i=1 j=1 k=1
134 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Exercice 3 : Soit la suite hvn in∈N∗ dont le nième terme correspond à la valeur retournée par
l’algorithme suivant exécuté avec le paramètre n en entrée (avec n ≥ 1).
La méthode des substitutions à rebours présentée dans cette section est une “recette”
qui nous permet, dans certains cas, de déduire le terme général d’une suite à partir de
sa définition par récurrence. Précisons dès le départ que cette méthode ne permet pas de
démontrer hors de tout doute l’équivalence entre la définition par récurrence d’une suite et
le terme général déduit. Dans le cadre de ce cours, nous considérons cependant que, lorsque
la méthode des substitutions à rebours est appliquée rigoureusement, elle est suffisamment
convaincante pour qu’on puisse tenir son résultat pour acquis.
Pour illustrer les différentes étapes de la méthode des substitutions à rebours, considérons
l’exemple (très simple) de la suite hbn in∈N dont nous avons donné la définition par récurrence
à l’équation (2.7) :
b = 1
0
bn = 2 · bn−1 ∀n ∈ N∗ .
bn = 2 · bn−1 .h Définition par récurrence de bn i
= 2 · 2 · bn−2 .h Car bn−1 = 2bn−2 i
Substituer
(A)
= 2 · 2 · 2 · bn−3 .h Car bn−2 = 2bn−3 i
à rebours
2 · 2 · 2 · 2 · bn−4 .h Car bn−3 = 2bn−4 i
=
= ...
Déduire l’expression
= 2| · 2 ·{z. . . · 2} · bn−i .h Pour tout i ≥ 1 i (B)
après i subtitutions
i fois
= 2| · 2 ·{z. . . · 2} · b0 .h En utilisant [i := n] i
Substituer la valeur
n fois (C)
= 2| · 2 ·{z. . . · 2} · 1 .h Car b0 = 1 i
du cas de base
n fois )
= 2n . .h Arithmétique i Calculer le terme
(D)
général
136 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Notez que l’étape (D) ne sera pas toujours réalisable. En effet, déduire le terme général
d’une suite à partir d’une expression en extension (ou en notation sigma) est souvent très
difficile et parfois impossible.
Commençons par calculer, par la méthode des substitutions à rebours, le terme général
de la récurrence hdn in∈N présentée par l’équation (2.6) :
d = 0
0
dn = dn−1 + n ∀n ∈ N∗ .
Rappelons que nous avons obtenu cette expression après l’analyse de l’algorithme Algo Jouet Un
de la page 130.
2.2. MÉTHODE DES SUBSTITUTIONS À REBOURS 137
n(n + 1)
= . .h Proposition 2.1.2-d i
2
Le tri par sélection est un algorithme de tri simple et intuitif. Dans le pseudo-code
ci-dessous, on considère que l’algorithme reçoit en entrée un tableau T contenant n nombres
réels à trier en ordre croissant. Les éléments du tableau sont indexés de 1 à n. Ainsi, T [1]
réfère au premier élément du tableau et T [n] au dernier élément.
Désignons par hsn in∈N\{0,1} la suite dont le nième terme correspond au nombre d’exécutions
de l’instruction baromètre pour un tableau de taille n. Nous considérons n ≥ 2, car il est
inutile de trier un tableau de moins de deux éléments. Puisque l’algorithme est de type
itératif, il serait possible de définir la suite à l’aide de la notation sigma et de calculer le
terme général associé en appliquant les propriétés de la proposition 2.1.2 (pourquoi ne pas le
faire en exercice !). Cependant, nous allons ici définir la valeur du terme sn par une règle de
récurrence :
s = 1
2
sn = sn−1 + (n − 1) ∀n ∈ N \ {0, 1, 2} .
— Pour un tableau de taille 2, l’instruction baromètre est exécutée une seule fois (c’est
notre cas de base) ;
— Pour un tableau de taille n > 2, la boucle interne est d’abord exécutée (n − 1) fois (il
en va donc de même pour le nombre d’exécutions de l’instruction baromètre). Ensuite,
le nombre d’exécutions de l’instruction est le même que si on exécute l’algorithme sur
un tableau de taille (n − 1).
2.2. MÉTHODE DES SUBSTITUTIONS À REBOURS 139
Utilisons donc la méthode des substitutions à rebours pour trouver le terme général de la
suite hsn in∈N\{0,1} :
(n−1) · ( (n−1) + 1 )
= .h Prop 2.1.2-d, avec [n := n−1] i
2
n · (n − 1)
= . .h Arithmétique i
2
Le problème des tours de Hanoı̈ est un jeu de logique qui a été imaginé par le mathé-
maticien français Édouard Lucas (1842 – 1891). Le jeu est constitué de trois tiges (que nous
désignons par les tiges A, B et C) et de n disques. Tous les disques possèdent des diamètres
distincts. Au début du jeu, les disques sont empilés sur la tige A en ordre de taille, de manière
à ce que le disque de plus grand diamètre soit à la base de la pile et que le disque de plus
petit diamètre soit au sommet de la pile (tel qu’illustré à la figure 2.1).
A B C
Figure 2.1 – Le problème des tours de Hanoı̈ (à n = 6 disques).
140 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Le but du jeu est de transférer tous les disques sur la tige C en respectant les contraintes
suivantes :
— On ne peut déplacer qu’un seul disque à la fois. Les déplacements se font d’une tige à
une autre, et donc du sommet d’une pile au sommet d’une autre pile ;
— Un disque peut seulement être déplacé sur un disque de diamètre supérieur ou encore
sur une tige vide. Autrement dit, il est interdit de déplacer un disque sur une pile
possédant des disques de tailles inférieures à lui même.
Examinons d’abord la stratégie qui permet de résoudre le problème des tours de Hanoı̈.
Nous procédons en débutant par le cas le plus simple (c’est-à-dire déplacer une pile d’un
seul disque) et en déduisant la méthode pour le cas général (c’est-à-dire déplacer une pile
constituée d’un nombre quelconque de disques).
A B C A B C A B C
(a) Déplacer n−1 disques de A vers B. (b) Déplacer 1 disque de A vers C. (c) Déplacer n−1 disques de B vers C.
La stratégie permettant de résoudre le problème des tours de Hanoı̈ s’exprime donc na-
turellement par un algorithme récursif. Le pseudo-code ci-dessous présente cet algorithme.
Pour résoudre une instance du problème à n disques, l’appel initial à l’algorithme doit être :
Déplacer Disques(n, A, C, B)
Prenez note que cette formulation de l’algorithme considère que le cas de base correspond
à la situation où aucun disque n’est déplacé (n = 0). Il aurait été aussi valable de considérer
le cas où un seul disque est déplacé (n = 1).
On désire maintenant connaı̂tre le nombre de déplacements de disques que l’on doit ef-
fectuer pour résoudre le problème des tours de Hanoı̈ à n disques. Autrement dit, on désire
calculer le nombre de fois que sera exécutée la ligne (2) dans l’algorithme Déplacer Disques
en fonction de la valeur initiale du paramètre “nbDisques”. La suite correspondante hhn in∈N
se définit naturellement par la récurrence suivante :
h = 0
0
(2.8)
hn = 2 · hn−1 + 1 ∀n ∈ N∗ .
142 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Tentons de déduire le terme général de la suite hhn in∈N à l’aide de la méthode des sub-
stitutions à rebours :
À ce moment-ci, nous ne pouvons pas aller plus loin dans la transformation de l’expres-
sion hn . La méthode des substitutions à rebours nous a permis de déduire une sommation
en notation sigma. Pour l’instant, nous ne connaissons aucune propriété qui nous permet
d’exprimer cette sommation sous la forme d’un terme général 4 . Cela met en évidence que
cette méthode ne peut pas à elle seule résoudre n’importe quelles récurrences. Nous avons
besoin d’outils supplémentaires !
4. Le lecteur avide de savoir peut se référer directement à la page 164, où nous calculons le terme général
de la suite hhn in∈N . Nous verrons en effet à la section 2.4.3 que le terme hn correspond à la somme des n
premiers termes d’une suite géométrique de raison 2.
2.2. MÉTHODE DES SUBSTITUTIONS À REBOURS 143
Exercice 1 : Calculez le terme général des récurrences suivantes à l’aide de la méthode des
substitutions à rebours :
x = 0
1
a)
xn = xn−1 + 5 ∀n ∈ N∗ \ {1}
y(1) = 4
b)
y(n) = 3 · y(n − 1) ∀n ∈ N∗ \ {1}
z(0) = 0
c)
z(n) = z(n − 1) + 2n − 1 ∀n ∈ N∗
144 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Supposons que l’on connait la définition par récurrence d’une suite han in∈N et que nous
désirons trouver sa définition par terme général. Dans plusieurs cas de récurrences complexes,
la façon la plus simple de procéder est de calculer les premiers termes de la suite à l’aide de
l’expression de la récurrence et de “deviner” le terme général. Dans cette situation, il faut
ensuite démontrer que l’expression que nous avons “devinée” est valide pour tous les termes
de la suite. Pour ce faire, nous avons souvent recours au principe d’induction mathématique.
Notons que, bien que nous concentrons ici nos efforts sur l’étude des récurrences, le prin-
cipe d’induction mathématique est s’applique à un éventail de problèmes beaucoup plus
large.
Les démonstrations utilisant le principe d’induction faible se divisent toujours en deux étapes :
(A) Démonstration de P (0).
Il s’agit de montrer que le terme général est valide pour le premier terme de la suite
(c’est-à-dire le terme a0 ).
2.3. INDUCTION MATHÉMATIQUE 145
Nous allons démontrer que cette suite correspond à la suite des carrés parfaits, c’est-à-dire
que le terme général de la suite hcn in∈N est :
cn = n2 ∀n ∈ N .
Nous allons maintenant démontrer le principe d’induction faible. Remarquez que, pour
ce faire, nous utilisons la technique de démonstration par contradiction (voir section 1.3.8).
Nous aurons aussi besoin de l’axiome suivant :
Axiome : N est un ensemble bien ordonné. (C’est-à-dire : tout sous-ensemble non vide de
l’ensemble N a un plus petit élément.)
Donc na 6∈ A.
Le nombre naturel na est donc à la fois le plus petit élément de A et pas un élément de A.
Contradiction.
Ainsi, on ne peut supposer le contraire. C’est donc que l’énoncé à démontrer est vrai.
.
C.Q.F.D.
Remarquons la deuxième forme du théorème (2.3.1-b) est en fait une simple réécriture de
la première forme (2.3.1-a). En effet, nous avons :
∀n ∈ N∗ | P (n−1) ⇒ P (n) .
∀n ∈ N | P (n) ⇒ P (n + 1) ⇔
Il est important de préciser que la démonstration par induction mathématique faible telle
que nous l’avons présentée jusqu’à maintenant peut ne pas être utilisable dans certains cas,
notamment lorsque la suite définie par récurrence ne commence pas à l’indice 0. Voici donc
une des nombreuses autres variantes du principe d’induction mathématique faible.
Nous allons maintenant démontrer la propriété 2.1.2-d (page 129), qui donne le terme
général permettant de calculer la somme des n premiers nombres entiers positifs :
n
X n(n + 1)
1 + 2 + 3 + ... + n = i = .
i=1
2
Pour cette démonstration, il sera plus naturel d’utiliser l’indice 1 pour désigner le cas de
base (plutôt que 0). C’est pourquoi nous allons utiliser le principe d’induction faible avec un
indice de base quelconque.
n
X n(n + 1)
Montrons P (n), c’est à dire i = :
i=1
2
n
X
i
i=1
n(n − 1)
= +n h Voir (?) : Hypothèse d’induction. i
2
n(n − 1) + 2n
= h Arithmétique (dénominateur commun). i
2
n( (n − 1) + 2 )
= h Arithmétique (mise en évidence de n). i
2
n(n + 1)
= . h Arithmétique. i
2
On a démontré ∀n ∈ N∗ \{1} | P (n−1) ⇒ P (n) .
n
∗
X n(n + 1)
Conclusion : On a bien ∀n ∈ N | P (n) , c’est-à-dire : i = ..
i=1
2
C.Q.F.D.
Lorsqu’une suite han in∈N est définie par récurrence, il arrive parfois que le calcul du
terme an repose plusieurs de ses prédécesseurs (et non seulement de son prédécesseur immédiat
an−1 ). Nous présentons maintenant une autre variante du principe d’induction qui est utile
lorsque le terme an d’une suite est défini en fonction de ses deux prédécesseurs an−1 et an−2 .
Comme nous le verrons dans l’exemple qui suit, une démonstration se basant sur ce dernier
théorème doit donc débuter en démontrant la véracité des deux prédicats P (0) et P (1).
150 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
À la section 2.1.1, nous avons défini ainsi la suite de Fibonacci hfn in∈N par récurrence :
f0 = 0
f1 = 1
fn = fn−1 + fn−2 ∀n ∈ N \ {0, 1} .
Nous avons ensuite affirmé que le terme général de cette suite est :
√ !n √ !n
1 1+ 5 1 1− 5
fn = √ − √ ∀n ∈ N .
5 2 5 2
Nous allons maintenant démontrer la validité de cette définition par terme général en
utilisant le principe d’induction à deux cas de bases (théorème 2.3.3).
D √ 0 √ 0 E
√1 1+ 5 √1 1− 5
Montrons P (0). . C’est-à-dire, montrons f0 = 5 2 − 5 2 .
√ !0 √ !0
1 1+ 5 1 1− 5 1 1
√ −√ = √ − √ = 0 = f0 .
5 2 5 2 5 5
√
2 −b ± b2 − 4ac
6. Rappelons que les zéros du polynôme y = ax + bx + c, sont donnés par la formule x = .
2a
2.3. INDUCTION MATHÉMATIQUE 151
D √ 1 √ 1 E
√1 1+ 5 √1 1− 5
Montrons P (1). . C’est-à-dire, montrons f1 = 5 2 − 5 2 .
√ 1 √ 1 √ √
1+ 5 1− 5 1+ 5
√1
5 2
− √1
5 2
= √1
5 2
− 5 1−2 5
√1
√ √
√1 1+ 5 1− 5
= 5 2
− 2
√
√1 2 5
= 5 2
= 1 = f1 .
Montrons ∀n ∈ N \ {0, 1} | P (n−1) ∧ P (n−2) ⇒ P (n) .
Soit n ∈ N \ {0, 1}, choisi tel que P (n−1) et P (n−2) sont vrais.
C’est-à-dire, tel que nous avons :
√ n−1 √ n−1
√1 1+ 5 √1 1− 5
• fn−1 = 5 2
− 5 2
,
√ n−2 √ n−2
√1 1+ 5 √1 1− 5
• fn−2 = 5 2
− 5 2
.
√ n √ n
√1 1+ 5 √1 1− 5
Montrons P (n), c’est-à-dire fn = 5 2
− 5 2
:
fn
= . Définition de hfn in∈N\{0,1} .
fn−1 + fn−2
= . h Hypothèses d’induction. i
√ n−1 √ n−1 √ n−2 √ n−2
√1 1+ 5 √1 1− 5 √1 1+ 5 √1 1− 5
5 2
− 5 2
+ 5 2
− 5 2
=
√ n−1 √ n−2 √ n−1 √ n−2
√1 1+ 5 √1 1+ 5 √1 1− 5 √1 1− 5
5 2
+ 5 2
− 5 2
− 5 2
On a démontré ∀n ∈ N \ {0, 1} | P (n−1) ∧ P (n−2) ⇒ P (n) .
152 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Conclusion : On a bien ∀n ∈N | P (n) ,
√ n √ n
c’est-à-dire : fn = √15 1+2 5 − √15 1−2 5 ∀n ∈ N . .
C.Q.F.D.
Nous sommes maintenant certains que le terme général de la suite de Fibonacci est
√ n √ n
√1 1+ 5 √1 1− 5
fn = 5 2
− 5 2
∀n ∈ N .
Mais si ce terme général ne nous avait pas été donné gratuitement, nous aurions été tous
incapables de le deviner. La méthode des séries génératrices présentée plus loin nous permettra
de calculer le terme général de la suite de Fibonacci.
√
Pour votre culture générale, il est intéressant de constater que le nombre 1+2 5 ≈ 1, 618
est une constante bien connue que l’on appelle le nombre d’or. Le nombre d’or possède
plusieurs propriétés intéressantes. Il est présent dans plusieurs théories mathématiques et il
est même utilisé en architecture 7 .
Rappelons que l’idée principale du principe d’induction faible (voir le théorème 2.3.1 à la
page 144) est de supposer que le prédicat P (n−1) est vrai et de montrer que cela implique
que le prédicat P (n) est vrai. C’est ce que signifie l’expression suivante du théorème 2.3.1-b :
∀n ∈ N∗ | P (n−1) ⇒ P (n) .
Dans l’énoncé du principe d’induction forte (théorème 2.3.4), cette expression est rem-
Autrement dit, lors de l’utilisation du principe d’induction forte, on suppose que, pour tout
entier positif k plus petit que n, les prédicats P (k) sont vrais. Ensuite, on montre que cela
implique que le prédicat P (n) est vrai.
Bien que le terme “principe d’induction forte” peut donner la fausse indication que cette
nouvelle formulation permet de démontrer plus de résultats que le “principe d’induction fai-
ble”, les deux principes sont dans les faits équivalents. Toutefois, le principe d’induction forte
facilite grandement certaines démonstrations. Dans le cas qui nous intéresse (celui des suites
définies par récurrence), nous utiliserons le principe d’induction forte lorsque la définition
par récurrence du nième terme d’une suite n’est pas donnée en fonction du terme précédant
(le terme d’indice n − 1) mais d’un autre terme d’indice inférieur à n.
À la section 2.3.1, nous avons généralisé le principe d’induction faible (théorème 2.3.1-b)
aux suites débutant par un indice quelconque (théorème 2.3.2). Le prochain théorème ap-
plique la même généralisation au principe d’induction forte.
def
où I = {n0 , n0 + 1, n0 + 2, . . .}.
154 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Nous allons montrer que le terme général de la suite h D(n) in∈N∗ est :
D(n) = 2n − 1 ∀n ∈ N∗ .
Ainsi, pour tout entier k situé entre 1 et n exclusivement, nous avons D(k) = 2k − 1.
. h Il s’agit de notre hypothèse d’induction. i
On remarque que : (∗) 1 ≤ b n2 c < n et (∗∗) 1 ≤ d n2 e < n . . h Car n ≥ 2 i
D(n) = 2 b n2 c + d n2 e − 1 = 2 n n
2
+ 2
− 1 = 2n − 1 .
.
C.Q.F.D.
Insistons sur le fait que la dernière démonstration ne se serait pas faite aussi facilement en
ayant recours au principe d’induction faible, puisque la définition par récurrence d’un terme
D(n) de la suite ne dépend pas du terme précédent D(n−1), mais des deux termes situés
“au milieu” de la suite h D(1), D(2), . . . , D(n) i.
156 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Montrez par induction que le terme général de la suite han in∈N est :
an = 3n+1 − 1 ∀n ∈ N .
Montrez par induction que le terme général de la suite hbn in∈N est :
bn = 3n − 2n − 5 ∀n ∈ N .
2.3. INDUCTION MATHÉMATIQUE 157
Montrez par induction que le terme général de la suite hcn in∈N est :
cn = 2n−1 · (2 − n) ∀n ∈ N .
158 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
L’essentiel de cette section consiste à se donner des outils nous permettant, étant donné
une suite définie par récurrence, de trouver sa définition par terme général. Résoudre ce type
de problème est faire de la résolution de récurrences.
Nous nous intéressons dans cette section à quatre familles particulières de suites. Pour
chacune des suites appartenant à une de ces familles, le terme général est facile à trouver.
an = a + nd ∀n ∈ N .
La suite des nombres pairs que nous avons vue en introduction (équation (2.2), page 127)
est une suite arithmétique de premier terme a = 0 et de différence d = 2, et on a bien que :
(
b0 = 0
bn = bn−1 + 2 ∀n ∈ N∗ ,
et que
bn = n · 2 ∀n ∈ N .
2.4. CAS PARTICULIERS DE RÉCURRENCES 159
Notez que le rapport de an sur an−1 est le résultat de la division de an par an−1 , c’est-à-dire :
an
r = .
an−1
an = a · r n ∀n ∈ N .
La suite des puissances de 2, c’est-à-dire la suite h1, 2, 4, 8, 16, 32, 64, . . .i, est une suite
géométrique de premier terme a = 1 et de raison r = 2, et on a bien que
(
b0 = 1
bn = bn−1 · 2 ∀n ∈ N∗ ,
et que
bn = 1 · 2n ∀n ∈ N .
Notez que nous avons déjà étudié cette suite en introduction lors de l’analyse de l’algorithme
“Algo Jouet Deux” (voir l’équation (2.7), page 131).
160 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
n
X
Sn = ai ∀n ∈ N .
i=0
Théorème 2.4.6 Terme général des sommes de premiers termes d’une suite arithmétique
Soit han in∈N , une suite arithmétique de premier terme a et de différence d et soit hSn in∈N la
suite des sommes de premiers termes de la suite han in∈N .
Alors, hSn in∈N est définie par terme général par :
(a0 + an )(n + 1)
Sn = ∀n ∈ N .
2
Fréquemment, on s’intéresse à la suite des sommes des premiers termes de la suite arithmétique
han in∈N excluant le premier terme a0 . En désignant cette suite hSn∗ in∈N∗ , on obtient :
n
X (a1 + an ) · n
Sn∗ = an = ∀n ∈ N∗ . (2.9)
i=1
2
2.4. CAS PARTICULIERS DE RÉCURRENCES 161
Théorème 2.4.7 Terme général des sommes de premiers termes d’une suite géométrique
Soit han in∈N une suite géométrique de premier terme a0 et de raison r 6= 1 et soit hSn in∈N la
suite des sommes de premiers termes de la suite han in∈N .
Alors, hSn in∈N est définie par terme général par :
a0 · (1 − rn+1 )
Sn = ∀n ∈ N .
1−r
Lorsqu’on s’intéresse à la suite des sommes des premiers termes de la suite géométrique
han in∈N excluant le premier terme a0 , notée, hSn∗ in∈N∗ , on obtient :
n
X a1 · (1 − rn )
Sn∗ = an = ∀n ∈ N∗ . (2.10)
i=1
1−r
Remarquons que les deux théorèmes 2.4.6 et 2.4.7 contiennent l’expression “(n + 1)”, soit
le nombre de termes de la somme qui donne Sn . Le terme “(n + 1)” est remplacé par “n”
dans les équations 2.9 et 2.10 respectivement, car la somme qui donne Sn∗ contient n termes.
Pensez-y!
Les trois remarques suivantes s’avèrent de bons exercices pour vérifier votre
compréhension de l’arithmétique des sommes en notation sigma.
Remarque 1 : Il n’est pas nécessaire de retenir l’équation 2.9, puisqu’il est possible
de l’obtenir aisément du théorème 2.4.6. En effet, si han in∈N est une suite arithmétique
de premier terme a et de différence d, on a :
Xn Xn
∗
Sn = ai = (a + id) .h Théorème 2.4.2 (3) i
i=1 i=1
= (a + 1d) + (a + 2d) + (a + 3d) + . . . + (a + nd) . Écriture en extension
= (a + d + 0d) + (a + d + 1d) + (a + d + 2d) + . . . + (a + d + (n−1)d)
.h Arithmétique i
n−1
X
= (a + d + id) . Écriture en notation sigma
i=0
* Théorème 2.4.6, somme des n−1 premiers +
(a1 + an )( (n−1) + 1 )
= . termes d’une suite arithmétique de premier
2
terme a1 = a + d et de différence d.
(a1 + an ) · n
= .
2
162 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Remarque 3 : La somme (infinie) de tous les termes d’une suite géométrique de premier
terme a et de raison r s’écrit de manière équivalente des deux manières suivantes :
∞
X ∞
X
i
a·r et a · ri−1 .
i=0 i=1
En effet, on voit facilement l’égalité des deux expressions en écrivant les sommes en
extension :
∞
X
a · ri = a · r0 + a · r1 + a · r2 + a · r3 + . . .
i=0
∞
X
a · ri−1 = a · r1−1 + a · r2−1 + a · r3−1 + a · r4−1 + . . .
i=i
2.4. CAS PARTICULIERS DE RÉCURRENCES 163
Supposons que l’on désire la somme des nombres naturels de 1 à 100 inclusivement, c’est-
à-dire qu’on veut connaı̂tre le résultat de la somme suivante :
100
X
i = 1 + 2 + 3 + 4 + · · · + 100 .
i=1
Remarquons que 1 + 2 + 3 + 4 + · · · + 100 est la somme des 100 premiers termes de la suite
arithmétique de premier terme 1 et de différence 1. Notons cette suite arithmétique hsn in∈N .
Alors, par le théorème 2.4.2, on a :
sn = 1 + n · 1 ∀n ∈ N .
Ainsi,
100
X
i = 1 + 2 + 3 + 4 + · · · + 100
i=1
= s0 + s1 + s2 + s3 + · · · + s99 .h Car sn = 100 si n + 1 = 100, et donc si n = 99 i
(s0 + s99 )(99 + 1)
= .h Théorème 2.4.6 i
2
(1 + 100)(99 + 1)
=
2
= 5050 .
Remarquons qu’il s’agit d’une somme de premiers termes de la suite géométrique de premier
terme 8 et de raison 2. Notons cette suite géométrique htn in∈N . Par le théorème 2.4.4, on a :
tn = 8 · 2n ∀n ∈ N .
164 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Pour calculer le nombre de termes que l’on considère dans la sommation, on cherche d’abord
le i ∈ N tel que ti = 1 048 576. On le trouve par des calculs arithmétiques simples 8 :
ti = 8 · 2i = 1 048 576
⇔ 2i = 131 072
⇔ log2 (2i ) = log2 (131 072)
⇔ i = 17 .
Ainsi, le résultat désiré est obtenu en calculant la somme des 18 premiers termes de la suite
géométrique htn in∈N :
17
X 8 · (1 − 217+1 )
ti = .h Théorème 2.4.7 i
i=0
1−2
= 2 097 144 .
À la section 2.2, nous avons présenté un algorithme qui permet de résoudre le problème
des tours de Hanoı̈ en un nombre minimal de déplacements de disques (voir la page 139).
Nous avons établi que ce nombre optimal de déplacements est donné par une suite hhn in∈N ,
dont la définition par récurrence est la suivante (voir l’équation (2.8), page 141) :
h = 0
0
hn = 2 · hn−1 + 1 ∀n ∈ N∗ .
n−1
X
hn = 2j ∀n ∈ N . (2.11)
j=0
Les notions introduites jusqu’alors ne nous permettaient pas de transformer cette sommation
pour obtenir le terme général de la suite hhn in∈N . Désormais, le théorème 2.4.4 permet de
constater que l’équation (2.11) correspond à une somme des n−1 premiers termes de la suite
géométrique de premier terme 1 et de raison 2. Ainsi, par le théorème 2.4.7, on obtient que
log10 (x)
8. Rappelons que log2 (x) = log10 (2)
2.4. CAS PARTICULIERS DE RÉCURRENCES 165
1 · (1 − 2(n−1)+1 ) 1 − 2n
hn = = = 2n − 1 ∀n ∈ N . (2.12)
1−2 −1
Notons que la formule permettant de calculer an , le nème terme de la suite, est bien
une combinaison linéaire des 4 termes précédents puisque
— La relation de récurrence d’une suite géométrique (définition 2.4.3, page 159) est une
relation linéaire, homogène d’ordre 1.
On peut conclure du dernier exemple qu’il existe une formule permettant de résoudre très
166 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
rapidement les relations de récurrence linéaire et homogènes d’ordre 1 (voir le théorème 2.4.4,
page 159). Le prochain résultat (théorème 2.4.9) nous donne une formule permettant de
résoudre très rapidement les relations de récurrences linéaires, homogènes d’ordre 2.
A+B = 0
Ce qui donne √ √
A 1+ 5 + B 1− 5 = 1
2 2
1 −1
En résolvant, on trouve facilement que A = √ et B = √ .
5 5
(3) Le terme général cherché est :
√ !n √ !n
1 1+ 5 −1 1− 5
fn = √ + √ ∀n ∈ N .
5 2 5 2
168 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Exercice 1 :
a) Est-ce que la suite hcn in∈N , définie par le terme général cn = 5n − 6 ∀n ∈ N, est une
suite arithmétique ?
b) Donnez c0 , c1 et c200 .
(
S0 = −6
c) Soit la suite hSn in∈N définie par récurrence par :
Sn = Sn−1 + 5n − 6 ∀n ∈ N∗ .
Montrez (sans utiliser l’induction) que le terme général de la suite hSn in∈N est
(n + 1)(5n − 12)
Sn = ∀n ∈ N .
2
Montrez (sans utiliser l’induction) que le terme général de la suite hdn in∈N est
5 · 23 (1 − 2n+1 )
dn = ∀n ∈ N .
−1
Exercice 3 : Vous placez $1000.00 dans un compte à intérêt composé de 5% par année.
Ainsi, aprés un an il y aura dans votre compte, $1000.00 +(5% de $1000.00 ), c’est-
à-dire, en tout $1050.00 . Aprés deux ans, il y aura dans votre compte, $1050.00 +
(5% de $1050.00 ), etc...
Soit h$n in∈N , la suite qui donne le montant d’argent qu’il a dans votre compte aprés n années.
a) an = 1 + 3 + 5 + 7 + 9 + · · · + (2n + 1) ∀n ∈ N .
(
b0 = −2
b)
bn = bn−1 + 5n − 2 ∀n ∈ N∗ .
(
b0 = 0
c)
bn = bn−1 + n ∀n ∈ N∗ .
d0 = 1
d) d1 = 8
dn = 6 · dn−1 − 9 · dn−2 ∀n ∈ N \ {0, 1} .
c0 = 1
d0 = 1
c) c1 = 4 d) d1 = 1
cn = 4 · cn−1 − 4 · cn−2 ∀n ∈ N \ {0, 1} dn = 4 · dn−1 − 4 · dn−2 ∀n ∈ N \ {0, 1}
170 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Dans cette section nous allons développer une méthode plus générale de résolution de
récurrences, la méthode des séries génératrices.
La série génératrice associée à la suite han in∈N est une fonction G : R −→ R qui est
exprimée comme un polynôme contenant un nombre infini de termes :
G(x) = a0 + a1 x + a2 x2 + a3 x3 + . . . + an xn + . . .
Par exemple, la série génératrice associée à la suite des carrés parfaits correspond à la fonction
C : R −→ R suivante :
C(x) = 0 + 1 x + 4 x2 + 9 x3 + . . . + (n2 ) xn + . . .
Notez que cette récurrence est très simple à résoudre. En effet, nous avons déjà déterminé
à la section 2.4.2 qu’il s’agit d’une suite géométrique de premier terme 1 et de raison 2. Le
théorème 2.4.4 nous a permis d’énoncer directement que le terme général de la suite est :
bn = 1 · 2n ∀n ∈ N .
Dans le texte qui suit, nous nous servons de la suite hbn in∈N comme premier exemple
pour illustrer le fonctionnement de la méthode des séries génératrices. Nous développerons
les outils nécessaires à l’utilisation de cette méthode par la suite.
1 + 2 · x + 22 · x2 + 23 · x3 + . . . + 2n · xn .
2.5. MÉTHODE DES SÉRIES GÉNÉRATRICES 171
Il s’agit de la somme des n + 1 premiers termes de la suite géométrique h1 · (2x)n in∈N , dont
le premier terme est 1 et et la raison est 2x. Par le théorème 2.4.7, on a donc :
1 · (1 − (2x)n+1 )
1 + 2 · x + 22 · x2 + 23 · x3 + . . . + 2n · xn = .
1 − 2x
1
1 + 2 · x + 22 · x2 + 23 · x3 + . . . = . (2.13)
1 − 2x
On constate que la somme infinie “1 + 2·x + 22 ·x2 + 23 ·x3 + . . . ” est en fait une fonction
de x. En effet, pour tout x ∈ −1 1
2
, 2
, cette somme infinie coı̈ncide avec la fonction d’équation
1
f (x) = 1−2x .
1
Précisons que la fonction f (x) = 1−2x est une fonction rationnelle, c’est-à-dire une
fonction qui peut s’exprimer comme le quotient de deux polynômes, les constantes étant ici
vues comme des polynômes de degré 0. Nous disons que la somme infinie “1 + 2·x + 22·x2 +
23 ·x3 + . . . ” est la série de puissances associée à la fonction rationnelle f .
Nous utilisons ce résultat dans la démonstration qui suit afin de trouver le terme général
de la suite hbn in∈N .
Démonstration Terme général de la suite hbn in∈N par la méthode des séries génératrices
1. Fabriquons d’abord la fonction G, correspondant à la série génératrice associée à partir
de la suite hbn in∈N , de la manière suivante :
G(x) = b0 + b1 x + b2 x2 + b3 x3 + · · · + bn xn + · · ·
Remarquons que cette somme infinie est une fonction de x. Cette fonction encode en
quelque sorte la suite hbn in∈N puisque c’est la suite des coefficients de G.
Maintenant, nous allons essayer d’utiliser cette relation de récurrence et nos connais-
sances en algèbre pour arriver à écrire la fonction G sous une forme plus simple.
3. Cette constatation nous permet de déduire le terme général de la suite hbn in∈N ,
puisque :
On a d’une part que
G(x) = b0 + b1 x + b2 x2 + b3 x3 + · · · + bn xn + · · ·
et d’autre part que l l l l l
G(x) = 1 + 2 x + 22 x2 + 23 x3 + · · · + 2 n xn + · · ·
. bn = 2 n ∀n ∈ N.
C.Q.F.D.
Pour trouver le terme général de la suite hbn in∈N , la solution par la méthode des séries
génératrices que nous venons de présenter est bien sûr nettement plus compliquée que la
solution présentée à la section 2.4.2 sur les suites géométriques. Notre nouvelle solution a
cependant l’avantage d’être généralisable à des récurrences que nous ne pouvions résoudre
jusqu’à maintenant.
2.5. MÉTHODE DES SÉRIES GÉNÉRATRICES 173
On peut résumer ainsi la méthode des séries génératrices pour la résolution de récurrences :
∞
X
G(x) = ai x i = a0 + a1 x + a2 x 2 + a3 x 3 + · · · + an x n + · · · (2.14)
i=0
Mais avant de pouvoir efficacement résoudre des récurrences par cette méthode, il nous
faut connaı̂tre plusieurs modèles de séries de puissances et savoir comment on décompose en
fractions partielles.
9. Notez que dans l’équation (2.14), le théorème 2.5.1 et le corolaire 2.5.2, nous exprimons les sommations
à la fois en notation sigma et en extension. Les deux notations sont équivalentes et il appartient à vous
d’adopter celle que vous préférez lorsque vous appliquez la méthode des séries génératrices.
174 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
∞
a X
a: = a bi xi = a + a b x + a b2 x2 + a b3 x3 + · · · + a bn xn + · · ·
1 − bx i=0
∞
a X
b: = (i+1)a bi xi = a + 2a b x + 3a b2 · x2 + · · · + (n+1)a bn xn + · · ·
(1 − bx)2 i=0
∞
ax X
c: = i a bi−1 xi = 0 + a x + 2a b x2 + 3a b2 x3 + · · · + n a bn−1 xn + · · ·
(1 − bx)2 i=0
∞
a X (i+2)(i+1) a bi 2 · 1a 3 · 2ab 4 · 3 a b2 2 5 · 4 a b3 3
d: = xi = + x+ x + x
(1 − bx)3 i=0
2 2 2 2 2
(n + 2)(n + 1) a bn n
+ ··· + x + ···
2
ax + b A B
a: = +
(cx + d)(ex + f ) cx + d ex + f
.h Pourvu que y = cx + d et y = ex + f aient des zéros différents. i
ax + b A B
b: = +
(cx + d)2 cx + d (cx + d)2
ax2 + bx + c A B C
c: = + +
(dx + e)(f x + g)(hx + i) dx + e f x + g hx + i
.h Pourvu que y = dx + e, y = f x + g et y = hx + i aient des zéros tous différents. i
ax2 + bx + c A B C
d: 2
= + 2
+
(dx + e) (f x + g) dx + e (dx + e) fx + g
.h Pourvu que y = dx + e et y = f x + g aient des zéros différents. i
ax2 + bx + c A B C
e: = + +
(dx + e)3 dx + e (dx + e)2 (dx + e)3
Trouvons le terme général d’une suite han in∈N dont la définition par récurrence est la suivante :
(
a0 = 1
an = 3 · an−1 + 4n ∀n ∈ N∗ .
Prenez note que, au cours de la démarche suivante, nous représentons toutes les sommations
par la notation en extension.
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
Alors,
G(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn + · · ·
−3x · G(x) = + −3 · a0 x + −3 · a1 x2 + −3 · a2 x3 + · · · + −3 · an−1 xn + · · ·
1
− 1−4x = −1 + −4x + −(42 )x2 + −(43 )x3 + · · · + −(4n )xn + · · ·
1
G(x) − 3xG(x) − 1−4x = a0 − 1 + 0x + 0x2 + 0x3 + · · · + 0xn + · · ·
1
Ce qui donne G(x) − 3x G(x) − 1−4x = 0 h Car a0 − 1 = 1 − 1 = 0.i
1
Donc, on a G(x)(1 − 3x) = 1−4x
1
Donc, on a G(x) = (1−3x)(1−4x) , ce qui est une forme beaucoup plus simple pour exprimer
la fonction G.
2.5. MÉTHODE DES SÉRIES GÉNÉRATRICES 177
1 A B
G(x) = = + .
(1 − 3x)(1 − 4x) 1 − 3x 1 − 4x
On applique ensuite le théorème 2.5.1-a sur chacune des deux fractions partielles :
G(x) = A + A · 3 x + A · 32 x2 + A · 33 x3 + · · · + A · 3n xn + · · ·
+ B + B · 4 x + B · 42 x2 + B · 43 x3 + · · · + B · 4n xn + · · ·
= (A + B) + (3 A + 4 B) · x + (32 A + 42 B) · x2 + (33 A + 43 B) · x3
+ · · · + (3n A + 4n B) · xn + · · ·
an = 3n A + 4n B .
Il ne nous reste plus qu’à calculer les valeurs des constantes A et B. Par la définition
de la récurrence, nous savons que a0 = 1 et a1 = 3 · a0 + 41 = 7. Donc :
a0 = 3 0 A + 40 B = A + B = 1
⇔ B = 1 − A, (∗)
a1 = 3 1 A + 4 1 B = 3 A + 4 B = 7
⇔ 3A = 7 − 4B , (∗∗)
an = 3n · (−3) + 4n · 4
= −(3n+1 ) + 4n+1 .
Dans l’exemple précédent, nous avons fait le choix d’écrire toutes les sommations en exten-
sion. Nous reprenons maintenant le même exemple en utilisant cette fois-ci la notation sigma
pour représenter les sommations. Notons immédiatement que, bien que les deux méthodes
sont équivalentes, nous jugeons qu’il est plus naturel d’utiliser la notation en extension pour
l’étape 1 (la démarche qui suit est d’ailleurs la seule du document qui utilise la notation sigma
pour cette étape). Par contre, la notation sigma se prête habituellement bien à l’étape 2.
Rappelons que notre objectif est de trouver le terme général de la suite han in∈N dont la
définition par récurrence est :
(
a0 = 1
an = 3 · an−1 + 4n ∀n ∈ N∗ .
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
Alors,
1
G(x) − 3x · G(x) −
1 − 4x
∞
X ∞
X ∞
X
i i
= ai x − 3x ai x − 4i xi .h Définition de G et théorème 2.5.1-a i
i=0 i=0 i=0
" ∞
# " ∞
# " ∞
#
X X X
i i+1 i i
= a0 + ai x − 3ai x − 1+ 4 x .h Arithmétique i
i=1 i=0 i=1
" ∞
# " ∞
# " ∞
#
∞ ∞
X X X
i i i i
X X
= a0 + ai x − 3ai−1 x − 1+ 4 x . Car f (x) = f (x−1) ∀f : N → R
i=1 i=1 i=1 i=0 i=1
∞ h
X i
= a0 − 1 + ai − 3ai−1 − 4i · xi .h Arithmétique i
i=1
1
G(x) =
(1 − 3x)(1 − 4x)
A B
= + .h Théorème 2.5.3-a i
1 − 3x 1 − 4x
∞
X ∞
X
i i
= A·3 x + B · 4i xi .h Théorème 2.5.1-a (2 fois) i
i=0 i=0
X∞ h i
= A · 3i + B · 4i xi . .h Arithmétique i
i=0
Pour les exemples présentés dans le reste de ce document, nous allons préférer la notation
en extension pour effectuer l’étape 1 de la méthode des séries génératrices, car elle permet
d’illustrer clairement l’astuce qui permet aux termes de s’annuler entre eux. Cependant, nous
allons adopter l’écriture en notation sigma pour effectuer la deuxième étape de la méthode
des séries génératrices, car elle est plus concise et tout aussi compréhensible que la notation
en extension.
Avant de faire l’exemple qui suit, nous avons besoin de faire un rappel de certaines
propriétés des polynômes de degré 2. Les propriétés qui suivent sont valides même si les zéros
du polynôme ne sont pas des nombres réels, c’est-à-dire même si b2 − 4ac < 0. Dans ce cas
cependant, les calculs se font dans les nombres complexes.
180 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Pour les calculs que nous aurons à faire dans ce chapitre, la proposition suivante, qui
découle presque directement de la précédente, nous sera très utile.
1 − rx − sx2 = (1 − ρ1 x) (1 − ρ2 x) .
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
Alors,
G(x) = f0 + f1 x + f2 x2 + f3 x3 + · · · + fn xn + · · ·
−x · G(x) = + −f0 x + −f1 x2 + −f2 x3 + · · · + −fn−1 xn + · · ·
2
−x · G(x) = + −f0 x2 + −f1 x3 + · · · + −fn−2 xn + · · ·
x
Donc on a G(x) = .
(1 − ρ1 x) (1 − ρ2 x)
f0 = 0 = A · ρ01 + B · ρ02 = A + B
⇔ B = −A , (♣)
f1 = 1 = A · ρ11 + B · ρ12
= A · ρ1 + (−A) · ρ2 .h Par l’équation ( ♣ ) i
= A · (ρ1 − ρ2 )
1
⇔ A =
ρ1 − ρ2
1
= √ √ .h Définitions de ρ1 et ρ2 i
1+ 5 1− 5
2
− 2
1
= √ , .h Simplifications arithmétiques i
5
1
B = −√ . .h Substitution de la valeur de A dans ( ♣ ) i
5
Conclusion :
1 −1
Le terme général est fn = √ ρn1 + √ ρn2 ∀n ∈ N .
5 5
√ !n √ !n
1 1+ 5 −1 1 − 5
Autrement dit : fn = √ + √ ∀n ∈ N .
5 2 5 2
À la section 2.4.4, nous avons discuté du cas particulier de la famille des récurrences
linéaires et homogènes. Nous avons alors énoncé le théorème 2.4.9 (page 166), qui permet de
calculer facilement le terme général des récurrences linéaires et homogènes d’ordre 2. Nous
présentons maintenant une démonstration de ce théorème utilisant la méthode des séries
génératrices.
2.5. MÉTHODE DES SÉRIES GÉNÉRATRICES 183
On démontre séparément le cas où ρ1 6= ρ2 et le cas où ρ1 = ρ2 . Précisons que les deux cas
sont des applications de la méthode des séries génératrices.
Cas 1 : ρ1 6= ρ2 .
La démonstration pour ce cas est très semblable à la solution de l’exemple de la suite
de Fibonacci (voir page 180).
Étape 1 :
(on exprime la série génératrice sous la forme d’une fonction rationnelle)
• On remarque que : an − r · an−1 − s · an−2 = 0 ∀n ∈ N \ {0, 1} ;
• ce qui en extension donne : a2 − ra1 − sa0 = 0
a3 − ra2 − sa1 = 0
a4 − ra3 − sa2 = 0
etc...
X∞
• Posons G(x) = ai x i = a0 + a1 x + a2 x 2 + a3 x 3 + · · · + an x n + · · · .
i=0
Alors,
G(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn + · · ·
−rx · G(x) = + −ra0 x + −ra1 x + −ra2 x + · · · + −ran−1 xn + · · ·
2 3
2
−sx · G(x) = + −sa0 x2 + −sa1 x3 + · · · + −san−2 xn + · · ·
Donc, on a :
G(x)(1 − rx − sx2 ) = a0 + (a1 − ra0 )x
a0 + (a1 − ra0 )x
⇔ G(x) =
1 − rx − sx2
* Proposition 2.5.5, avec q(x) := 1 − rx − sx2 . +
a0 + (a1 − ra0 )x
= . . Les deux zéros de p(x) = x2 − rx − s étant
(1 − ρ1 x) (1 − ρ2 x)
par hypothèse ρ1 et ρ2 .
Étape 2 : (on trouve la série de puissances associée à G)
a0 + (a1 − ra0 )x
G(x) =
(1 − ρ1 x)(1 − ρ2 x)
A B
= + .h Théorème 2.5.3-a i
1 − ρ1 x 1 − ρ2 x
∞
X ∞
X
i i
= A · (ρ1 ) x + B · (ρ2 )i xi .h Théorème 2.5.1-a (2 fois) i
i=0 i=0
X∞ h i
= A · (ρ1 )i + B · (ρ2 )i xi . .h Arithmétique i
i=0
L’étape 1 est presque identique à celle que nous avons faite pour le cas 1.
On pose d’abord
∞
X
G(x) = ai x i = a0 + a1 x + a2 x 2 + a3 x 3 + · · · + an x n + · · · .
i=0
a0 + (a1 − ra0 )x
G(x) =
(1 − ρ1 x)2
C D
= + .h Théorème 2.5.3-b i
(1 − ρ1 x) (1 − ρ1 x)2
∞ ∞
* +
X X Théorème 2.5.1-a et
= C · (ρ1 )i xi + (i + 1) D · (ρ1 )i xi .
i=0 i=0
théorème 2.5.1-b
X∞ h i
i i
= C · (ρ1 ) + (i + 1) D · (ρ1 ) xi . .h Arithmétique i
i=0
an = A (ρ1 )n + n · B (ρ1 )n ∀n ∈ N .
. h Cas 2 démontré i
.
C.Q.F.D.
186 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Exercice 1 : Exprimez les séries génératrices des suites suivantes sous forme de fonctions
rationnelles :
( (
a0 = 1 b0 = 1
a) b)
an = 2 · an−1 + 3n ∀n ∈ N∗ bn = bn−1 + n ∀n ∈ N∗
c0 = 1
d0 = 1
c) c1 = 1 d) d1 = 1
cn = cn−1 + cn−2 ∀n ∈ N \ {0, 1} dn = 4 · dn−1 − 4 · dn−2 ∀n ∈ N \ {0, 1}
1 x x
a) a(x) = b) b(x) = c) c(x) =
(x + 4)(x + 3) (1 − x)2 (1 + x) (x − 1)(x − 2)(x − 3)
1 − 3x 1 − 3x x2 + 2x + 3
d) d(x) = e) e(x) = f ) f (x) =
1 − 4x + 4x2 (1 − 2x)2 (x − 1)2 (x − 2)
Exercice 4 : Pour chacune des suites définies par récurrence suivantes, résolvez la récurrence
par la méthode des séries génératrices.
(
a0 = 2
a)
an = 3an−1 + 2n ∀n ∈ N∗
(
b0 = 0
b)
bn = bn−1 + n ∀n ∈ N∗
c0 = 1
c) c1 = 8
cn = 6 · cn−1 − 9 · cn−2 + 2n ∀n ∈ N \ {0, 1}
2.6. APPROXIMATION PAR UNE INTÉGRALE 187
La méthode d’approximation par une intégrale présentée dans cette section permet
dans certains cas de calculer une borne inférieure et une borne supérieure d’une suite que ex-
primée sous la forme d’une sommation. Typiquement, on a recours à cette méthode lorsque la
méthode des substitutions à rebours (section 2.2) nous a permis de transformer une définition
par récurrence d’une suite en une somme en notation sigma, mais que nous ne connaissons
aucune propriété qui permet de transformer cette somme en un terme général.
Supposons que le terme général d’une suite han in∈N est exprimé par une somme des valeurs
d’une fonction f évaluée de 0 à n. Autrement dit, an = f (0) + f (1) + f (2) + . . . + f (n) ou,
de manière équivalente :
X n
an = f (i) .
i=0
Afin d’appliquer cette méthode, on doit d’abord s’assurer que f est une fonction non
décroissante ou encore une fonction non croissante sur l’intervalle de valeurs qui nous intéresse.
Une fonction non décroissante sur l’intervalle [a, b] est une fonction qui est croissante ou
constante pour tout x ∈ [a, b]. De même, une fonction non croissante sur l’intervalle [a, b]
est une fonction qui est décroissante ou constante pour tout x ∈ [a, b].
188 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
a: f est non décroissant sur [a, b] ⇔ (∀x, y ∈ [a, b] | x < y ⇒ f (x) ≤ f (y) )
b: f est non croissant sur [a, b] ⇔ (∀x, y ∈ [a, b] | x < y ⇒ f (x) ≥ f (y) )
Le théorème 2.6.2 suivant permet de calculer une borne inférieure et une borne supérieure
d’une sommation. Bien que nous ne démontrons pas ce théorème, la figure 2.3 en donne une
interprétation géométrique qui permet de bien comprendre l’astuce derrière cette méthode.
(a) Borne inférieure d’une sommation. (b) Borne supérieure d’une sommation.
xa+1
Z Z
a
a: k · dx = k·x+C b: x · dx = + C pour a 6= −1
a+1
Z Z
1 c c
c: · dx = ln |x| + C d: · dx = ln |a x + b| + C
x ax + b a
ax
Z Z
x
e: e · dx = e +Cx
f: ax · dx = +C
ln a
Z Z
x
g: ln x · dx = x ln x − x + C h: loga x · dx = x loga x − +C
ln a
Z Z Z
i: f (x) + g(x) · dx = f (x) · dx + g(x) · dx
Z
En notant F = f (x) · dx, l’intégrale selon x de la fonction f (x) sur l’intervalle [a, b] est
donnée par : Z b h ib
f (x) · dx = F (x) = F (b) − F (a) .
a a
4 4
x3 43 (−2)3
64 − (−8)
Z
2 72
Par exemple : x · dx = = − = = = 24 .
−2 3 −2 3 3 3 3
On s’intéresse à la suite hCn in∈N∗ correspondant à la somme nombres cubiques que l’on
définit ainsi : n
X
Cn = i3 = 13 + 23 + 33 + . . . + n3 ∀n ∈ N∗ .
i=1
En supposant que nous ne connaissons pas la règle qui permet de calculer directement le terme
général de cette suite, nous allons utiliser l’approximation par une intégrale pour obtenir une
borne inférieure et une borne supérieure de Cn .
Remarquons d’abord que f (x) = x3 est une fonction non décroissante sur l’intervalle
190 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
x4
Z
x3 · dx = +C.
4
n4 (n + 1)4 − 1
Ainsi, ≤ Cn ≤ ∀n ∈ N∗ .
4 4
À la section 2.2-a, nous avons formulé la définition par récurrence de la suite hhn in∈N , qui
donne le nombre optimal de déplacements nécessaires pour résoudre le problème des tours de
Hanoı̈ (équation (2.8), page 141). Lorsque nous avons appliqué la méthode des substitutions à
rebours à la définition par récurrence de la suite donnant le nombre optimal de déplacements
nécessaires pour résoudre le problème des tours de Hanoı̈ (page 142), nous avons exprimé le
terme hn par une somme :
n−1
X
hn = 2j ∀n ∈ N .
j=0
À la section 2.4.3, nous avons constaté que cette somme correspond à un cas particulier de
récurrence, c’est-à-dire que la suite hhn in∈N est la somme des premiers termes d’une suite
géométrique (équation (2.12), page 165).
Pour les besoins de cet exemple, nous supposons ici que nous n’avons pas connaissance
du cas particulier des sommes de premiers termes de suite géométrique. Dans cette situation,
nous pouvons utiliser la méthode d’approximation par une intégrale pour borner la valeur
des termes de la suite hhn in∈N .
Remarquons d’abord que f (x) = 2x est une fonction non décroissante sur l’intervalle
2.6. APPROXIMATION PAR UNE INTÉGRALE 191
2x
Z
2x · dx = +C.
ln 2
1
2n−1 − 2 2n − 1
Ainsi, ≤ hn ≤ .
ln 2 ln 2
n
X 1 1 1 1 1 1
In = = + + + + ··· + .
i=1
i 1 2 3 4 n
Remarquons que f (0) n’est pas défini (car 01 est indéfini). Pour pouvoir appliquer le
théorème 2.2, réécrivons la définition de hIn in∈N :
n n
X 1 X 1
In = = 1+ .
i=1
i i=2
i
1
Nous appliquons maintenant le 2.2-b. Comme la fonction f (x) = x
est non croissante sur
192 CHAPITRE 2. RELATIONS DÉFINIES PAR RÉCURRENCE
Exercice 1 : En vous inspirant de la figure 2.3 (page 188), illustrez le théorème 2.6.2-b qui
permet de borner une sommation possédant la forme suivante :
b
X
f (i), où f est une fonction non croissante sur l’intervalle [a − 1, b + 1] .
i=a
n
X
b) bn = 5 · i4
i=−2
n
X
c) cn = ik , pour une constante k ∈ N∗ .
i=1
n
X 1
d) dn = .
i=1
i2
n
X
e) en = (i + ln i − 1).
i=1
f) fn = log(n!).
def
Rappels : n! = 1 · 2 · 3 · . . . · n et log(a · b) = log a + log b ∀a, b > 0 Donc,
n−1 n−1
n log(n) − ≤ fn ≤ (n+1) log(n+1) − log(4) − ∀n ∈ N∗ .
ln(10) ln(10)
Exercice 3 : Décrivez une circonstance où la méthode d’approximation par une intégrale
donne la valeur exacte de la sommation. Autrement dit, exprimez une fonction f pour laquelle
les bornes inférieure et supérieure obtenues par le théorème 2.6.2 sont égales à la valeur de
la sommation.
Chapitre 3
Un graphe est une structure mathématique qui contient des sommets, dont certains sont
reliés entre eux par des arêtes. Selon le contexte, les arêtes d’un graphe peuvent posséder
ou non une orientation. Dans ce document, le terme graphe employé seul désigne un graphe
dont les arêtes ne sont pas orientées et le terme digraphe désigne un graphe dont les arêtes
sont orientées. Le terme arc désigne plus spécifiquement une arête orientée d’un digraphe.
194
3.1. ÉLÉMENTS DE BASE 195
Plusieurs problèmes se représentent naturellement par un graphe. Nous n’avons qu’à pen-
ser à une carte géographique (où les villes sont des sommets et les routes sont des arêtes),
un réseau informatique (constitué d’ordinateurs reliés par des câbles optiques), un circuit
électronique (constitué de puces reliées par des circuits imprimés), etc.
La théorie des graphes est aussi utilisée pour représenter beaucoup d’autres problèmes
qui ne s’apparentent pas à un graphe au premier coup d’oeil. Quelques-uns de ces problèmes
sont la création d’horaires, l’assemblage d’un génome humain et la gestion de l’espacement
entre les mots par un traitement de texte afin que toutes les lignes d’un paragraphe soient
justifiées (de longueur pleine).
Cette section présente une série de définitions souvent utilisées en théorie des graphes.
Nous faisons par la suite référence à ces définitions au besoin dans les sections subséquentes.
Les définitions 3.1.1 et 3.1.2 présentent les graphes et les digraphes comme des cas parti-
culiers de relations. Cependant, une relation est, dans la plupart des cas, présentée par une
règle d’association, liant certains éléments de l’ensemble de départ et de l’ensemble d’arrivé.
Généralement, on considère un graphe (ou un digraphe) comme un objet en soi, et on en
étudie la structure. Ainsi, on réfère habituellement explicitement aux sommets et aux arêtes
pour définir un graphe, que ce soit par des ensembles définis en extension ou par un dessin,
tel qu’illustré par la figure 3.1. Les problèmes étudiés par la théorie des graphes ne sont donc
196 CHAPITRE 3. THÉORIE DES GRAPHES
pas les mêmes que ceux étudiés à l’aide des relations. C’est pourquoi la théorie des graphes
est une branche distincte des mathématiques.
Les sommets x et y sont appelés les extrémités de l’arête [x, y ]G et cette arête est dite
une arête incidente au sommet x et au sommet y. De plus les sommets x et y seront dit
adjacents (ou voisins) dans G. Insistons sur le fait que [x, y ]G = [y, x]G .
b : Une chaı̂ne simple de G est une chaı̂ne où chaque arête apparaı̂t au plus une fois.
c : Une chaı̂ne élémentaire de G est une chaı̂ne simple où chaque sommet de G apparaı̂t
au plus une fois, à l’exception des deux extrémités qui peuvent être égales.
d : Étant donnés A, B ⊆ V (G), une AB-chaı̂ne de G est une chaı̂ne dont une extrémité
appartient à A et l’autre à B.
e : Étant donnés x, y ∈ V (G), une xy-chaı̂ne de G est une {x}{y}-chaı̂ne.
Pour simplifier la notation, une chaı̂ne h x1 , [x1 , x2 ], x2 , . . . , xn−1 , [xn−1 , xn ], xn i qui est
simple ou élémentaire pourra être simplement notée h x1 , x2 , x3 , . . . , xn−1 , xn i.
Un chemin simple est un chemin où chaque arc apparaı̂t au plus une fois et un chemin
élémentaire est un chemin simpe où chaque sommet de G apparaı̂t au plus une fois.
La dernière définition s’adapte directement aux digraphes. Ainsi, une composante for-
tement connexe d’un digraphe G est un sous-graphe fortement connexe H de G (voir la
définition 3.1.10-a) qui est maximal. De même, une composante faiblement connexe d’un
digraphe G est un sous-graphe faiblement connexe H de G (voir la définition 3.1.10-b) qui
est maximal.
3.1.6 Arbres
On utilise souvent le mot noeud pour référer aux sommets d’un arbre. De même, il est
parfois naturel de remplacer les arêtes d’un arbre par des arcs (orientés), obtenant ainsi un
digraphe que l’on nomme une arborescence (que l’on peut aussi nommer un arbre enraciné).
Tous les sommets d’une arborescence doivent posséder un seul arc entrant, à l’exception d’un
seul sommet qui ne possède aucun arc entrant. Ce dernier sommet est appelé la racine. Les
sommets de l’arborescence ne possédant aucun arc sortant sont appelés les feuilles. Tous
les sommets possédant au moins un arc sortant (incluant la racine) sont appelés les noeuds
internes.
3.1. ÉLÉMENTS DE BASE 201
3 10
1 6 14
4 7 13
(a) Arbre (b) Arborescence (c) Arbre binaire complet
Figure 3.4 – Les graphes (a) et (c) sont des arbres et le digraphe (b) est une
arborescence. (L’image (b) provient de Wikipédia.)
Définition 3.1.14 Arbres binaires
Un arbre binaire T est un arbre qui contient un sommet de degré 2 et dont tous les autres
sommets sont de degrés 1 ou 3.
def
Mi,j = [si , sj ] ∈ E(G) ∀i, j ∈ {1, 2, . . . , n} .
Les matrices sont l’une des structures de données utilisées en informatique pour représenter
des graphes. Typiquement, on utilise des 1 et des 0 pour représenter les valeurs de vérité vrai
et faux à l’intérieur d’une matrice d’adjacence. À titre d’exemple, voici la matrice d’ajacence
M1 du graphe G1 et la matrice d’adjacence M2 du digraphe G2 :
0 1 0 1
1 0 0 1
M1 =
0
0 0 1
1 1 1 0
0 0 0 0 0
0 1 1 1 0
M2 = 0
0 0 0 1
0 0 0 0 0
0 0 1 1 0
Exercice 1 : Six équipes sont inscrites à un tournoi de Hockey de garage. Dans la première
phase du tournoi, chaque équipe doit affronter toutes les autres une et une seule fois.
Exercice 3 :
a) Sept étudiants vont en vacances. Chacun va envoyer une carte postale à exactement
trois des autres étudiants. Est-ce possible que pour chaque étudiant x, les étudiants
qui écrivent à x soient exactement ceux à qui x a écrit ?
Puisque les graphes et les digraphes sont définis comme des relations (voir les défini-
tions 3.1.1 et 3.1.2 à la page 196), nous pouvons étudier les graphes à la lumière des propriétés
des relations définies au chapitre 1 et des résultats mathématiques associés. Considérant cela,
on constate que l’on possède déjà plusieurs outils pour guider notre analyse des graphes. Cette
section présente quelques exemples qui mettent à profit ce lien entre le graphe (ou le digraphe)
G et la relation dont l’ensemble de départ est V (G) et l’ensemble d’arrivée est V (G).
Les opérateurs sur les relations définis à la section 1.4.3 (page 67) sont aussi applicables
sur des graphes. En fait, les différentes illustrations de cette section présentent toutes des
graphes transformés par l’application de certains opérateurs (voir les figures 1.7, 1.8 et 1.9).
La figure 3.5 illustre le lien entre la composition d’un graphe et le produit matriciel de la
matrice d’adjacence (voir définition 3.1.16, page 201). Rappelons que M × M représente le
produit matriciel entre la matrice M et elle-même.
On a que pour tout graphe (ou digraphe) G de matrice d’adjacence M , il y a une arête
(ou un arc) reliant les sommets si et sj dans G ◦ G si et seulement si l’élément (i, j) de la
matrice M × M est différent de 0. Notons de plus que la valeur de l’élément (i, j) de M × M
206 CHAPITRE 3. THÉORIE DES GRAPHES
1 1 0 0 0 0 1
0 0 1 0 0 0 0
0 0 0 0 0 0 0
M = 0
0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 0
0 0 1 0 0 0 0
1 1 2 0 0 0 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
M ×M =
0 0 0 0 0 1 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
est toujours un nombre entier et indique le nombre de façons qu’on peut joindre le sommet
sj à partir du sommet si en exactement deux étapes.
Examinons maintenant l’opérateur de clôture (voir définition 1.4.11, page 71). Appliqué
sur un digraphe G, l’opérateur de clôture transitive G+ et l’opérateur de clôture tran-
sitive et réflexive G∗ permettent d’obtenir des digraphes dont les sommets sont inchangés
(c’est-à-dire V (G+ ) = V (G∗ ) = V (G)) et les arcs sont donnés par :
où IV (G) est la relation identité (définition 1.4.6), c’est-à-dire le digraphe qui est exactement
composé de tous les arcs hx, xi, pour x ∈ V (G).
3.2. LES GRAPHES EN TANT QUE RELATIONS 207
Intuitivement, deux graphes sont isomorphes lorsqu’ils possèdent la même forme, même
si leurs sommets possèdent des noms différents ou qu’on les représente de manières distinctes.
Pour démontrer que deux graphes (ou digraphes) G1 et G2 sont isomorphes, il suffit de
donner un isomorphisme entre G1 et G2 . Autrement dit, il s’agit de trouver une fonction
bijective f associant chacun des sommets de G1 à un et un seul des sommets de G2 et qui
préserve les arêtes.
a) Calculez G ∪ H, G ∩ H, Gc , H −1 , G ◦ H, G2 et H 2 .
b) Donnez la représentation graphique des digraphes G, H et H 2 .
c) Donnez la matrice d’adjacence des digraphes G, H et H 2 .
d) Dites lesquelles des propriétés suivantes les relations G et H possèdent :
réflexivité, irréflexivité, symétrie, antisymétrie, asymétrie, transitivité, équiva-
lence, totalité, surjectivité, déterminisme, injectivité, fonction partielle, fonc-
tion, fonction bijective, ordre partiel, ordre partiel strict, ordre total.
|E(Kn )| = |E(Kn−1 )| + (n − 1)
(n − 1) · (n − 2)
= + (n − 1) .h Hypothèse d’induction i
2
(n − 1) · (n − 2) + (n − 1) · 2
=
2
n · (n − 1)
= . .h Arithmétique (simplifications) i
2
n · (n − 1)
Conclusion : On a démontré que graphe complet Kn possède arêtes, ∀n ∈
2
210 CHAPITRE 3. THÉORIE DES GRAPHES
N∗ .
.
C.Q.F.D.
|V (G)|
X
degG (xi ) = 2 · E(G) .
i=1
Clairement, si G est connexe alors son degré minimum est ≥ 1 (sauf si G est le graphe
à un seul sommet). Le lemme suivant établit que réciproquement, si le degré minimum est
suffisamment grand, alors G est connexe.
|V (G)| − 1
Si k ≥ alors G est connexe.
2
3.3. DEGRÉS DES SOMMETS ET NOMBRE D’ARÊTES 211
(A) Comme le graphe G n’est pas connexe, il contient au moins 2 composantes connexes.
Comme H est la plus petite, elle contient au plus la moitié des sommets de G. Donc :
|V (G)|
|V (H)| ≤ . (3.1)
2
|V (G)| |V (G)|
Nous avons montré en (A) que |V (H)| ≤ et en (B) que |V (H)| > ,
2 2
ce qui est une contradiction.
.
C.Q.F.D.
212 CHAPITRE 3. THÉORIE DES GRAPHES
3.4 Arbres
Les arbres sont une structure de données souvent utilisée en informatique pour emmaga-
siner de l’information. Cette section présente et démontre quelques propriétés intéressantes
des arbres. Pour bien les comprendre, il est conseillé de reviser la nomenclature propre aux
arbres à la section 3.1.6 (page 200).
Le premier lemme démontré n’a que peu d’intérêt en soi, mais il sera utile lors de la
démonstration du théorème suivant.
Lemme 3.4.1
Un arbre qui contient au moins une arête a au moins deux sommets de degré 1.
C = hx1 , x2 , x3 , . . . , xn i .
Démontrons que les sommets x1 et xn sont des feuilles (autrement dit, des sommets de
degré 1). Pour ce faire, supposons le contraire et cherchons une contradiction.
Supposons que x1 n’est pas une feuille ou xn n’est pas une feuille.
Sans perte de généralité, traitons le cas où x1 n’est pas une feuille
. h Le cas où xn n’est pas une feuille correspond à traiter la chaı̂ne inverse hxn , xn−1 , . . . , x1 i i
Le sommet y doit appartenir à la chaı̂ne C, car sinon la chaı̂ne C ne serait pas de longueur
maximale. . h Puisqu’on obtiendrait une chaı̂ne plus longue en y ajoutant le sommet y. i
Par le principe d’induction (théorème 2.3.2, avec [n0 := 1]), il suffit de démontrer :
P (1) ∧ (∀n ∈ N∗ \{1} | P (n − 1) ⇒ P (n)) .
V (G) ≤ E(G) + 1 .
3 – pour tout x, y ∈ V (T ), il existe (dans T ) une et une seule chaı̂ne élémentaire dont les
extrémités sont x et y ;
4 – T est connexe, mais pour toute arête e ∈ E(T ), le graphe formé des sommets V (T ) et
des arêtes E(T ) \ {e} ne l’est pas ;
5 – T est acyclique, mais pour toute paire de sommets x, y ∈ V (T ) tel que [x, y ] 6∈ E(G),
le graphe formé des sommets V (T ) et des arêtes E(T ) ∪ [x, y ] ne l’est pas.
Les arbres binaires sont une structure de données souvent utilisée en informatique pour
emmagasiner de l’information.
Pour démontrer la proposition 3.4.5, nous allons supposer que nous connaissons la hauteur
de l’arbre T et nous en déduirons les autres quantités. Il sera plus simple de procéder ainsi
que de supposer que nous connaissons le nombre noeuds n. Il suffira d’effectuer de simples
calculs arithmétiques pour retrouver l’énoncé de la proposition.
3.4. ARBRES 215
La suite h F (x) ix∈N est une suite géométrique de premier terme 1 et de raison 2. Le
théorème 2.4.4 nous permet d’énoncer le terme général de la suite : F (x) = 2x ∀x ∈ N .
Ainsi, l’arbre T de hauteur h possède f = 2h feuilles.
(B) Calculons n, le nombre de noeuds de T .
Comme T est un arbre binaire complet, il contient un nombre de noeuds égal à la
somme du nombre de feuilles des arbres binaires complets de hauteur 0 à h. Ainsi :
h
X
n = F (x) .
x=0
La valeur n est donc donnée par la somme des h premiers termes de la suite géométrique
h F (x) ix∈N . Par le théorème 2.4.7, nous obtenons :
1 · (1 − 2h+1 )
n = = 2h+1 − 1 .
1−2
(C) Calculons i, le nombre de noeuds internes de T .
Le nombre de noeuds internes i de T correspond simplement à la différence entre le
nombre de noeuds total n et le nombre de feuilles. Ainsi, on a :
i = n − f = 2h+1 − 1 − 2h = 2h − 1 = f − 1 .
Exercice 2 : Définissons un arbre trinaire comme un arbre qui contient un sommet de degré 3
(la racine) et dont tous les autres sommets sont de degré 1 (les feuilles) ou de degré 4. Comme
pour un arbre binaire, le niveau d’un sommet x d’un arbre trinaire équivaut à la longueur de
l’unique chaı̂ne allant de la racine au sommet x et la hauteur d’un arbre trinaire est égale au
niveau maximal de ses feuilles. Finalement, un arbre trinaire complet est un arbre trinaire
dont toutes les feuilles sont au même niveau.
a) Dessinez trois arbres : un arbre trinaire complet de hauteur 2, un arbre trinaire complet
de hauteur 3 et un arbre trinaire complet de hauteur 4.
b) Donnez l’expression du nombre de feuilles d’un arbre trinaire complet en fonction de
sa hauteur.
c) Donnez l’expression du nombre de noeuds d’un arbre trinaire complet en fonction de
sa hauteur. (Indice : Vous pouvez vous servir du résultat obtenu en (b) et des résultats
présentés à la section 2.4.3 sur les suites des sommes de premiers termes d’une suite.)
Exercice 3 : Un arbre est toujours un graphe biparti. Décrivez une méthode pour créer une
bipartition à partir de n’importe quel arbre (Rappel : les concepts de graphe biparti et de
bipartition ont été introduits par la définition 3.1.3-c).
3.5. GRAPHES PLANAIRES 217
Figure 3.7 – Deux représentations d’un même graphe planaire. Seul le graphe
de droite une représentation planaire. (Version modifiée d’une image provenant de
Wikipédia.)
On désigne par le terme région (ou face) chacun des polygones bornés par les arêtes
d’une représentation planaire. De plus, une représentation planaire (finie) possède une région
qui est non bornée, que l’on nomme la région extérieure (ou face extérieure).
On a donc :
(i) E(H) = E(G0 ) − 1
(ii) V (H) = V (G0 )
(iii) F (H) = F (G0 ) − 1
. h car les deux régions séparées par e dans G0 n’en forment plus qu’une dans H. i
3.5. GRAPHES PLANAIRES 219
Notons que puisque G0 est connexe, H est lui aussi connexe car s’il existe entre deux
sommets un chemin de G0 qui passe par l’arête e, alors (en faisant un détour par les arêtes
E(C) \ {e}) il existe entre ces deux mêmes sommets, un chemin de G0 qui ne passe pas par
e et qui donc est également un chemin de H.
Donc le graphe H est une représentation planaire connexe ; il découle donc de l’item (i) et
de l’équation (3.3) que H satisfait la formule d’Euler.
Donc,
2 = V (H) + F (H) − E(H)
= V (G0 ) + F (G0 ) − 1 − E(G0 ) − 1 .h Voir (i), (ii) et (iii). i
= V (G0 ) + F (G0 ) − E(G0 ) .h Propriétés de l’arithmétique. i
On a donc à la fois que G0 satisfait et ne satisfait pas la formule d’Euler. Ceci est une contra-
diction.
On a donc que
V (G0 ) + F (G0 ) − E(G0 ) = 1 + 1 = 2
Ainsi, dans ce 2ème cas, nous avons également que G0 satisfait et ne satisfait pas la formule
d’Euler.
Encore une fois, donc, nous obtenons une contradiction. .
C.Q.F.D.
E(G) ≤ 3 V (G) − 6 .
220 CHAPITRE 3. THÉORIE DES GRAPHES
2. Chaque arête de G est contenue dans au plus 2 régions de G. .h Voir le lemme 3.5.2. i
Notons par f1 , f2 , . . . , f|F (G)| les régions de G et par mi le nombre d’arêtes contenues dans la
région fi pour i ∈ {1, 2, . . . , |F (G)|}.
Alors, il découle des deux observations que
3F (G) ≤ m1 + m2 + · · · + m|F (G)| ≤ 2E(G)
Par la formule d’Euler, on sait que 2 = V (G) + F (G) − E(G).
.
C.Q.F.D.
3.5. GRAPHES PLANAIRES 221
Alors on a 1
E(G) = (6n6 + 7n7 + 8n8 + · · · + dM ax ndM ax ) (3.5)
2
Par la proposition 3.5.4, on sait que E(G) ≤ 3 V (G) − 6.
1
(6n6 + 7n7 + 8n8 + · · · + dM ax ndM ax ) ≤ 3 (n6 + n7 + n8 + · · · + ndM ax ) − 6
2
C’est-à-dire
C’est-à-dire
L’équation (3.6) nous donne donc qu’un nombre ≥ 0 est plus petit ou égal à −12,
ce qui est une contradiction. .
C.Q.F.D.
222 CHAPITRE 3. THÉORIE DES GRAPHES
Autrement dit, un cycle eulérien d’un graphe G est une séquence de la forme
h x1 , [x1 , x2 ], x2 , [x2 , x3 ], x3 , . . . , xn−1 , [xn−1 , xn ], xn , [xn , x1 ], x1 i,
où chaque arête de E(G) apparaı̂t une et une seule fois.
Un cycle eulérien est une promenade qui passe une et une seule fois par chaque arête du
graphe, la définition suivante est l’analogue “sommet” du cycle eulérien en ce sens qu’il s’agit
d’une promenade qui passe une et une seule fois par chaque sommet.
Autrement dit, un cycle hamiltonien d’un graphe G est une séquence de la forme
h x1 , [x1 , x2 ], x2 , [x2 , x3 ], x3 , . . . , xn−1 , [xn−1 , xn ], xn , [xn , x1 ], x1 i,
où chaque sommet de V (G) apparaı̂t une et une seule fois.
Le Théorème 3.6.8 est une conséquence évidente du lemme 3.3.5 et du résultat suivant.
Graphes valués
Dans le cas où un digraphe représente un réseau de transport, la valeur associée à chaque
arc peut représenter le temps pour se déplacer d’une ville à l’autre, ou encore le coût engendré
par le déplacement.
Algorithme de Dijkstra
L’algorithme de Dijkstra permet de trouver le plus court chemin entre deux sommets
d’un digraphe valué dont les valeurs des arcs sont non-négatives. La première version de cet
algorithme a été publiée en 1959 par l’informaticien hollandais Edsger Dijkstra (1930 – 2002).
2. On utilise parfois les termes graphe pondéré et digraphe pondéré.
3.6. CHAÎNES ET CHEMINS 225
Notez que l’algorithme retourne la longueur totale du plus court chemin entre les sommets
a et z. Si aucun chemin ne relie a et z, l’algorithme retourne une valeur infinie (∞).
.
Tant que |Q| > 0 Faire h Tant qu’il reste des sommets à visiter... i
Si u = z alors
Retourner dist(z) . h On a trouvé la distance minimale de a à z i
Fin Si
.
Pour tout v ∈ N (u) ∩ Q Faire h Mise à jour de la distance des voisins de u i
Si dist(u) + w(hu, vi) < dist(v) alors
dist(v) ← dist(u) + w(hu, vi)
Fin Si
Fin Pour
Fin Tant que
Retourner ∞ . h Aucun chemin trouvé i
226 CHAPITRE 3. THÉORIE DES GRAPHES
Algorithme de Floyd-Warshall
L’algorithme de Dijkstra s’avère une stratégie efficace pour trouver le plus court chemin
entre deux sommets spécifiques dans un graphe. Dans certaines situations, on désire plutôt
connaı̂tre les plus courts chemins entre toutes les paires de sommets dans un graphe. C’est
ce que permet de faire l’algorithme de Floyd-Warshall. Cet algorithme fut présenté en 1962
de manière indépendante par les informaticiens états-uniens Robert W. Floyd (1936 – 2001)
et Stephen Warshall (1935 – 2006). Le même algorithme avait été formulé en 1959 par le
mathématicien français Bernard Roy (1934 – . . . ).
Fin Pour
Fin Pour
Fin Pour
Retourner dist . h Retourne les distances entre toutes les paires de sommets i
Notez que si le digraphe G comporte n sommets numérotés tels que V (G) = {v1 , v2 , . . . , vn },
l’étape d’initialisation est équivalente à créer une matrice de taille n × n. Ainsi, l’algo-
rithme Floyd-Warshall est souvent implanté à l’aide d’une matrice et les boucles de la forme
“Pour tout vi ∈ V (G)” sont remplacées par des boucles “Pour tout i de 1 à n”.
3.6. CHAÎNES ET CHEMINS 227
Exercice 1 : Pour chacun des graphes ci-dessous, dites s’il s’agit d’un graphe
a) eulérien. Si oui, exhibez un cycle eulérien.
b) hamiltonien. Si oui, exhibez un cycle hamiltonien.
Exercice 2 : On veut asseoir cinq couples autour d’une table ronde de telle sorte que pour
chaque deux couples, au moins un des membres du premier couple soit assis à côté d’au moins
un membre du deuxième couple. Est-ce possible ?
Annexe A
Alphabet grec
Documents LATEX
LaTeX (prononcé “la-tek”) est un langage permettant de rédiger des documents de qualité
professionnelle (dont le présent document !). Son utilisation est particulièrement répandue
en informatique et en mathématiques, car il permet d’inclure facilement des expressions
mathématiques au travers du texte, contrairement à plusieurs éditeurs de texte populaires,
tel Microsoft Word. Mais la relative facilité avec laquelle il est possible de créer de très
beaux documents à l’aide de Latex font que cet outil est aussi utilisé dans plusieurs autres
domaines 1 .
Pour la petite histoire, Latex est basé sur le langage TeX, qui a été développé par l’in-
formaticien célèbre Donald Knuth (récipiendaire d’un prix Turing en 1974), au début de la
rédaction de son ouvrage “The Art of Computer Programming”. Voici ce qu’on en dit sur
Wikipédia 2 :
Mécontent de la façon dont étaient imprimés ses livres, [Knuth] consacra plusieurs
années de sa vie, à partir de 1977, pour écrire un logiciel lui permettant d’obtenir
un rendu correct des formules mathématiques pour la typographie professionnelle.
1. Certaines rumeurs veulent que des étudiants au baccalauréat en histoire et en philosophie aient vu leurs
notes augmentées d’au moins 5% depuis qu’ils utilisent Latex pour rédiger leurs dissertations !
2. http://fr.wikipedia.org/wiki/Donald_Knuth, 10 septembre 2011
230
231
[...] Le but de Knuth quand il a créé TeX était d’avoir un langage de description
de contenu permettant d’obtenir un rendu de grande qualité avec un minimum
d’efforts et qui serait indépendant de l’architecture matérielle. Fourni avec ses
sources, TeX est l’un des premiers logiciels libres, ou presque.
Un fichier source Latex n’est qu’un document texte dans lequel on insère différentes
commandes qui seront ensuite traduites lors de la compilation. À l’intérieur d’un para-
graphe, on peut à tout moment entourer une expression de signes de dollar pour invoquer
l’“environnement mathématique”. Par exemple, l’expression “$x^2 + y^2 = z^2$” sera tra-
duite par le compilateur Latex en x2 + y 2 = z 2 . Voici quelques autres exemples d’expressions
mathématiques (l’environnement “itemize” est utilisé pour produire une liste) :
\begin{itemize}
\item $x_1^a \cdot x_2^a = (x_1 \cdot x_2)^a$;
\item $\neg (p \wedge q) \Leftrightarrow \neg p \vee \neg q$;
\item $(S \cup T)^c = S^c \cap T^c$;
\item $A \subseteq B \Leftrightarrow \{ \forall e \ | \ e \in A \Rightarrow e \in B \}$;
\item $\rho \subset \mathbb{N} \times \mathbb{N}^*$.
\end{itemize}
Pour écrire des formules mathématiques sur plusieurs lignes, on peut utiliser un bloc “eqnar-
ray” :
\begin{eqnarray*}
\beta_0 + \sum_{\alpha=1}^n \alpha &=& \beta_0 + 1+2+3 + \ldots + n \\
&=& \beta_0 + \frac{n \cdot (n+1)}{2} \\
&=& \beta_0 + \frac{1}{2} \left( n^2 + n \right) \\
&\leq& \beta_0 + n^2 \ .
\end{eqnarray*}
232 ANNEXE B. DOCUMENTS LATEX
La section suivante présente quelques références grâce auxquelles vous pourrez en ap-
prendre davantage. On vous fournira aussi, sur le site web du cours, quelques documents
sources en exemple.
Références Latex
Il existe beaucoup de sites web de références pour apprendre à utiliser Latex. En voici
quelques-uns :
— Wikibooks (la version française ne semble pas être une traduction directe de la version
anglaise. À vous de choisir la version qui vous convient le mieux !)
— En français : http://fr.wikibooks.org/wiki/LaTeX
— En anglais : http://en.wikibooks.org/wiki/LaTeX
— The Not So Short Introduction to Latex : considéré par plusieurs comme LA référence.
Les explications sont très complètes, peut-être même un peu trop si vous voulez vous
en tenir aux connaissances de base :
— Version originale anglaise : http://mirror.ctan.org/info/lshort/english/lshort.
pdf
— Traduction francaise : http://mirror.ctan.org/info/lshort/french/lshort-fr.
pdf
— Art of Problem Solving (en anglais seulement) : ce site web contient des explications
claires et succinctes pour débuter avec Latex, bien qu’il prend parfois en considération
que vous utilisez l’éditeur TeXnicCenter sous Windows.
http://www.artofproblemsolving.com/Wiki/index.php/LaTeX:About
http://detexify.kirelabs.org/
Pour pouvoir compiler un fichier Latex, il vous faut une distribution contenant les paquets
définissant les commandes et le compilateur Latex. Une fois que vous possédez cela, il est
possible d’écrire votre document à l’aide d’un simple éditeur de texte (tel “notepad” sous
Windows !), pour ensuite le compiler en ligne de commande à l’aide de l’exécutable pdflatex.
Cette méthode de travail est peu conviviale, c’est pourquoi il existe des éditeurs de code
Latex, qui offrent plusieurs raccourcis pour faciliter la rédaction du document source et pour
exécuter les commandes de compilation. Il s’agit exactement de la même logique que lorsque
vous utilisez un environnement de développement pour écrire le code source d’un programme
informatique.
Linux La distribution Latex est “TeX Live” et un éditeur convivial est “Kile”. Nous vous
suggérons aussi d’installer le paquet “texlive-lang-french” pour pouvoir écrire convenablement
les accents et guillemets. Vous pouvez normalement installer ces programmes à partir de la
plupart des gestionnaires de paquet. Sous Ubuntu, la ligne de commande suivante effectuera
tout le travail nécessaire :
— sudo apt-get install texlive texlive-lang-french kile
MacOS La distribution Latex répandue est “TeX Live” et un éditeur communément utilisé
est “TeXShop”. Sur le site de TeXShop, il est possible de télécharger un gros fichier contenant
tout ce que vous pouvez avoir besoin
— http://pages.uoregon.edu/koch/texshop/
234 ANNEXE B. DOCUMENTS LATEX
Étant donné que les fichiers sources d’un document Latex sont des fichiers textes, ils se
prêtent bien à l’utilisation d’un système de versionnage de fichiers, tel SVN (ou encore CVS
ou Git). Cela peut être un bon moyen de travailler en équipe, ou simplement de s’assurer que
vos documents sont conservés en sécurité sur un serveur distant.
Tous les étudiants qui suivent un cours au département d’informatique et de génie logiciel
peuvent demander d’obtenir un dépôt SVN hébergé par les serveurs de la faculté. Il suffit de
remplir un formulaire sur le site web PIXEL (une fois connecté à votre compte PIXEL, allez
dans le menu “Aplications → Logiciels → Création d’un dépôt SVN”).
Références et suggestions de lecture
[1] Cogis, O. et C. Robert, Au-delà des ponts de königsberg théorie des graphes problèmes,
théorèmes, algorithmes, Vuibert, 2003.
[2] Doxiadis, A. et C. H. Papadimitriou, Logicomix : an epic search for truth, Bloomsbury,
2009.
[3] Doxiadis, A. et C. H. Papadimitriou, Logicomix, Vuibert, Paris, 2010, Traduction
française de : Logicomix : an epic search for truth.
[4] Goodaire, E. G. et M. M. Parmenter, Discrete mathematics with graph theory, Prentice
Hall PTR, Upper Saddle River, NJ, USA, 2nd edition, 2001.
[5] Graham, R. L., D. E. Knuth et O. Patashnik, Concrete Mathematics : A Foundation
for Computer Science (2nd Edition), Addison-Wesley Professional, 2nd edition, 1994.
[6] Rosen, K. H., Mathématiques discrètes, Chenelière/McGraw-Hill, Montréal-Toronto,
1998, Traduction de la 3e édition : Discrete Mathematics and its applications.
[7] Velleman, D. J., How to prove it : a structured approach, Cambridge University Press,
2nd edition, 2006.
235
236 RÉFÉRENCES ET SUGGESTIONS DE LECTURE
Section 1.1.6 – Exercices sur l’algèbre booléenne
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p et q, les expressions “¬(p ∨ q)” et “¬p ∧ ¬q” sont équivalentes. .
C.Q.F.D.
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p, q et r, les expressions “(p ∧ q) ∨ r” et “(p ∨ r) ∧ (q ∨ r)” sont équivalentes. .
C.Q.F.D.
Exercice 2 : Démontrez les propriétés de la technique de démonstration par successions
d’équivalences :
a) Deuxième loi de De Morgan (Proposition 1.1.4-b) : ¬(p ∨ q) ⇔ ¬p ∧ ¬q.
NB : Vous pouvez utiliser la Première loi de De Morgan (Proposition 1.1.4-a) et la
propriété de la double négation (Proposition 1.1.5-a).
Réponse : Soit p et q deux expressions booléennes. Démontrons “¬(p ∨ q) ⇔ ¬p ∧
¬q” :
¬(p ∨ q)
⇔ h Prop 1.1.5-a – Double négation, 2 fois i
¬( ¬(¬p) ∨ ¬(¬q) )
⇔ h Prop 1.1.4-a – Première loi de De Morgan, avec [p := (¬p)] et [q := (¬q)] i
¬( ¬(¬p ∧ ¬q) )
⇔ h Prop 1.1.5-a – Double négation, avec [p := (¬p ∧ ¬q)] i
¬p ∧ ¬q
C.Q.F.D.
.
b) Distributivité de la disjonction (Proposition 1.1.7-f) : (p ∧ q) ∨ r ⇔ (p ∨ r) ∧ (q ∨ r).
NB : Vous pouvez utiliser les lois de De Morgan (Proposition 1.1.4), la distributivité
de la conjonction (Proposition 1.1.6-f) et la propriété de la double négation (Proposi-
tion 1.1.5-a).
Réponse : Soit p, q et r des expressions booléennes. Démontrons “(p ∧ q) ∨ r ⇔
(p ∨ r) ∧ (q ∨ r)” :
(p ∧ q) ∨ r
⇔ h Prop 1.1.5-c – Double négation i
¬[¬( (p ∧ q) ∨ r) ]
⇔ h Prop 1.1.4-b – Deuxième loi de De Morgan, avec [p := (p ∧ q)] et [q := r)] i
¬[¬(p ∧ q) ∧ ¬r]
⇔ h Prop 1.1.4-a – Première loi de De Morgan i
¬[(¬p ∨ ¬q) ∧ ¬r]
⇔ h Prop 1.1.6-f – Distributivivité de la conjonction, avec [p := ¬p], [q := ¬q] et [r := ¬r] i
¬[(¬p ∧ ¬r) ∨ (¬q ∧ ¬r)]
⇔ h Prop 1.1.4-b – Deuxième loi de De Morgan, deux fois i
¬[¬(p ∨ r) ∨ ¬(q ∨ r)]
⇔ h Prop 1.1.4-a – Première loi de De Morgan, avec [p := (p ∨ r)] et [q := q ∨ r)] i
¬[¬( (p ∨ r) ∧ (q ∨ r) )]
⇔ h Prop 1.1.5-c – Double négation i
(p ∨ r) ∧ (q ∨ r)
C.Q.F.D.
.
p ∧ ¬p
⇔ h Prop 1.1.5-c – Double négation i
¬(¬p) ∧ ¬p
⇔ h Prop 1.1.4-b – Deuxième loi de De Morgan i
¬(¬p ∨ p)
⇔ h Prop 1.1.7-d – Commutativité de la disjonction i
¬(p ∨ ¬p)
⇔ h Prop 1.1.5-b – Tiers exclu i
¬(vrai)
⇔ h Def 1.1.1 – Définition de la négation i
faux
. C.Q.F.D.
p q pYq
v v f
v f v
f v v
f f f
Écrivez une définition possible de l’opérateur “Y” en utilisant seulement (justifiez brièvement
vos réponses) :
a) L’opérateur de négation “¬”, de disjonction “∨” et de conjonction “∧” ;
Réponse : On se base sur l’observation suivante : “p Y q” est vraie lorsque p et q
sont différents, c’est-à-dire que l’un est vrai et que l’autre est faux. On obtient :
def
p Y q = (p ∧ ¬q) ∨ (¬p ∧ q) .
def
p Y q = ¬(¬p ∨ q) ∨ ¬(p ∨ ¬q) .
¬(p ⇒ q) ∨ ¬(q ⇒ p) .
def
p Y q = ¬(p ⇔ q) .
Exercice 4 : Démontrez chacune des propriétés suivantes à l’aide des deux techniques de
démonstration vues jusqu’à maintenant, c’est-à-dire (i) par une table de vérité et (ii) par une
succession d’équivalences :
a) (¬p ⇔ ¬q) ⇔ (p ⇔ q)
Réponse (i) : Soit p et q deux expressions booléennes.
p q ¬p ¬q (¬p ⇔ ¬q) (p ⇔ q)
v v f f v v
v f f v f f
f v v f f f
f f v v v v
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p et q, les expressions “(¬p ⇔ ¬q)” et “(p ⇔ q)” sont équivalentes. .
C.Q.F.D.
Réponse (ii) : Soit p et q deux expressions booléennes.
p⇔q
⇔ h Def 1.1.3 – Définition du si et seulement si i
(p ⇒ q) ∧ (q ⇒ p)
⇔ h Prop 1.1.8 – Contraposition, 2 fois i
(¬q ⇒ ¬p) ∧ (¬p ⇒ ¬q)
⇔ h Prop 1.1.6-d – Commutativité de la conjonction i
(¬p ⇒ ¬q) ∧ (¬q ⇒ ¬p)
⇔ h Def 1.1.3 – Définition du si et seulement si i
¬p ⇔ ¬q
. C.Q.F.D.
b) (¬p ⇔ q) ⇔ (p ⇔ ¬q)
Réponse (i) :Soit p et q deux expressions booléennes.
p q ¬p ¬q (¬p ⇔ q) (p ⇔ ¬q)
v v f f f f
v f f v v v
f v v f v v
f f v v f f
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p et q, les expressions “(¬p ⇔ q)” et “(p ⇔ ¬q)” sont équivalentes. .
C.Q.F.D.
Réponse (ii) : Soit p et q deux expressions booléennes.
¬p ⇔ q
⇔ h Résultat démontré en (a), avec [p := (¬p)] i
¬(¬p) ⇔ ¬q
⇔ h Prop 1.1.5-a – Double négation i
p ⇔ ¬q
. C.Q.F.D.
c) (¬p ⇔ q) ⇔ ¬(p ⇔ q)
Réponse (i) : Soit p et q deux expressions booléennes.
p q ¬p (¬p ⇔ q) (p ⇔ q) ¬(p ⇔ q)
v v f f v f
v f f v f v
f v v v f v
f f v f v f
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expres-
sions p et q, les expressions “(¬p ⇔ q)” et “¬(p ⇔ q)” sont équivalentes. .
C.Q.F.D.
Réponse (ii) : Soit p et q deux expressions booléennes.
¬p ⇔ q
⇔ h Page 20 des notes de cours – Réécriture du si et seulement si i
(¬p ∧ q) ∨ (¬(¬p) ∧ ¬q)
⇔ h Prop 1.1.5-a – Double négation i
(¬p ∧ ¬(¬q)) ∨ (¬(¬p) ∧ ¬q)
⇔ h Prop 1.1.4-b – Loi de De Morgan, 2 fois i
¬(p ∨ ¬q) ∨ ¬(¬p ∨ q)
⇔ h Prop 1.1.4-a – Loi de De Morgan, avec [p := (p ∨ ¬q)] et [q := (¬p ∨ q)] i
¬( (p ∨ ¬q) ∧ (¬p ∨ q) )
⇔ h Prop 1.1.6-d – Commutativité de la conjonction i
¬( (¬p ∨ q) ∧ (p ∨ ¬q) )
⇔ h Def 1.1.2-b – Définition de l’implication, 2 fois i
¬( (p ⇒ q) ∧ (q ⇒ p) )
⇔ h Def 1.1.3 – Définitions du si et seulement si i
¬( p ⇔ q )
. C.Q.F.D.
d) ( ¬p ⇒ (p ⇒ q) ) ⇔ vrai
Réponse : Soit p et q deux expressions booléennes.
p q ¬p (p ⇒ q) ( ¬p ⇒ (p ⇒ q) )
v v f v v
v f f f v
f v v v v
f f v v v
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p et q, l’expression “( ¬p ⇒ (p ⇒ q) )” s’évalue à vrai. .
C.Q.F.D.
Réponse (ii) : Soit p et q deux expressions booléennes.
¬p ⇒ (p ⇒ q)
⇔ h Def 1.1.2-a – Définition de l’implication i
¬p ⇒ (¬p ∨ q)
⇔ h Def 1.1.2-a – Définition de l’implication, avec [p := ¬p] et [q := (¬p ∨ q)] i
¬(¬p) ∨ ¬p ∨ q
⇔ h Prop 1.1.5-a – Double négation i
p ∨ ¬p ∨ q
⇔ h Prop 1.1.5-b – Tiers exclu i
D ∨q
vrai E
⇔ Prop 1.1.7-b – Élément absorbant
vrai
. C.Q.F.D.
e) (p ⇒ (¬p ⇒ q) ) ⇔ vrai
Réponse (i) :Soit p et q deux expressions booléennes.
p q ¬p (¬p ⇒ q) ( p ⇒ (¬p ⇒ q) )
v v f v v
v f f v v
f v v v v
f f v f v
Pour toutes les combinaisons de valeurs de vérité possibles attribuables aux expressions
p et q, l’expression “( p ⇒ (¬p ⇒ q) )” s’évalue à vrai. .
C.Q.F.D.
p ⇒ (¬p ⇒ q)
⇔ h Prop 1.1.5-a – Double négation i
¬(¬p) ⇒ (¬p ⇒ q)
⇔ h Résultat démontré en (d), avec p := (¬p)] i
vrai
. C.Q.F.D.
f) (p ⇒ faux) ⇔ ¬p
Réponse (i) : Soit p une expression booléenne.
p p ⇒ faux ¬p
v f f
f v v
Pour les deux valeurs de vérité attribuables à l’expression p, les expressions p ⇒ faux
et ¬p sont équivalentes. .
C.Q.F.D.
Réponse (ii) : Soit p une expression booléenne.
p ⇒ faux
⇔ h Def 1.1.2-a – Définition de l’implication i
¬pD∨ faux E
⇔ Prop 1.1.7-a – Élément neutre
¬p
. C.Q.F.D.
Exercice 5 : Déterminez si les instances suivantes du problème SAT sont satisfiables. Pour les
instances satisfiables, fournissez une assignation de variables telle que l’expression booléenne
est vraie. Pour les instances insatisfiables, démontrez votre résultat à l’aide d’une table de
vérité.
a) ψa = (x1 ∨ x2 ) ∧ x3 ∧ (¬x1 ∨ ¬x3 ) ∧ (¬x2 ∨ ¬x3 ).
Réponse : L’instance ψa est insatisfiable, comme le montre la table de vérité suivante :
c c2 c c ψa
z }|1 { z}|{ z }|3 { z }|4 { z }| {
x1 x2 x3 x1 ∨ x2 x3 ¬x1 ∨ ¬x3 ¬x2 ∨ ¬x3 c1 ∧ c2 ∧ c3 ∧ c4
v v v v v f f f
v v f v f v v f
v f v v v f v f
v f f v f v v f
f v v v v v f f
f v f v f v v f
f f v f v v v f
f f f f f v v f
b) ψb = (x1 ∨ x2 ) ∧ x3 ∧ (x1 ∨ ¬x3 ) ∧ (¬x2 ∨ ¬x3 ).
Réponse : L’instance ψb est satisfiable. En effet, l’assignation de variables suivante
satisfait ψb : x1 = vrai, x2 = faux, x3 = vrai .
c c c c c ψc
z }|1 { z }|2 { z }|3 { z }|4 { z }|5 { z }| {
x1 x2 x3 x1 ∨ x2 ¬x1 ∨ x3 x1 ∨ ¬x2 ¬x2 ∨ x3 ¬x1 ∨ ¬x3 c1 ∧ c2 ∧ c3 ∧ c4 ∧ c5
v v v v v v v f f
v v f v f v f v f
v f v v v v v f f
v f f v f v v v f
f v v v v f v v f
f v f v v f f v f
f f v f v v v v f
f f f f v v v v f
Exercice 6 : En utilisant les propriétés que nous avons vues dans cette section, réécrivez les
expression suivantes sous forme normale conjonctive :
a) x1 ⇔ x2
Réponse :
x1 ⇔ x2
⇔ (x1 ⇒ x2 ) ∧ (x2 ⇒ x1 ) h Def 1.1.3 – Définition du si et seulement si i
⇔ (¬x1 ∨ x2 ) ∧ (x1 ∨ ¬x2 ) h Def 1.1.2-a – Définition de l’implication (2 fois) i
b) (x1 ∨ x2 ) ∧ (x3 ∨ x4 )
Réponse : L’expression est déjà sous forme normale conjonctive !
c) (x1 ∧ x2 ) ∨ (x3 ∧ x4 )
Réponse :
(x1*∧ x2 ) ∨ (x3 ∧ x4 ) +
Prop 1.1.7-f – Distributivité de la disjonction, avec [p := x1 ], [q := x2 ]
⇔
et [r := (x3 ∧ x4 )]
[x1 ∨ (x3 ∧ x4 )] ∧ [x2 ∨ (x3 ∧ x4 )]
⇔ h Prop 1.1.7-f – Distributivité de la disjonction (2 fois) i
[(x1 ∨ x3 ) ∧ (x1 ∨ x4 )] ∧ [(x2 ∨ x3 ) ∧ (x2 ∨ x4 )]
⇔ h Priorité des opérateurs i
(x1 ∨ x3 ) ∧ (x1 ∨ x4 ) ∧ (x2 ∨ x3 ) ∧ (x2 ∨ x4 )
d) (x1 ⇒ x2 ) ⇒ ((x3 ⇒ x4 ) ⇒ x5 )
Réponse :
(x1 ⇒ x2 ) ⇒ ((x3 ⇒ x4 ) ⇒ x5 )
⇔ h Def 1.1.2 Définition de l’implication (2 fois) i
¬(x1 ⇒ x2 ) ∨ (¬(x3 ⇒ x4 ) ∨ x5 )
⇔ h Def 1.1.2 Définition de l’implication (2 fois) i
¬(¬x1 ∨ x2 ) ∨ (¬(¬x3 ∨ x4 ) ∨ x5 )
⇔ h Prop 1.1.4-b Deuxième loi de De Morgan (2 fois) i
(¬¬x1 ∧ ¬x2 ) ∨ ((¬¬x3 ∧ ¬x4 ) ∨ x5 )
⇔ h Prop 1.1.5-a Double négation (2 fois) i
(x1 ∧ ¬x2 ) ∨ ((x3 ∧ ¬x4 ) ∨ x5 )
⇔ h Prop 1.1.7-f Distributivité de la disjonction i
(x1 ∧ ¬x2 ) ∨ ((x3 ∨ x5 ) ∧ (¬x4 ∨ x5 ))
⇔ h Prop 1.1.7-f Distributivité de la disjonction i
((x1 ∧ ¬x2 ) ∨ (x3 ∨ x5 )) ∧ ((x1 ∧ ¬x2 ) ∨ (¬x4 ∨ x5 ))
⇔ h Prop 1.1.7-f Distributivité de la disjonction (2 fois) i
((x1 ∨ (x3 ∨ x5 )) ∧ (¬x2 ∨ (x3 ∨ x5 ))) ∧ ((x1 ∨ (¬x4 ∨ x5 )) ∧ (¬x2 ∨ (¬x4 ∨ x5 )))
⇔ h Piorité des opérateurs i
(x1 ∨ x3 ∨ x5 ) ∧ (¬x2 ∨ x3 ∨ x5 ) ∧ (x1 ∨ ¬x4 ∨ x5 ) ∧ (¬x2 ∨ ¬x4 ∨ x5 )
Exercice 7 : Imaginons qu’on vous demande d’écrire un “solveur SAT”, c’est-à-dire un pro-
gramme informatique qui reçoit en entrée une instance du problème SAT (soit une expression
booléenne sous forme normale conjonctive) et détermine si cette instance est satisfiable.
a) Votre programme reçoit en entrée une instance du problème SAT décrite ainsi :
Expliquez, en vos mots ou à l’aide d’un pseudo-code, la procédure que doit employer
votre programme pour vérifier si une instance est satisfiable ou insatisfiable. Inspirez-
vous de la méthode que vous utilisez pour bâtir une table de vérité.
Si aucune des 2n assignations de variables n’a permis d’évaluer à vrai l’ensemble des
m clauses, alors le programme déclare que l’instance est insatisfiable.
¬[ (p ∨ q) ∧ r ⇒ (p ∧ r) ∨ (q ∧ r) ] .
¬[ (p ∨ q) ∧ r ⇒ (p ∧ r) ∨ (q ∧ r) ]
⇔ ¬[ ¬( (p ∨ q) ∧ r ) ∨ (p ∧ r) ∨ (q ∧ r) ] h Def 1.1.2-a – Définition de l’implication i
⇔ ¬¬( (p ∨ q) ∧ r ) ∧ ¬( (p ∧ r) ∨ (q ∧ r) ) h Prop 1.1.4-b – Loi de De Morgan i
⇔ (p ∨ q) ∧ r ∧ ¬( (p ∧ r) ∨ (q ∧ r) ) h Prop 1.1.5-a – Double négation i
⇔ (p ∨ q) ∧ r ∧ ¬(p ∧ r) ∧ ¬(q ∧ r) ) h Prop 1.1.4-a – Loi de De Morgan i
⇔ (p ∨ q) ∧ r ∧ (¬p ∨ ¬r) ∧ (¬q ∨ ¬r) ) h Prop 1.1.4-b – Loi de De Morgan (2 fois) i
Remarquez que l’expression obtenue est la même que l’expression ψa de l’exercice 5a.
On sait donc qu’elle est insatisfiable.
c) Serait-il possible d’utiliser votre programme pour vérifier si une expression booléenne
est toujours vraie ? Si oui, expliquez comment. Sinon, expliquez pourquoi.
Réponse : Oui ! Considérons une expression booléenne A. Pour déterminer si l’expres-
sion A est toujours vraie, il suffit d’exécuter le solveur SAT sur sa négation (c’est-à-dire
¬A).
Si le solveur détermine que l’instance ¬A est insatisfiable, cela signifie qu’il n’existe
pas d’assignation de variables telles que l’expression ¬A est vraie, donc l’expression
¬A est toujours fausse, alors l’expression A est toujours vraie. De même, si le solveur
détermine que l’instance ¬A est satisfiable, cela signifie qu’il existe une assignation de
variables telle que l’expression A est fausse.
Bien sûr, il faut transformer l’instance ¬A sous forme normale conjonctive à l’aide des
définitions et des propriétés des opérateurs booléens avant d’exécuter le solveur SAT.
Exercice 8 : À la page 47 du présent document, la section 1.3 débute par une citation d’une
pièce d’Eugène Ionesco, digne représentant du théâtre de l’absurde. Dans cette citation, un
prétendu logicien affirme : “Tous les chats sont mortels. Socrate est mortel. Donc Socrate est
un chat.”
Réponse : Pour faciliter la tâche, on réécrit d’abord l’affirmation ainsi : “Si Socrate
est un chat, alors il est mortel. Socrate est mortel. Donc Socrate est un chat.” Cette
affirmation est équivalente à :
[ (c ⇒ m) ∧ m ] ⇒ c .
c) À partir de l’expression booléenne trouvée en (b), démontrez à l’aide d’une table de
vérité que l’affirmation du pauvre logicien est fausse ;
Réponse :
c m c⇒m (c ⇒ m) ∧ m [ (c ⇒ m) ∧ m ] ⇒ c
v v v v v
v f f f v
f v v v f
f f v f v
La 3e ligne de la table de vérité montre que l’expression n’est pas vraie dans le cas où
c = faux et m = vrai, c’est-à-dire si on pose comme hypothèse “Socrate n’est pas un
chat” et “Socrate est mortel”.
d) Suggérez une modification à l’affirmation du dénommé logicien afin qu’elle soit tou-
jours vraie.
Réponse : On peut imaginer plusieurs solutions, notamment :
— “Tous les chats, et seulement les chats, sont mortels. Socrate est mortel. Donc
Socrate est un chat.” :
[ (c ⇔ m) ∧ m ] ⇒ c .
— “Tous les chats sont mortels. Socrate est un chat. Donc Socrate est mortel.” :
[ (c ⇒ m) ∧ c ] ⇒ m .
— “Tous les mortels sont des chats. Socrate est mortel. Donc Socrate est un chat.” :
[ (m ⇒ c) ∧ m ] ⇒ c .
Ces affirmations peuvent sembler farfelues, mais il s’agit d’expressions booléennes va-
lides, puisqu’elles sont toujours évaluées à vrai pour toutes les valeurs des expressions
c et m. Par exemple, la dernière affirmation nous dit que si on accepte les hypothèses
que “tous les mortels sont des chats” et que “Socrate est mortel”, alors on peut
conclure que “Socrate est un chat”.
Section 1.2.7 – Exercices sur les ensembles
b) l’ensemble des entiers strictement positifs divisibles par 3 et plus petits que 4 ;
Réponse 1 : {i ∈ N | 0 < i < 4 ∧ i % 3 = 0}
Note : L’opérateur modulo “ % ” correspond au reste de la division entière. Pour a ∈ Z
def
et b ∈ Z \ {0}, nous avons : a % b = a − b · ab
b) {x ∈ N∗ | 0 < x ∧ x % 2 = 0} ;
Réponse : Même réponse qu’en a)
c) {p | q ∈ Z ∧ r = 2 ∧ p > 0 ∧ p = q · r} ;
Réponse : Même réponse qu’en a)
d) {z ∈ N∗ | (∃y ∈ Z | 2y = z)} ;
Réponse : Même réponse qu’en a)
Exercice 3 :
{x | y ∈ N ∧ z ∈ {2, 3} ∧ x = y z }
Réponse : L’ensemble des entiers positifs qui sont des carrés ou cubes. En extension :
a) P(C) ;
Réponse :
( )
∅, {rouge}, {vert}, {bleu}, {rouge, vert}, {rouge, bleu},
P(C) =
{vert, bleu}, {rouge, vert, bleu}
b) P(C) ∩ ∅ ;
Réponse : P(C) ∩ ∅ = ∅
c) P(C) ∩ P(∅) ;
Réponse : P(C) ∩ P(∅) = P(C) ∩ {∅} = {∅}
Les diagrammes de Venn obtenus montrent que les éléments appartenant à ‘(S c )c ”
sont les mêmes que les éléments appartenant à l’ensemble “S”.
.
C.Q.F.D.
Démontrons donc “e ∈ (S c )c ⇔ e ∈ S” :
Soit e, un élément quelconque.
e ∈ (S c )c
⇔ h Prop 1.2.11-a – Complément, avec [S := S c ] i
¬(e ∈ S c )
⇔ h Prop 1.2.11-a – Complément i
¬¬(e ∈ S)
⇔ h Prop 1.1.5-a – Double négation i
e∈S
C.Q.F.D.
b) Deuxième loi de De Morgan appliquée aux ensembles (Proposition 1.2.6-b) :
(S ∪ T )c = S c ∩ T c ;
Réponse (i) : Soit S et T deux ensembles. Démontrons la deuxième loi de De Margan
à l’aide de diagrammes de Venn. Considérons la représentation suivante des ensembles
S et T :
c
=
S∪T (S ∪ T )c
∩ =
Sc Tc Sc ∩ T c
Les diagrammes de Venn obtenus montrent bien que les éléments appartenant à
“(S ∪ T )c ” sont les mêmes que les éléments appartenant à l’ensemble “S c ∩ T c ”. .
C.Q.F.D.
Réponse (ii) : Soit S et T deux ensembles. Par l’axiome d’extensionnalité (définition 1.2.1,
avec [S := (S ∪ T )c ] et [T := S c ∩ T c ]), l’expression à démontrée est équivalente à :
(∀e | e ∈ (S ∪ T )c ⇔ e ∈ S c ∩ T c ) .
Démontrons donc “e ∈ (S ∪ T )c ⇔ e ∈ S c ∩ T c ” :
Soit e, un élément quelconque.
e ∈ (S ∪ T )c
⇔ h Prop 1.2.11-a – Complément i
¬(e ∈ (S ∪ T ))
⇔ h Prop 1.2.11-c – Union i
¬(e ∈ S ∨ e ∈ T )
⇔ h Prop 1.1.4-b – De Morgan, avec [p := (e ∈ S)] et [q := (e ∈ T )] i
¬(e ∈ S) ∧ ¬(e ∈ T )
⇔ h Prop 1.2.11-a – Complément, 2 fois i
e ∈ Sc ∧ e ∈ T c
⇔ h Prop 1.2.11-b – Intersection i
e ∈ Sc ∩ T c
C.Q.F.D.
\ =
S T S\T
Bâtissons ensuite l’ensemble “S ∩ T c ” :
∩ =
S Tc S ∩ Tc
Les diagrammes de Venn obtenus montrent bien que les éléments appartenant à “S\T ”
sont les mêmes que les éléments appartenant à l’ensemble “S ∩ T c ”. .
C.Q.F.D.
Réponse (ii) : Soit S et T deux ensembles. Par l’axiome d’extensionnalité, l’expres-
sion à démontrée est équivalente à :
(∀e | e ∈ S \ T ⇔ e ∈ S ∩ T c ) .
Démontrons donc “e ∈ S \ T ⇔ e ∈ S ∩ T c ” :
Soit un élément e quelconque.
e∈S\T
⇔ h Prop 1.2.11-d – Différence i
e ∈ S ∧ ¬(e ∈ T )
⇔ h Prop 1.2.11-a – Complément i
e ∈ S ∧ e ∈ Tc
⇔ h Prop 1.2.11-b – Intersection i
e ∈ S ∩ Tc
C.Q.F.D.
U
\ U
= U
S T ∪U S \ (T ∪ U )
Bâtissons ensuite l’ensemble “(S \ T ) ∩ (S \ U )” :
U
∩ U
= U
S\T S\U (S \ T ) ∩ (S \ U )
Les diagrammes de Venn obtenus montrent que les éléments appartenant à “S\(T ∪U )”
sont les mêmes que les éléments appartenant à l’ensemble “(S \ T ) ∩ (S \ U )”.
.
C.Q.F.D.
Réponse (ii) – Voici deux démonstrations possibles :
Démonstration 1 (Par l’axiome d’extensionnalité et les propriétés de l’algèbre booléenne) :
Soit S et T et U des ensembles. Par l’axiome d’extensionnalité (définition 1.2.1, avec
[S := S \(T ∪U )] et [T := (S \T )∩(S \U )]), l’expression à démontrée est équivalente à :
(∀e | e ∈ S \ (T ∪ U ) ⇔ e ∈ (S \ T ) ∩ (S \ U ) ) .
Démontrons donc “e ∈ S \ (T ∪ U ) ⇔ e ∈ (S \ T ) ∩ (S \ U )” :
Soit e, un élément quelconque. On a :
e ∈ S \ (T ∪ U )
⇔ h Prop 1.2.11-d – Différence, avec [T := T ∪ U ] i
e ∈ S ∧ ¬(e ∈ T ∪ U )
⇔ h Prop 1.2.11-c – Union i
e ∈ S ∧ ¬(e ∈ T ∨ e ∈ U )
⇔ h Prop 1.1.4-b – De Morgan, avec [p := e ∈ T ] et [q := e ∈ U ] i
e ∈ S ∧ ¬(e ∈ T ) ∧ ¬(e ∈ U )
⇔ h Prop 1.1.6-c – Idempotence, avec [p := e ∈ S] i
e ∈ S ∧ e ∈ S ∧ ¬(e ∈ T ) ∧ ¬(e ∈ U )
⇔ h Prop 1.1.6-d – Commutativité i
e ∈ S ∧ ¬(e ∈ T ) ∧ e ∈ S ∧ ¬(e ∈ U )
⇔ h Prop 1.2.11-d – Différence, 2 fois i
e ∈ (S \ T ) ∧ e ∈ (S \ U )
⇔ h Prop 1.2.11-b – Intersection i
e ∈ (S \ T ) ∩ (S \ U ) C.Q.F.D.
Démonstration 2 (Utilisant directement les propriétés ensemblistes) :
Soit S et T des ensembles.
S \ (T ∪ U )
= h Prop 1.2.10-b – Réécriture de la différence i
S ∩ (T ∪ U )c
= h Prop 1.2.6-b – De Morgan i
S ∩ T c ∩ Uc
= h Prop 1.2.8-c – Idempotence i
S ∩ S ∩ T c ∩ Uc
= h Prop 1.2.8-d – Commutativité i
S ∩ T c ∩ S ∩ Uc
= h Prop 1.2.10-b – Réécriture de la différence, 2 fois i
(S \ T ) ∩ (S \ U )
C.Q.F.D.
Section 1.3.9 –
Exercices sur les techniques de démonstrations
Important : Pour cette série d’exercices, vous devez écrire vos démonstrations sous la forme
d’un texte français, similairement aux démonstrations présentées tout au long de la sec-
tion 1.3. Nous vous encourageons cependant à vous former une intuition en utilisant les
diagrammes de Venn.
a) De Morgan : (S ∩ T )c = S c ∪ T c
Réponse (utilisant l’antisymétrie de l’inclusion) :
Soit S et T des ensembles. Utilisons l’antisymétrie de l’inclusion (??) et démontrons
à tour de rôle (S ∩ T )c ⊆ S c ∪ T c et (S ∩ T )c ⊇ S c ∪ T c .
Donc e ∈/ T.
Donc e ∈/ S ∩ T.
Ce qui est équivalent à e ∈ (S ∩ T )c . . h 2e cas démontré i
L’inclusion inverse est démontrée. .
C.Q.F.D.
b) De Morgan : (S ∪ T )c = S c ∩ T c
Réponse (utilisant l’axiome d’extensionnalité) :
Soit S et T des ensembles et soit un élément e quelconque. Par l’axiome d’extension-
nalité (?), nous allons démontrer (S ∪ T )c = S c ∩ T c en démontrant
e ∈ (S ∪ T )c ⇔ e ∈ S c ∩ T c .
(∀e | e ∈ S ∩ T ⇒ e ∈ T ) .
Soit e ∈ S ∩ T . . h On veut e ∈ T i
Alors e ∈ S et e ∈ T , . h Par la définition de l’intersection i
On a donc e ∈ T comme désiré. .
C.Q.F.D.
b) S \ T ⊆ S.
Réponse : Selon la définition de l’inclusion, il faut démontrer :
(∀e | e ∈ S \ T ⇒ e ∈ S) .
Soit e ∈ S \ T . . h On veut e ∈ S i
Alors e ∈ S et e ∈ / T, . h Par la définition de la différence entre deux ensembles i
On a donc e ∈ S comme désiré. .
C.Q.F.D.
c) Transitivité de ⊆ : S ⊆ T ∧ T ⊆ U ⇒ S ⊆ U ;
Réponse :
Supposons (∗) S ⊆ T et (∗∗) T ⊆ U , et montrons S ⊆ U , c’est-à-dire :
(∀e | e ∈ S ⇒ e ∈ U ) .
⊇ : Soit x ∈ S . h Montrons x ∈ S ∩ T i
Comme S ⊆ T , on a que x ∈ T . h Par l’hypothèse (♥) i
Puisque x ∈ S et x ∈ T , on a x ∈ S ∩ T . h Inclusion inverse démontrée i
On a montré S ∩ T ⊆ S et S ∩ T ⊇ S, donc S ∩ T = S. .h Implication démontrée i
⊇ : Soit x ∈ T . h Montrons x ∈ S ∪ T i
Peu importe S, On a nécessairement x ∈ S ∪ T . h S ∪ T ⊇ T démontré i
Exercice 1 : (Vous pouvez faire cet exercice en représentant vos relations par des graphes.)
Étant données les trois relations ρ, σ, θ ⊆ {1, 2, 3, 4} × {1, 2, 3, 4} suivantes :
— ρ = {h1, 2i, h2, 3i, h3, 4i, h4, 1i}
— σ = {h1, 1i, h1, 2i, h1, 3i, h1, 4i, h2, 1i, h3, 1i, h4, 1i}
— θ = {hx, yi | x ≤ y}
1. Calculez ρ ◦ σ, ρ2 , θc et θ−1 .
2. Déterminez la (ou les) propriété(s) que la relation ρ satisfait parmi les suivantes :
(a) réflexivité (b) irréflexivité (c) symétrie
(d) antisymétrie (e) asymétrie (f) transitivité
3. Même question pour la relation σ.
4. Même question pour la relation θ.
5. Existe-t-il un n pour lequel ρn = {1, 2, 3, 4} × {1, 2, 3, 4} ? Si oui, trouvez le plus petit
de ces n.
6. Même question pour la relation σ.
7. Même question pour la relation θ.
Réponses :
1. ρ ◦ σ = {h1, 1i, h2, 1i, h3, 1i, h4, 1i, h4, 2i, h4, 3i, h4, 4i}
ρ2 = {h1, 3i, h3, 1i, h2, 4i, h4, 2i}
θc = {hx, yi | x > y}
−1
θ = {hy, xi | x ≤ y} ou {hx, yi | x ≥ y}
2. (b), (d) et (e). 3. (c). 4. (a), (d) et (f)
5. NON. 6. OUI, n = 2. 7. NON.
a) Donnez ρ2 , θc et θ−1 .
b) Déterminez la (ou les) propriété(s) que la relation ρ satisfait parmi les suivantes :
(a) réflexivité (b) irréflexivité (c) symétrie
(d) antisymétrie (e) asymétrie (f) transitivité
c) Même question pour la relation θ.
Réponses :
a) ρ2 = {hi, ji ∈ Z2 | i + 2 = j}
θc = {hx, yi | (∃z ∈ Z | 2z + 1 = x − y)}
θ−1 = θ
b) (b)irréflexivité, (d)antisymétrie et (e)asymétrie.
c) (a)réflexivité, (c)symétrie et (f)transitivité.
Exercice 3 : Quelles propriétés du numéro 2b) ci-haut les relations suivantes possèdent-elles ?
a) b ρ c ssi b et c sont des entiers tous deux négatifs ou tous deux positifs.
b) b ρ c ssi b et c sont des entiers tels que b − c est un multiple de 5.
c) ∅, où ∅ est une relation sur un ensemble non vide B.
d) IB , la relation identité sur un ensemble non vide B.
e) B × B où B est un ensemble non vide contenant au moins deux éléments.
f) = sur Z.
g) < sur Z.
h) ≤ sur Z.
i) b ρ c ssi b est le pére de c.
j) b ρ c ssi b est le pére de c ou vice-versa.
k) b ρ c ssi b est c ou le pére de c.
Réponses :
réflexivité irréflexivité symétrie antisymétrie asymétrie transitivité
a) x x x
b) x x x
c) x x x x x
d) x x x x
e) x x x
f) x x x x
g) x x x x
h) x x x
i) x x x
j) x x
k) x x
Exercice 4 : Démontrez la définition équivalente de l’antisymétrie (Proposition 1.4.15-e) :
(∀a, b ∈ S | a ρ b ∧ b ρ a ⇒ a = b) ⇔ ρ ∩ ρ−1 ⊆ IS .
Réponses : On peut faire les démonstrations de chaque direction. Ça donne ceci :
⇒ : Supposons (∀a, b ∈ S | a ρ b ∧ b ρ a ⇒ a = b) (♥) . h on veut ρ ∩ ρ−1 ⊆ IS i i
Soit ha, bi ∈ ρ ∩ ρ−1 . Voir note a . . h on veut ha, bi ∈ IS i i
Donc ha, bi ∈ ρ et ha, bi ∈ ρ−1 . h Def de ∩ i
Donc ha, bi ∈ ρ et hb, ai ∈ ρ . h Def de ρ−1 i
Donc a = b . h Par hyp. (♥) i
Donc ha, bi ∈ IS . h Def de IS i i
⇒ est démontré
a. Puisqu’on a affaire à des ensembles, pourquoi ne dit-on pas : soit x ∈ ρ ∩ ρ−1 ? En fait on aurait
pu, mais on voit que ρ est en fait une relation et qu’on a besoin d’utiliser ce fait ; dans ce cas, plus
loin, on aurait été obligé de dire donc x = ha, bi pour un a et un b pour pouvoir continuer. Ça revient
au même, au sauve une étape.
Toutefois en regardant la démonstration on réalise que les arguments sont exactement les
mêmes dans les 2 directions. La démonstration suivante est moins longue et équivalente. Les
deux démonstrations sont acceptables.
(∀a, b ∈ S | a ρ b ∧ b ρ a ⇒ a = b)
⇔ (∀a, b ∈ S | ha, bi ∈ ρ ∧ hb, ai ∈ ρ ⇒ a = b) . h réécriture i
−1
⇔ (∀a, b ∈ S | ha, bi ∈ ρ ∧ ha, bi ∈ ρ ⇒ a = b) . h Def de ρ−1 i
⇔ (∀a, b ∈ S | ha, bi ∈ ρ ∩ ρ−1 ⇒ a = b) . h Def de ∩ i
−1
⇔ (∀a, b ∈ S | ha, bi ∈ ρ ∩ ρ ⇒ ha, bi ∈ IS ) . h Def de IS i
−1
⇔ ρ ∩ ρ ⊆ IS . .
C.Q.F.D.
Exercice 5 : (Pour cet exercice, aucune réponse n’a à être justifiée.) Dites si chacune des
relations suivantes est (i) déterministe, (ii) totale, (iii) injective, (iv) surjective, (v) une fonc-
tion, (vi) une fonction injective, (vii) une fonction surjective ou (viii) une fonction bijective.
a) ρ = {hi, ji ∈ R2 | i + 1 = j} ;
Réponse : ρ est une fonction (c.-à-d. : une relation déterministe et totale) qui est
bijective (c.-à-d. : injective et surjective).
b) σ = {hi, ji ∈ N2 | i + 1 = j} ;
Réponse : σ est une fonction (c.-à-d. : une relation déterministe et totale) qui est
injective, mais pas surjective (et donc pas bijective).
c) θ = {hi, ji ∈ N2 | i − 1 = j} ;
Réponse : θ est une relation déterministe, mais pas totale (ρ n’est donc pas une
fonction) qui est bijective (c.-à-d. : injective et surjective).
h i
(1) – pour ρ (Intuitivement, ρ semble être une relation déterministe.)
Démontrons donc que (∀a, b, b0 ∈ N | a ρ b ∧ a ρ b0 ⇒ b = b0 ).
Soit a, b, b0 ∈ N. Supposons que a ρ b et a ρ b0 . . h et montrons que b = b0 . i
Comme a ρ b, alors par la définition de ρ, on a b = a + 1.
Comme a ρ b0 , alors par la définition de ρ, on a b0 = a + 1.
Donc, par la transitivité de =, on a b = b0 ..
C.Q.F.D.
ρ est donc une relation totale et comme elle est aussi déterministe (Voir [(1)– pour
ρ]), ρ est donc une fonction.
h i
(3) – pour ρ (On a déjà montré en (1) et (2) que ρ est une fonction, et intuitivement,
elle semble être injective.)
Comme ρ est une fonction, nous allons démontrer : (∀x, x0 ∈ N | ρ(x) = ρ(x0 ) ⇒ x =
x0 ).
Soit x, x0 ∈ N et supposons que ρ(x) = ρ(x0 ). . h Montrons x = x0 i
Alors on a x + 1 = x0 + 1. . h Définition de ρ. i
Alors on a x + 1 − 1 = x0 + 1 − 1. . h Propriété de l’arithmétique. i
Alors on a x = x0 . . h Propriété de l’arithmétique. i
.
C.Q.F.D.
h i
(1) – pour θ (Intuitivement, θ semble ne pas être une relation déterministe.)
Nous devons donc démontrer que ¬(∀a, b, b0 ∈ Z | a θ b ∧ a θ b0 ⇒ b = b0 )
Ce qui est équivalent à démontrer (∃a, b, b0 ∈ Z | ¬(a θ b ∧ a θ b0 ⇒ b = b0 )).
. h De Morgan. i
Ce qui est équivalent à démontrer (∃a, b, b0 ∈ Z | ¬(¬(a θ b ∧ a θ b0 ) ∨ b = b0 )).
. h Définition de ⇒. i
Ce qui est équivalent à démontrer (∃a, b, b0 ∈ Z | ¬¬(a θ b ∧ a θ b0 ) ∧ ¬(b = b0 )).
. h De Morgan. i
Ce qui est équivalent à démontrer (∃a, b, b0 ∈ Z | a θ b ∧ a θ b0 ∧ b 6= b0 ). .h Réécriture i
Démontrons donc que (∃a, b, b0 ∈ Z | a θ b ∧ a θ b0 ∧ b 6= b0 ).
Soit a = 2, b = 4, b0 = 6 . h Clairement, de tels a, b et b0 existent et appartiennent à Z. i
Alors on a bien que a θ b. .h Car 2 × −1 = 2 − 4, et -1 appartient à Z– Définition de θ. i
Et que a θ b0 . . h Car 2 × −2 = 2 − 6, et -2 appartient à Z– Définition de θ. i
Et que b 6= b0 . . h Car 4 6= 6. i
.
C.Q.F.D.
h i
(5) – pour f Comme f est une fonction injective et surjective, elle est donc une fonc-
tion bijective.
h i
(1), (2) et (3) – pour g De façon très similaire à ce qui a été fait pour f , on peut
montrer que g est une fonction injective.
h i
(4) – pour g (Intuitivement g semble ne pas être surjective, car ni 0, ni 1, ni 2 ne
semblent faire partie de l’image de g.)
Comme g est une fonction de N vers N, nous devons donc démontrer :
¬(∀y ∈ N | (∃x ∈ N | g(x) = y)) .
Solution de la question (B) : Seule f est une fonction bijective. Nous présentons deux
solutions possibles.
• Solution 1 : Par le corrolaire 1.4.21-d, comme f est une fonction bijective, on sait
que f −1 est aussi une fonction. On calcule l’ensemble f −1 à partir de la définition
d’une relation inverse :
f −1 = {hy, xi | hx, yi ∈ f }. . h Définition 1.4.12 i
−1
C’est-à-dire que f = {hf (x), xi | hx, f (x)i ∈ f }. . h Car f est une fonction. i
C’est-à-dire que f −1 = {hx + 3, xi | x ∈ Z}. . h Définition de f i
C’est-à-dire que f −1 = {h(y − 3) + 3, (y − 3)i | (y − 3) ∈ Z}. . h On pose y := x + 3 i
C’est-à-dire que f −1 = {hy, y − 3i | (y − 3) ∈ Z}. . h Propriété de l’arithmétique. i
−1
C’est-à-dire que f = {hy, y − 3i | y ∈ Z}.
. h Car (y − 3) ∈ Z ⇔ y ∈ Z – propriété de l’arithmétique. i
Réponse : La fonction inverse de f est f −1 = {hy, y − 3i | y ∈ Z}.
• Solution 2 : Soit k : Z −→ Z, défini par la règle de correspondance k(x) = x − 3.
Démontrons que k est la fonction inverse de f . Par le théorème 1.4.22, il suffit de
démontrer f ◦ k = IZ et k ◦ f = IZ
A. f ◦ k = IZ
Il faut ici démontrer que (∀x ∈ Z | (f ◦ k)(x) = IZ (x)).
Autrement dit, démontrons que (∀x ∈ Z | (f ◦ k)(x) = x). . h Définition de IZ i
Soit x ∈ Z. . h On veut (f ◦ k)(x) = x i
On a donc (f ◦ k)(x) = k(f (x)) = k(x + 3) = (x + 3) − 3 = x.
B. k ◦ f = IZ
Il faut ici démontrer que (∀y ∈ Z | (k ◦ f )(y) = IZ (y)).
Autrement dit, démontrons que (∀y ∈ Z | (k ◦ f )(y) = y). . h Définition de IZ i
Soit y ∈ Z. . h On veut (k ◦ f )(y) = y i
On a donc k ◦ f (y) = f (k(y)) = f (y − 3) = (y − 3) + 3 = y.
Exercice 8 :
a) Vous venez de démontrer qu’un élément quelconque d’un ensemble X est aussi élément
d’un ensemble Y. Écrivez la phrase logique que vous venez de démontrer.
Réponse : X ⊆ Y .
(A) Démontrez que la composition de deux fonctions est encore une fonction
Démonstration Soit deux fonctions f et g.
. h On veut démontrer que f ◦ g est une fonction i
Comme f et g sont des fonctions, elles sont des relations totales et déterministes.
Par le théorème 1.4.18-a f ◦ g est donc totale.
Par le théorème 1.4.18-b, f ◦ g est donc déterministe.
Donc f ◦ g est une fonction..
C.Q.F.D.
Démonstration
En supposant
: (?) (∀x, x0 ∈ Z | x < x0 ⇒ f (x) > f (x0 ))
et : (??) (∀y, y 0 ∈ Z | y < y 0 ⇒ g(y) > g(y 0 ))
Nous allons démontrer : (∀x, x0 ∈ Z | x < x0 ⇒ f ◦ g(x) < f ◦ g(x0 ))
Démonstration
En supposant
: (?) (∀x, x0 ∈ Z | x < x0 ⇒ f (x) < f (x0 ))
et : (??) (∀y, y 0 ∈ Z | y < y 0 ⇒ g(y) < g(y 0 ))
Nous allons démontrer : (∀x, x0 ∈ Z | x < x0 ⇒ f ◦ g(x) < f ◦ g(x0 ))
Exercice 11 : (Pour fin de réflexion et de discussions) Une charrue enlève la neige le long
d’une route qui s’étend jusqu’à l’infini. Tout au long de la route, il y a 15cm de neige. La
pelle de la charrue laisse écouler un quinzième de la neige qui entre dans sa pelle (c.-à-d. :
1cm de neige sur les 15). Supposant que la pelle a une capacité infinie et que les flocons
qu’elle laisse écouler sortent selon un principe “premier entré, premier sorti”, quelle quantité
de neige restera dans la pelle une fois le travail terminé ?
Exercice 12 : (Pour fin de réflexion et de discussions) Vous avez deux ensembles infinis,
comment savoir lequel des deux a le plus grand nombre d’éléments ?
Section 1.5.7 – Exercices sur les ensembles infinis
Exercice 1 :
Montrez que les ensembles suivants sont infinis dénombrables (c.-à-d. : qu’ils ont la même
cardinalité que N). Pour ce numéro, vous pouvez, tout comme dans les notes de cours, donner
des définitions en extension de toute fonction bijective dont le domaine est N, et dans ce cas,
vous n’avez pas à démontrer qu’il s’agit effectivement d’une fonction bijective.
a) N × {5, 12, 789}.
Solution : Pour montrer la dénombrabilité de N × {5, 12, 789}, nous allons construire
une fonction bijective f : N −→ N × {5, 12, 789}, en la définissant en extension de la
manière suivante :
h0, 12i h1, 12i h2, 12i h3, 12i h4, 12i
↑ ↑ ↑ ↑ ↑
f (1) f (4) f (7) f (10) f (13)
···
h0, 789i h1, 789i h2, 789i h3, 789i h4, 789i
↑ ↑ ↑ ↑ ↑
f (2) f (5) f (8) f (11) f (14)
···
On a donc que N = N × {5, 12, 789}.
On a donc que N = N \ {5, 12, 789}.
N \ {5, 12, 789} est donc un ensemble (infini) dénombrable. .
C.Q.F.D.
c) N × N.
Solution : Voir dans les notes de cours.
d) Z × Z.
Solution : Pour montrer la dénombrabilité de Z × Z,
nous allons construire une fonction bijective f : N −→ Z × Z, en la définissant en
extension de la manière suivante :
.. .. .. .. .. .. .. .. ·
. . . . . . . . ··
h3, −3i h3, −2i h3, −1i h3, 0i h3, 1i h3, 2i h3, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (36) f (35) f (34) f (33) f (32) f (31) f (30)
···
h2, −3i h2, −2i h2, −1i h2, 0i h2, 1i h2, 2i h2, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (37) f (16) f (15) f (14) f (13) f (12) f (29)
···
h1, −3i h1, −2i h1, −1i h1, 0i h1, 1i h1, 2i h1, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (38) f (17) f (4) f (3) f (2) f (11) f (28)
···
h0, −3i h0, −2i h0, −1i h0, 0i h0, 1i h0, 2i h0, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (39) f (18) f (5) f (0) f (1) f (10) f (27)
···
h−1, −3i h−1, −2i h−1, −1i h−1, 0i h−1, 1i h−1, 2i h−1, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (40) f (19) f (6) f (7) f (8) f (9) f (26)
···
h−2, −3i h−2, −2i h−2, −1i h−2, 0i h−2, 1i h−2, 2i h−2, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (41) f (20) f (21) f (22) f (23) 24(5) f (25)
···
h−3, −3i h−3, −2i h−3, −1i h−3, 0i h−3, 1i h−3, 2i h−3, 3i
↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (42) f (43) f (44) f (45) f (46) f (47) f (48)
···
· .. .. .. .. .. .. .. ..
·· . . . . . . . .
On a donc que N = Z × Z.
1 2 4 8 16 32 64 128 256
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
f (0) f (1) f (2) f (3) f (4) f (5) f (6) f (7) f (8)
···
n
On a donc que N = {2 | n ∈ N}.
.
{2n | n ∈ N} est donc un ensemble (infini) dénombrable. C.Q.F.D.
f) l’ensemble de tous les mots qu’on peut construire avec un alphabet qui soit composé
uniquement des lettres “a”, “b” et “c”.
Solution : Notons par Ma,b,c , l’ensemble de tous les mots finis sur l’alphabet {“a”, “b”, “c”}.
Soit f : N −→ Ma,b,c , une fonction bijective définie en extension de la maniére sui-
vante :
Longueur
du mot
Mf inis
0 ε
↑
f (0)
1 a b c
↑ ↑ ↑
2 aa ab ac ba bb bc ca cb cc
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
.. ..
. .
Exercice 3 : (Pour ce numéro, aucune justification n’est demandée.) Étant donnés les en-
sembles A, B, C et D, que peut-on conclure sur leurs cardinalités ?
a) — il existe une fonction bijective de A vers C ;
— il existe une fonction surjective de A vers B ;
— il existe une fonction injective de A vers D.
··· −4 −3 −2 −1 1 2 3 4 ···
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
··· f (7) f (5) f (3) f (1) f (0) f (2) f (4) f (6) · · ·
• On sait déjà que Z est dénombrable (Voir l’exemple 1.5.7 à la page 102)
• Z × Z∗ est donc dénombrable (Voir le thérorème 1.5.21(2).)
(A) Sans justifiez vos réponses, dites si les énoncés suivants sont VRAIS ou FAUX.
d) N{0,1} = {0, 1}N . F AU X .
e) NZ est dénombrable. F AU X .
c) Soit (Ai )i∈N , une famille d’ensembles finis, alors l’union de tous les ensembles de
S
cette famille (notée i∈N Ai ) est DÉNOMBRABLE .
.. .. .. .. .. ..
. . . . . .
S S
On en conclu que |N| ≥ | i∈N Ai |, et donc que i∈N Ai est un ensemble dénombrable.
Notez que notre construction montre “seulement” que k est une fonction surjective
(ce qui est suffisant pour démontrer que l’ensemble est dénombrable). On ne peut
pas conclure que k est bijective car il peut y avoir des éléments commun à plusieurs
ensembles Ai . Dans ce cas, il existe deux y, y 0 ∈ N tels que k(y) = k(y 0 ) et y 6= y 0 ,
k n’est donc pas une fonction injective.
S
d) Soit (Ai )i∈N , une famille d’ensembles infinis dénombrables, alors i∈N Ai est
. INFINI DÉNOMBRABLE .
Justification :
S
(1) L’ensemble i∈N Ai est dénombrable :
Pour chaque ensemble Ai , on considère une fonction bijective ai : N −→ Ai .
Une telle fonction bijective existe car |Ai | = |N|.
S
On peut construire en extension fonction surjective de k : N −→ i∈N Ai :
.. .. .. .. .. ..
. . . . . .
S S
On en conclu que |N| ≥ | i∈N Ai |, et donc que i∈N Ai est un ensemble
dénombrable.
S
(2) L’ensemble i∈N Ai est infini :
Soit Ak un ensemble de cette famille (k ∈ N). On a nécessairement Ak ⊆
S S
i∈N Ai et donc |Ak | ≤ | i∈N Ai | (Voir la proposition 1.5.15). Comme Ak est
S
un ensemble infini, on en conclu que i∈N Ai est aussi infini.
Exercice 6 :
a) Démontrez que l’ensemble de tous les mots finis sur l’alphabet {“a”, “b”} est dénombrable
alors que l’ensemble de tous les mots infinis sur ce même alphabet ne l’est pas.
b) Est-ce que l’ensemble de tous les mots (finis et infinis) sur l’alphabet {“a”, “b”} est
dénombrable ? Justifiez brièvement.
Solution de 6a – partie I : Il y a un nombre dénombrable de mots finis sur
l’alphabet à deux lettres
On remarque facilement que sur l’alphabet {“a”, “b”},
— il n’y a qu’un nombre fini de mots de longueur 0. En fait il n’y en a qu’un, le
mot vide qui est généralement noté par ε.
— il n’y a qu’un nombre fini de mots de longueur 1. En fait il n’y en a que deux,
a et b.
— et en général pour chaque n ∈ N, il n’y a qu’un nombre fini de de mots de
longueur n.
Notons par Mf inis , l’ensemble de tous les mots finis sur l’alphabet {“a”, “b”}.
Soit f : N −→ Mf inis , une fonction bijective définie en extension de la manière
suivante :
Longueur
Mf inis
du mot
0 ε
↑
f (0)
1 a b
↑ ↑
f (1) f (2)
2 aa ab ba bb
↑ ↑ ↑ ↑
.. ..
. .
hα0 , α1 , α2 , α3 , . . .i
où chacun des αi est soit la lettre “a” soit la lettre “b”.
Un mot infini hα0 , α1 , α2 , α3 , . . .i est donc une fonction f : N −→ {“a”, “b”} où
f (0) = α0 , f (1) = α1 , f (2) = α2 , f (3) = α3 , . . .
Et inversement, une fonction f : N −→ {“a”, “b”} est le mot hf (0), f (1), f (2), f (3), . . .i
Ainsi, l’ensemble de tous les mots infinis sur l’alphabet {“a”, “b”} est égal à l’en-
semble {“a”, “b”}N .
Comme {“a”, “b”} ≥ 2 et comme N est infini, par le théorème 1.5.26, on a donc
Solution de 6b) Puisque Minf inis ⊆ Mf inis ∪ Minf inis , on a donc par Proposi-
tion 1.5.15 que
Minf inis ≤ Mf inis ∪ Minf inis .
Comme on a démontré en (6a– partie II) que Minf inis est non dénombrable,
on a donc que Mf inis ∪ Minf inis est lui aussi un ensemble non dénombrable.
L’ensemble de tous les mots (finis et infinis) sur l’alphabet {“a”, “b”} est donc non
dénombrable.
.
C.Q.F.D.
Exercice 7 :
Démontrez que l’ensemble de tous les sous-ensembles finis de N est dénombrable alors que
l’ensemble de tous les sous-ensembles de N ne l’est pas.
Solution :
1.- P(N) est non dénombrable.
Par le théorème 1.5.22 (Cantor) [avec A := N], on a que |P(N)| > |N|.
P(N) est donc non dénombrable..
C.Q.F.D.
Somme des
éléments du A
sous-ensemble
0 ∅ {0}
↑ ↑
f (0) f (1)
1 {1} {0, 1}
↑ ↑
f (2) f (3)
2 {2} {0, 2}
↑ ↑
f (4) f (5)
.. ..
. .
Exercice 8 :
a) Les données d’entrée et de sortie d’un programme sont des séquences de bits. On peut
donc considérer une séquence de bits comme un nombre naturel exprimé en binaire
(en ajoutant un bit “1” au début de la séquence, de sorte que les “0” initiaux du
programme soient significatifs). Donc un programme calcule une fonction de N vers
N.
L’ensemble de toutes les fonctions de N vers N est-il dénombrable ?
b) Un programme en JAVA est construit à partir d’un nombre fini de symboles et est de
longueur finie. On peut donc considérer un programme comme un mot écrit à l’aide
d’un certain alphabet.
c) Si on suppose qu’on n’a aucun problème de mémoire, est-ce que n’importe quelle
fonction de N vers N peut-être calculée en JAVA ? (Justifiez brièvement.)
Solution de 8a)
Par le théorème 1.5.26, on obtient directement que NN , (l’ensemble de toutes les fonc-
tions de N vers N) est non dénombrable. .
C.Q.F.D.
Solution de 8b)
Comme L’ensemble des symboles utilisables dans un programme JAVA est fini, On a
donc que pour chaque n ∈ N \ {0}, il y a au plus un nombre fini de programmes JAVA
de longueur n.
• Soit n1 le nombre de programmes JAVA de longueur 1.
Et soit J11 , J21 , . . . Jn11 , ces programmes de longueur 1.
• Soit n2 le nombre de programmes JAVA de longueur 2.
Et soit J12 , J22 , . . . Jn22 , ces programmes de longueur 2.
• Soit n3 le nombre de programmes JAVA de longueur 3.
Et soit J13 , J23 , . . . Jn32 , ces programmes de longueur 3.
• etc...
Soit J , l’ensemble de tous les programmes JAVA.
Et soit f , une fonction bijective de N vers J , définie en extension de la manière
suivante :
Longueur du
programme
J
1 J11 J21 ... Jn11
↑ ↑ ↑
f (0) f (1) f (n1 −1)
.. ..
. .
Ainsi, il existe une fonction bijective de N vers l’ensemble de tous les programmes
JAVA,
cet ensemble est donc dénombrable. .
C.Q.F.D.
Solution de 8c) Non, parce que si chacune de ces fonctions était calculable en JAVA,
il faudrait qu’il y ait au moins “autant” de programmes JAVA que de fonctions de N
vers N. Or il existe un nombre non dénombrable de fonctions de N vers N, mais
seulement un nombre dénombrable de programmes JAVA.
b) Peut-on conclure de a) que [1, 100] ≤ [0, 1] ? Pourquoi ?
Solution : OUI, voir la définition 1.5.11.
c) Peut-on conclure de a) que [1, 100] < [0, 1] ? Pourquoi ?
Solution :
NON, car ce n’est pas parce que la fonction f : [1, 100] −→ [0, 1] n’est pas surjective
qu’il n’existe pas de fonction surjective de [1, 100] vers [0, 1].
(1) - Montrons que h : [0, 1[ −→ [1, 100] est une fonction injective.
x 7−→ x + 1
Pour montrer que h est une fonction, il suffit de monter que la règle de corres-
pondance est bien définie, ce qui est clairement le cas, car :
— pour chaque élément x de l’ensemble de départ [0, 1[ il existe un et un seul
élément qui lui correspond, soit l’élément x + 1,
— et cet élément x + 1 est bien dans l’ensemble d’arrivée [1, 100] si x ∈ [0, 1[.
(3) - Comme dans les notes on a démontré que N < [0, 1[.
On a donc que N < [0, 1[ ≤ [1, 100].
Solution 1 : Comme les sommes comportent peu de termes, il est facile de les calculer
“à la main” :
X 3 X2
s = ( i2 + j )
i=1 j=1
3
X
= ( (i2 + 1) + (i2 + 2) )
i=1
3
X
= ( 2i2 + 3 )
i=1
= (2 · 12 + 3) + (2 · 22 + 3) + (2 · 32 + 3)
= 5 + 11 + 21
= 37
Solution 2 : En utilisant les propriétés des sommes en notation sigma, on obtient :
X3 X 2
s = ( i2 + j )
i=1 "
j=1 #
X3 X2 X2
= i2 + j .h Prop 2.1.2-c i
i=1 j=1 j=1
3
XX 2 X3 X2
= i2 + j .h Prop 2.1.2-c i
i=1 j=1 i=1 j=1
3
X 2
X
= 2i2 + 3 j .h Prop 2.1.2-b, cas particulier (2 fois) i
i=1 j=1
X 3 X 2
= 2 i2 + 3 j .h Prop 2.1.2-b i
i=1 j=1
2
(2 · 3 + 1) · (3 + 1) · 3 X
= 2· + 3 j .h Prop 2.1.2-e i
6 j=1
(2 · 3 + 1) · (3 + 1) · 3 2 · (2 + 1)
= 2· + 3· .h Prop 2.1.2-d i
6 2
= 7·4 + 3·3 .h Arithmétique i
= 37
Exercice 2 : En vous servant de la notation en extension des sommes, illustrez les égalités
suivantes (la réponse du premier exercice vous est donnée à titre d’exemple) :
n
X n
X
a) i = 1+ i
i=1 i=2
Solution :
Xn
i = 1 + 2 + 3 + ... + n
i=1
= 1 + (2 + 3 + . . . + n)
Xn
= 1+ i
i=2
n
X n
X
b) i = i
i=0 i=1
Solution :
Xn
i = 0 + 1 + 2 + 3 + ... + n
i=0
= 1 + 2 + 3 + ... + n
Xn
= i
i=1
n
X n−1
X
c) (n − i) = i
i=1 i=1
Solution :
Xn
(n − i) = (n − 1) + (n − 2) + . . . + (n − (n−2)) + (n − (n−1)) + (n − n)
i=1
= (n − 1) + (n − 2) + . . . + 2 + 1 + 0
= 0 + 1 + 2 + . . . + (n − 2) + (n − 1)
= 1 + 2 + . . . + (n − 2) + (n − 1)
n−1
X
= i
i=1
n n
X √ X √
d) k i = k· i , pour tout k ∈ R
i=1 i=1
Solution :
n
X √ √ √ √ √
k i = k 1 + k 2 + k 3 + ... + k n
i=1 √ √ √ √
= k · ( 1 + 2 + 3 + . . . + n)
n
X √
= k· i.
i=1
n−1
X n
X
e) 2i + 1 = 2i − 1
i=0 i=1
Solution :
n−1
X
2i + 1 = (2 · 0 + 1) + (2 · 1 + 1) + (2 · 2 + 1) + . . . + (2 · (n − 1) + 1)
i=0
= (2 · 1 − 2 + 1) + (2 · 2 − 2 + 1) + (2 · 3 − 2 + 1) + . . . + (2 · n − 2 + 1)
= (2 · 1 − 1) + (2 · 2 − 1) + (2 · 3 − 1) + . . . + (2 · n − 1)
Xn
= 2i − 1 .
i=1
n−1 X
X n X
n
f) 1 = n3 − n2
i=1 j=1 k=1
Solution :
n−1 X
X n Xn n−1 X
X n
1 = {z. . . + 1})
(1| + 1 +
i=1 j=1 k=1 i=1 j=1 n fois
n−1
XX n
= n
i=1 j=1
n−1
X
= (n {z. . . + n})
| +n+
i=1 n fois
n−1
X
= n·n
i=1
n−1
X
= n2
i=1
2 2 2
= n
| +n +{z . . . + n}
(n−1) fois
2
= (n−1) · n
= n3 − n2
Exercice 3 : Soit la suite hvn in∈N∗ dont le nième terme correspond à la valeur retournée par
l’algorithme suivant exécuté avec le paramètre n en entrée (avec n ≥ 1).
b) À partir de la réponse précédente, calculez le terme général de la suite hvn in∈N∗ . Pour
ce faire, utilisez les propriétés arithmétiques des sommes en notation sigma.
Solution :
Xn X
n
vn = 1
i=1 j=i+1
Xn
= (n − i) .h Prop 2.1.2-a i
i=1
n−1
X
= i .h Voir l’exercice 2-c ci-haut i
i=1
(n−1) · ( (n−1) + 1 )
= .h Prop 2.1.2-d i
2
n(n − 1)
= .h Arithmétique i
2
Exercice 1 : Calculez le terme général des récurrences suivantes à l’aide de la méthode des
substitutions à rebours :
x = 0
1
a)
xn = xn−1 + 5 ∀n ∈ N∗ \ {1}
Solution :
xn = xn−1 + 5 .h Définition par récurrence de xn i
= xn−2 + 5 + 5 .h Car xn−1 = xn−2 + 5 i
= xn−3 + 5 + 5 + 5 .h Car xn−2 = xn−3 + 5 i
= xn−4 + 5 + 5 + 5 + 5 .h Car xn−3 = xn−4 + 5 i
= ...
= xn−i + 5| + 5 +
{z. . . + 5} .h ∀i ∈ N∗ i
i fois
= xn−i + 5i
= x1 + 5 · (n−1) .h Avec [i := n − 1] i
= 5 · (n−1) .h Car x1 = 0 i
= 5n − 5
y(1) = 4
b)
y(n) = 3 · y(n − 1) ∀n ∈ N∗ \ {1}
Solution :
y(n) = 3 · y(n − 1) .h Définition par récurrence de yn i
= 3 · 3 · y(n − 2) .h Car y(n − 1) = 3 · y(n − 2) i
= 3 · 3 · 3 · y(n − 3) .h Car y(n − 2) = 3 · y(n − 3) i
= 3 · 3 · 3 · 3 · y(n − 4) .h Car y(n − 3) = 3 · y(n − 4) i
= ...
= 3| · 3 ·{z. . . · 3} ·y(n − i) .h Pour tout i ∈ N∗ i
i fois
= 3i · y(n − i)
= 3n−1 · y(1) .h Avec [i := n − 1] i
= 4 · 3n−1 .h Car y(1) = 4 i
z(0) = 0
c)
z(n) = z(n − 1) + 2n − 1 ∀n ∈ N∗
Solution :
z(n)
= z(n−1) + 2n − 1 .h Définition de zn i
= z(n−2) + 2(n−1) − 1 + 2n − 1 .h Substitution de z(n − 1) i
= z(n−2) + 2(n−1) + 2n − 2 .h Arithmétique i
(n−1) · ( (n−1) + 1 )
= n+2· .h Prop 2.1.2-d, avec [n := n − 1] i
2
(n−1) · n
= n+2· .h Arithmétique i
2
= n + n2 − n
= n2
Section 2.3.4 – Exercices sur l’induction mathématique
n
X
2i
i=0
= . h Passage de l’écriture en notation sigma à l’écriture en extension i
2 · 0 + 2 · 1 + 2 · 2 + ... + 2 · n
=
2 · 0 + 2 · 1 + 2 · 2 + . . . + 2 · (n − 1) + 2 · n
=
2 · 0 + 2 · 1 + 2 · 2 + . . . + 2 · (n − 1) + 2 · n
= . ! h Passage de l’écriture en extension à l’écriture notation sigma. i
n−1
X
2i + 2 · n
i=0
= . h Par l’hypothèse d’induction. i
(n − 1)((n − 1) + 1) + 2 · n
= . h Développement de l’expression. i
2
(n − n) + 2n
=
n2 + n
= . h Mise en évidence. i
n(n + 1) .
3. Notez que nous avons choisi cette forme du principe d’induction car elle est mieux adaptée à ce problème.
Montrons (∀n ∈ N | P (n) ⇒ P (n + 1)).
Soit n ∈ N, choisi tel que P (n) est vrai. .h C’est-à-dire, tel que f (n) = 2n − 2n + 2. i
Et montrons P (n + 1). . h c’est à dire f (n + 1) = 2n+1 − 2(n + 1) + 2. i
f (n + 1)
= . h Définition de f , car n ∈ N. i
2 · f (n) + 2n − 4
= . h Par l’hypothèse d’induction. i
2(2n − 2n + 2) + 2n − 4
= . h Simplifications algébriques. i
n
2 · 2 − 4n + 4 + 2n − 4
= . h Simplifications algébriques. i
n+1
2 − 2n − 2 + 2
= . h Mise en évidence. i
n+1
2 − 2(n + 1) + 2 .
Conclusion : on a bien ∀n ∈ N | P (n) ,
c’est à dire : f (n) = 2n − 2n + 2 ∀n ∈ N. .
C.Q.F.D.
Exercice 3 : Soit la suite han in∈N définie par récurrence par :
(
a0 = 2
an = 3an−1 + 2 ∀n ∈ N∗ .
Montrez par induction que le terme général de la suite han in∈N est :
an = 3n+1 − 1 ∀n ∈ N .
Démonstration
Prenons le prédicat P (n) : an = 3n+1 − 1.
Alors nous devons démontrer que (∀n ∈ N | P (n)).
Et par le principe d’induction mathématique,
il suffit de démontrer que P (0) ∧ (∀n ∈ N? | P (n − 1) ⇒ P (n)).
an
= . h Définition de la suite han in∈N , car n ∈ N? . i
3 an−1 + 2
= . h Par l’hypothèse d’induction. i
3(3(n−1)+1 − 1) + 2
= . h Simplification algébrique. i
n
3(3 − 1) + 2
= . h Par distributivité. i
n
3·3 −3+2
= . h Simplifications algébriques. i
n+1
3 − 1.
Conclusion : on a bien ∀n ∈ N | P (n) , c’est à dire : an = 3n+1 − 1 ∀n ∈ N.
.
C.Q.F.D.
Montrez par induction que le terme général de la suite hbn in∈N est :
bn = 3n − 2n − 5 ∀n ∈ N .
Démonstration
Prenons le prédicat P (n) : bn = 3n − 2n − 5.
Alors nous devons démontrer que (∀n ∈ N | P (n)).
Et par le principe d’induction mathématique,
il suffit de démontrer que P (0) ∧ (∀n ∈ N? | P (n − 1) ⇒ P (n)).
bn
= . h Définition de la suite hbn in∈N , car car n ∈ N? . i
3 bn−1 + 4n + 4
= . h Par l’hypothèse d’induction. i
n−1
3(3 − 2(n − 1) − 5) + 4n + 4
= . h Simplification algébrique. i
3 · 3n−1 − 6n + 6 − 15 + 4n + 4
= . h Simplifications algébriques. i
n
3 − 2n − 5 .
Montrez par induction que le terme général de la suite hcn in∈N est :
cn = 2n−1 · (2 − n) ∀n ∈ N .
Démonstration
Prenons le prédicat P (n) : cn = 2n−1 · (2 − n).
Alors nous devons démontrer que (∀n ∈ N | P (n)).
Et par le principe d’induction mathématique à deux cas de base,
il suffit de démontrer que P (0) ∧ P (1) ∧ (∀n ∈ N\{0, 1} | P (n − 2) ∧ P (n − 1) ⇒ P (n)).
Montrons P (0). . h C’est-à-dire, montrons c0 = 20−1 · (2 − 0). i
1
20−1 · (2 − 0) = 2
· 2 = 1 , ce qui est bien égal à la définition de c0 .
Montrons P (1). . h C’est-à-dire, montrons c1 = 21−1 · (2 − 1). i
21−1 · (2 − 1) = 1 · 1 = 1 , ce qui est bien égal à la définition de c1 .
cn
= . h Définition de la suite hcn in∈N , car n ∈ N\{0, 1}. i
4 · cn−1 − 4 · cn−2
= . h Par l’hypothèse d’induction. i
4 2(n−1)−1 · (2 − (n − 1)) − 4 2(n−2)−1 · (2 − (n − 2))
= . h Simplification algébrique. i
n−2 n−3
4 2 · (3 − n) − 4 2 · (4 − n)
= . h Simplifications algébriques. i
n−2 n−2 n−3 n−3
12 · 2 − 4n · 2 − 16 · 2 + 4n · 2
= . h Réécriture de l’expression. i
6 · 2 · 2n−2 − 2n · 2 · 2n−2 − 4 · 4 · 2n−3 + n · 4 · 2n−3
= . h Simplifications algébriques. i
n−1 n−1 n−1 n−1
6·2 − 2n · 2 −4·2 +n·2
= . h Mise en évidence. i
n−1
2 · (6 − 2n − 4 + n))
= . h Simplifications algébriques. i
2n−1 · (2 − n) .
On a démontré ∀n ∈ N\{0, 1} | P (n − 2) ∧ P (n − 1) ⇒ P (n) .
Conclusion : on a bien ∀n ∈ N | P (n) ,
c’est à dire : cn = 2n−1 · (2 − n) ∀n ∈ N. .
C.Q.F.D.
Section 2.4.5 –
Exercices sur les cas particuliers de recurrences
Exercice 1 :
a) Est-ce que la suite hcn in∈N , définie par le terme général cn = 5n − 6 ∀n ∈ N, est une
suite arithmétique ?
Réponse : oui, voir le théorème 2.4.2 (3. ⇒ 1.)
b) Donnez c0 , c1 et c200 .
Réponse : c0 = −6, c1 = −1 et c200 = 994.
(
S0 = −6
c) Soit la suite hSn in∈N définie par récurrence par :
Sn = Sn−1 + 5n − 6 ∀n ∈ N∗ .
Montrez (sans utiliser l’induction) que le terme général de la suite hSn in∈N est
(n + 1)(5n − 12)
Sn = ∀n ∈ N .
2
Démonstration
Comme la suite han in∈N est une suite arithmétique (voir a)), Sn est donc une suite de
somme de premiers termes d’une suite arithmétique, par le théorème 2.4.6, on obtient
donc
(a0 + an )(n + 1) (−6 + 5n − 6)(n + 1) (n + 1)(5n − 12)
Sn = = = ∀n ∈ N
2 2 2
.
C.Q.F.D.
Montrez (sans utiliser l’induction) que le terme général de la suite hdn in∈N est
5 · 23 (1 − 2n+1 )
dn = ∀n ∈ N .
−1
Démonstration
Soit la suite han in∈N définie par le terme général an = 5 · 2n+3 ∀n ∈ N.
Comme 5 · 2n+3 = (5 · 23 ) · 2n et comme a0 = 5 · 23 , par le théorème 2.4.4 (3. ⇒ 1.) on
remarque que :
la suite han in∈N est une suite géométrique de premier terme a = 5 · 23 et de raison
r = 2.
On a donc que la suite Sn est une suite de sommes de premiers termes d’une suite
géométrique, par le théorème 2.4.7, on obtient donc
5 · 23 · (1 − 2n+1 ) 5 · 23 · (1 − 2n+1 )
Sn = = ∀n ∈ N
. 1−2 −1
C.Q.F.D.
Exercice 3 : Vous placez $1000.00 dans un compte à intérêt composé de 5% par année.
Ainsi, aprés un an il y aura dans votre compte, $1000.00 +(5% de $1000.00 ), c’est-
à-dire, en tout $1050.00 . Aprés deux ans, il y aura dans votre compte, $1050.00 +
(5% de $1050.00 ), etc...
Soit h$n in∈N , la suite qui donne le montant d’argent qu’il a dans votre compte aprés n années.
a) Définissez h$(
n in∈N par récurrence.
$0 = 1000
Réponse :
$n = $n−1 + 0.05 · $n−1 ∀n ∈ N?
ou encore (
$0 = 1000
Réponse :
$n = 1.05 · $n−1 ∀n ∈ N?
a) an = 1 + 3 + 5 + 7 + 9 + · · · + (2n + 1) ∀n ∈ N .
Réponse : an = (n + 1)2 ∀n ∈ N
(
b0 = −2
b)
bn = bn−1 + 5n − 2 ∀n ∈ N∗ .
(5n − 4)(n + 1)
Réponse : bn = ∀n ∈ N .
2
(
b0 = 0
c)
bn = bn−1 + n ∀n ∈ N∗ .
Solution :
On remarque qu’il est possible que hbn in∈N soit une suite sommes de premiers termes
d’une suite arithmétique. (Voir théorème 2.4.6 et Définition 2.4.5.)
(a0 + an )(n + 1)
Donc, par le théorème 2.4.6, on a bn = ∀n ∈ N.
2
(0 + 0 + n · 1)(n + 1) n(n + 1)
Réponse : bn = = ∀n ∈ N
2 2
d0 = 1
d) d1 = 8
dn = 6 · dn−1 − 9 · dn−2 ∀n ∈ N \ {0, 1} .
dn = C1 · (3)n + C2 · n · (3)n ∀n ∈ N
On sait que d0 = 1 et d1 = 8.
Donc on a C1 · (3)0 + C2 · 0 · (3)0 = 1
C1 · (3)1 + C2 · 1 · (3)1 = 8
Donc on a C1 · 1 + 0 = 1
C1 · (3) + C2 · 1 · (3) = 8
Donc on a C1 = 1
3 · C1 + C2 · 1 · 3 = 8
Donc C1 = 1
C2 = 8−3·C
3
1
Donc C1 = 1
C2 = 53
dn = 3n + 5n · 3n−1 ∀n ∈ N
Exercice 5 : Évaluez la somme suivante :
1 1
32 + 8 + 2 + + ... + .
2 524288
1 12+1
32 · 1 − 4
Réponse : 1 = ···
1− 4
c0 = 1
d0 = 1
c) c1 = 4 d) d1 = 1
cn = 4 · cn−1 − 4 · cn−2 ∀n ∈ N \ {0, 1} dn = 4 · dn−1 − 4 · dn−2 ∀n ∈ N \ {0, 1}
Réponses :
√ !n √ !n
1 1+ 5 1 1− 5
a) fn = √ −√ ∀n ∈ N
5 2 5 2
√ !n √ !n
√ 1+ 5 √ 1− 5
b) bn = (1 + 5) + (1 − 5) ∀n ∈ N
2 2
c) cn = 2n · (n + 1) ∀n ∈ N
d) dn = 2n−1 · (2 − n) ∀n ∈ N
Section 2.5.5 –
Exercices sur la méthode des séries génératrices
Exercice 1 : Exprimez les séries génératrices des suites suivantes sous forme de fonctions
rationnelles :
( (
a0 = 1 b0 = 1
a) b)
an = 2 · an−1 + 3n ∀n ∈ N∗ bn = bn−1 + n ∀n ∈ N∗
c0 = 1
d0 = 1
c) c1 = 1 d) d1 = 1
cn = cn−1 + cn−2 ∀n ∈ N \ {0, 1} dn = 4 · dn−1 − 4 · dn−2 ∀n ∈ N \ {0, 1}
1 x2 −x+1 1 1−3x
Réponses : a) G(x) = (1−2x)(1−3x)
b) G(x) = (1−x)3
c) G(x) = 1−x−x2
d) G(x) = (1−2x)2
.
1 x x
a) a(x) = b) b(x) = c) c(x) =
(x + 4)(x + 3) (1 − x)2 (1 + x) (x − 1)(x − 2)(x − 3)
1 − 3x 1 − 3x x2 + 2x + 3
d) d(x) = e) e(x) = f ) f (x) =
1 − 4x + 4x2 (1 − 2x)2 (x − 1)2 (x − 2)
Réponses :
A B A B C A B C
a) a(x) = + b) b(x) = + 2
+ c) c(x) = + +
(x + 4) (x + 3) 1 − x (1 − x) (1 + x) x−1 x−2 x−3
A B A B C
d) Voir 2e) e) e(x) = + f ) f (x) = + + .
1 − 2x (1 − 2x)2 x − 1 (x − 1)2 x−2
(
a0 = 2
a)
an = 3an−1 + 2n ∀n ∈ N∗
Solution :
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
• Posons G(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn + · · · .
Alors,
G(x) = a0 + a1 x + a2 x2 + a3 x3 + · · · + an xn + · · ·
−3x · G(x) = + −3 · a0 x + −3 · a1 x2 + −3 · a2 x3 + · · · + −3 · an−1 xn + · · ·
1
− 1−2x = −1 + −2x + −(22 )x2 + −(23 )x3 + · · · + −(2n )xn + · · ·
1
G(x) − 3xG(x) − 1−2x = a0 − 1 + 0x + 0x2 + 0x3 + · · · + 0xn + · · ·
1
Ce qui donne G(x) − 3x G(x) − 1−2x
= 1 . h Car a0 − 1 = 2 − 1 = 1. i
1
Donc, on a G(x)(1 − 3x) = 1 + 1−2x
1−2x+1
Donc, on a G(x)(1 − 3x) = 1−2x
2−2x
Donc, on a G(x)(1 − 3x) = 1−2x
2−2x
Donc, on a G(x) = (1−3x)(1−2x)
−2x+2
Donc, on a G(x) = (1−3x)(1−2x)
,
Étape 2 : (on trouve la série de puissances associée à G)
A B
G(x) = + .h Théorème 2.5.3-a i
1 − 3x 1 − 2x
∞
X ∞
X
i i
= A·3 x + B · 2i xi .h Théorème 2.5.1-a (2 fois) i
i=0 i=0
X∞ h i
= A · 3i + B · 2i xi .h Arithmétique i
i=0
a0 = 3 0 A + 20 B = A + B = 2
⇔ B = 2 − A, (∗)
a1 = 3 1 A + 2 1 B = 3 A + 2 B = 8
⇔ 3A = 8 − 2B , (∗∗)
an = 4 · 3n + (−2) · 2n
= 4 · 3n − 2n+1 .
Solution :
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
• Posons G(x) = b0 + b1 x + b2 x2 + b3 x3 + · · · + bn xn + · · · .
Alors,
G(x) = b0 + b1 x + b2 x2 + b3 x 3 + · · · + bn x n + · · ·
−x · G(x) = + −b0 x + −b1 x2 + −b2 x3 + · · · + −bn−1 xn + · · ·
x
− (1−x) 2 = 0 + (−1) · x + (−2) · x2 + (−3) · x3 + · · · + (−n) · xn + · · ·
x
G(x) − xG(x) − (1−x)2 = b0 + 0x + 0x2 + 0x3 + · · · + 0xn + · · ·
x
Ce qui donne G(x) − x G(x) − = 0 . h Car b0 = 0. i
(1 − x)2
x
Donc, on a G(x)(1 − x) =
(1 − x)2
x
Donc, on a G(x) = .
(1 − x)3
A B C
G(x) = + + .h Théorème 2.5.3-e i
1 − x (1 − x)2 (1 − x)3
∞ ∞ ∞
X
i
X
i
X (i + 1)(i + 2)
= A·x + (i + 1)B · x + C · xi .h Théorème 2.5.1-a,b,d i
i=0 i=0 i=0
2
∞ h
X (i + 1)(i + 2) i i
= A + (i + 1)B + C x .h Arithmétique i
i=0
2
(n + 1)(n + 2)
bn = A + (n + 1)B + C.
2
Par la définition de la récurrence, nous savons que b0 = 0 et b1 = 1 et b2 = 3. Donc :
0 = A+B+C .h Car b0 = 0 i
⇔ A = −B − C , (∗)
1 = A + 2B + 3C .h Car b1 = 1 i
= −B − C + 2 B + 3 C .h Par l’équation (*) i
⇔ B = 1 − 2C , (∗∗)
3 = A + 3B + 6C .h Car b2 = 3 i
= −B − C + 3 B + 6 C .h Par l’équation (*) i
= 2B + 5C
= 2 (1 − 2 C) + 5 C .h Par l’équation (**) i
⇔ C = 1,
(n + 1)(n + 2)
bn = −(n + 1) +
2
(n + 1) · [ −2 + (n + 2) ]
=
2
n · (n + 1)
= .
2
n (n + 1)
Réponse : La définition par terme général est bn = ∀n ∈ N.
2
c0 = 1
c) c1 = 8
cn = 6 · cn−1 − 9 · cn−2 + 2n ∀n ∈ N \ {0, 1}
Solution :
Étape 1 : (on exprime la série génératrice sous la forme d’une fonction rationnelle)
• Posons G(x) = c0 + c1 x + c2 x2 + c3 x3 + · · · + cn xn + · · · .
Alors,
G(x) = c0 + c1 x + c2 x2 + c3 x3 + ··· + cn x n + ···
−6x · G(x) = + −6 c0 x + −6 c1 x2 + −6 c2 x3 + ··· + −6 cn−1 xn + ···
+9x2 · G(x) = + 9 c0 x 2 + 9 c1 x3 + ··· + 9 cn−2 xn + ···
1
− 1−2x = −1 + −2x + −(22 )x2 + −(23 )x3 + ··· + −(2n )xn + ···
G(x) − 6xG(x)
1
+9x2 G(x) − (1−2x) = (c0 − 1) + (c1 − 6c0 − 2)x + 0x2 + 0x3 + · · · + 0xn + · · ·
1
Ce qui donne G(x) − 6x G(x) + 9x2 G(x) − (1−2x) = 0
. h Car c0 − 1 = 1 − 1 = 0 et c1 − 6c0 − 2 = 8 − 6 · 1 − 2 = 0. i
1
Donc, on a G(x)(1 − 6x + 9x2 ) = (1−2x)
1
Donc, on a G(x)(1 − 3x)2 = (1−2x)
1
Donc, on a G(x) = (1−3x)2 (1−2x)
.
A B C
G(x) = + 2
+ .h Théorème 2.5.3-d i
1 − 3x (1 − 3x) (1 − 2x)
∞
X ∞
X ∞
X
= A 3i · xi + (i + 1) B 3i · xi + C 2i · xi .h Théorème 2.5.1-a,b i
i=0 i=0 i=0
∞ h
X i
= 3i A + 3i (i + 1)B + 2i C xi .h Arithmétique i
i=0
cn = 3n A + 3n (n + 1)B + 2n C .
Par la définition de la récurrence, nous savons que :
c0 = 1 et c1 = 8 et c2 = 6 · 8 − 9 · 1 + 22 = 43.
Donc :
1 = A+B+C .h Car c0 = 1 i
⇔ A = 1−B−C, (∗)
8 = 3A + 6B + 2C .h Car c1 = 8 i
= 3(1 − B − C) + 6 B + 2 C .h Par l’équation (*) i
= 3 − 3B − C
⇔ C = 3B − 5, (∗∗)
43 = 9 A + 27 B + 4 C .h Car c2 = 43 i
= 9 (1 − B − C) + 27 B + 4 C .h Par l’équation (*) i
= 9 + 18 B − 5 C
= 9 + 18 B − 5 (3 B − 5) .h Par l’équation (**) i
= 34 + 3 B
⇔ 9 = 3B
⇔ B = 3,
cn = (−6) · 3n + 3(n + 1) · 3n + 4 · 2n
= (−2) · 3n+1 + (n + 1) · 3n+1 + 2n+2
= (n − 1) · 3n+1 + 2n+2 .
cn = (n − 1) · 3n+1 + 2n+2 ∀n ∈ N .
Section 2.6.4 –
Exercices sur l’approximation par une intégrale
Exercice 1 : En vous inspirant de la figure 2.3 (page 188), illustrez le théorème 2.6.2-b qui
permet de borner une sommation possédant la forme suivante :
b
X
f (i), où f est une fonction non croissante sur l’intervalle [a − 1, b + 1] .
i=a
Solution :
Solution : Considérons la fonction f (x) = x4 . Cette fonction est non décroissante sur
l’intervalle [0, n + 1] pour tout n ≥ 1. Calculons l’intégrale selon la variable x de la
fonction f (x) :
x5
Z
x4 · dx = +C.
5
En appliquant le théorème 2.6.2-a, nous obtenons :
n n n+1
x5 x5
X
4
≤ i ≤
5 0 i=1
5 1
5 5 n
n 0 X (n + 1)5 15
⇔ − ≤ i4 ≤ −
5 5 i=1
5 5
n
n5 X (n + 1)5 − 1
⇔ ≤ i4 ≤
5 i=1
5
Xn
⇔ n5 ≤ 5 · i4 ≤ (n + 1)5 − 1
i=1
Ainsi, n5 ≤ an ≤ (n + 1)5 − 1 ∀n ∈ N∗ .
n
X
b) bn = 5 · i4
i=−2
où an est correspond au nième terme de la suite définie à l’exercice précédent. Nous
pouvons donc réutiliser directement le résultat de l’exercice précédent :
85 + n5 ≤ bn ≤ 84 + (n + 1)5 ∀n ∈ N∗ .
n
X
c) cn = ik , pour une constante k ∈ N∗ .
i=1
Solution : Considérons la fonction f (x) = xk . Cette fonction est non décroissante sur
l’intervalle [0, n + 1] pour tout n ≥ 1, peu importe la valeure de la constante k ∈ N∗ .
L’intégrale de f (x) selon la variable x est :
xk+1
Z
xk · dx = +C.
k+1
En appliquant le théorème 2.6.2-a, nous obtenons :
n n n+1
xk+1 xk+1
X
k
≤ i ≤
k+1 0 i=1
k+1 1
n
nk+1 0 k+1 X (n + 1)k+1 1k+1
⇔ − ≤ ik ≤ −
k+1 k+1 i=1
k+1 k+1
n
nk+1 X (n + 1)k+1 − 1
⇔ ≤ ik ≤
k+1 i=1
k+1
nk+1 (n + 1)k+1 − 1
Ainsi, ≤ cn ≤ ∀n, k ∈ N∗ .
k+1 k+1
n
X 1
d) dn = .
i=1
i2
n
X 1
Solution : Réécrivons d’abord dn ainsi : dn = 1+ .
i=2
i2
1
Considérons la fonction f (x) = 2 , qui est non croissante sur l’intervalle [0, n + 1]
x
pour tout n ≥ 1. L’intégrale de f (x) selon la variable x est :
x−1
Z Z
1 −2 1
· dx = x · dx = +C = − +C.
x2 −1 x
3 1 1
Ainsi, − ≤ dn ≤ 2 − ∀n ∈ N∗ .
2 n+1 n
n
X
e) en = (i + ln i − 1).
i=1
Xn n
X
Solution : Récrivons en ainsi : en = 1+ln 1−1+ (i + ln i − 1) = (i + ln i − 1) .
i=2 i=2
Considérons la fonction f (x) = x + ln x − 1, qui est non décroissante sur l’intervalle
[0, n + 1] pour tout n ≥ 1. L’intégrale de f (x) selon la variable x est :
x2
Z Z Z Z
(x + ln x − 1) · dx = x · dx + ln x · dx − 1 · dx = + x · ln x − 2x + C .
2
En appliquant le théorème 2.6.2-a, nous obtenons :
n n n+1
x2 x2
X
+ x · ln x − 2x ≤ (i + ln i − 1) ≤ + x · ln x − 2x
2 1 i=2
2 2
2 n 2
n 3 X (n + 1)
⇔ + n · ln n − 2n + ≤ (i + ln i − 1) ≤ + (n+1) · ln(n+1) − 2(n + ln 2)
2 2 i=2
2
n2 − 4n + 3 n2 − 2n + 1
Ainsi, +n·ln n ≤ en ≤ +(n+1)·ln(n+1)−2 ln 2 ∀n ∈ N∗ .
2 2
f) fn = log(n!).
def
Rappels : n! = 1 · 2 · 3 · . . . · n et log(a · b) = log a + log b ∀a, b > 0
Solution : Récrivons fn ainsi :
n
X n
X n
X
fn = log(i) = log(1) + log(i) = log(n) .
i=1 i=2 i=2
Considérons la fonction g(x) = log(x), qui est non décroissante sur l’intervalle [0, n + 1]
pour tout n ≥ 1. L’intégrale de g(x) selon la variable x est :
Z
x
log(x) · dx = x log(x) − .
ln(10)
n−1 n−1
Donc, n log(n) − ≤ fn ≤ (n+1) log(n+1) − log(4) − ∀n ∈ N∗ .
ln(10) ln(10)
Exercice 3 : Décrivez une circonstance où la méthode d’approximation par une intégrale
donne la valeur exacte de la sommation. Autrement dit, exprimez une fonction f pour laquelle
les bornes inférieure et supérieure obtenues par le théorème 2.6.2 sont égales à la valeur de
la sommation.
Solution : Lorsque la fonction f est constante.
En effet, considérons une constante k ∈ R et une fonction f (x) = k. On veut calculer :
b
X
f (i) .
i=a
On constate que f est non décroissant pour n’importe quel intervalle [a − 1, b + 1]. Ainsi, par
le théorème 2.6.2-a, on obtient :
Z b b
X Z b+1
k · dx ≤ k ≤ k · dx
a−1 i=a a
Xb
⇔ [k · x]ba−1 ≤ k ≤ [k · x]b+1
a
i=a
b
X
⇔ k · b − k · (a − 1) ≤ k ≤ k · (b + 1) − k · a
i=a
b
X
⇔ k · (b − a + 1) ≤ k ≤ k · (b − a + 1)
i=a
b
X
Ainsi, on conclut que : f (i) = k · (b − a + 1) .
i=a
Section 3.1.8 – Exercices sur les éléments de base de la
théorie des graphes
Exercice 1 : Six équipes sont inscrites à un tournoi de Hockey de garage. Dans la première
phase du tournoi, chaque équipe doit affronter toutes les autres une et une seule fois.
a) Construisez un graphe représentant toutes les parties possibles.
Solution : Dans le graphe suivant, chaque équipe est représentée par un sommet et
une partie entre l’équipe x et y est représentée par une arête [x, y].
6 · (6 − 1)
|E(K6 )| = = 15 .
2
La première phase du tournoi comporte donc 15 parties.
Exercice 3 :
a) Sept étudiants vont en vacances. Chacun va envoyer une carte postale à exactement
trois des autres étudiants. Est-ce possible que pour chaque étudiant x, les étudiants
qui écrivent à x soient exactement ceux à qui x a écrit ?
b) Qu’arrive-t-il si on remplace “trois” par un autre nombre entre 0 et 6 (inclusivement)
à l’exercice précédent ?
a) Calculez G ∪ H, G ∩ H, Gc , H −1 , G ◦ H, G2 et H 2 .
Solution :
Solution : Désignons le graphe de gauche par G et le graphe de droite par D. Pour montrer
que G et D sont isomorphes, construisons une fonction bijective f : V (G) −→ V (D) :
c) Combien de sommets peut avoir un arbre binaire ayant exactement k feuilles (avec
k ≥ 2).
Solution : Considérons un arbre binaire T comportant n sommets, dont k feuilles.
1. Calculons d’abord la somme des degrés des sommets de T . Par la définition des arbres
binaires (définition 3.1.14) on sait que T compte exactement k sommets de degré 1
(les feuilles), 1 sommet de degré 2 (la racine), et que les autres (n − k − 1) sommets
sont de degré 3. Aussi, par le théorème 3.3.3, on sait que la somme des degrés de T
est égale à deux fois le nombre d’arêtes. Donc :
1 · k + 2 · 1 + 3 · (n − k − 1) 3n − 2k − 1
|E(T )| = = .
2 2
2. Par le théorème 3.4.2, puisque T est un arbre, on sait que |V (T )| = |E(T )| + 1. Ainsi :
3n − 2k − 1 3n − 2k + 1
n = +1 =
2 2
⇔ 2n = 3n − 2k + 1
⇔ n = 2k − 1 .
Exercice 2 : Définissons un arbre trinaire comme un arbre qui contient un sommet de degré 3
(la racine) et dont tous les autres sommets sont de degré 1 (les feuilles) ou de degré 4. Comme
pour un arbre binaire, le niveau d’un sommet x d’un arbre trinaire équivaut à la longueur de
l’unique chaı̂ne allant de la racine au sommet x et la hauteur d’un arbre trinaire est égale au
niveau maximal de ses feuilles. Finalement, un arbre trinaire complet est un arbre trinaire
dont toutes les feuilles sont au même niveau.
a) Dessinez trois arbres : un arbre trinaire complet de hauteur 2, un arbre trinaire complet
de hauteur 3 et un arbre trinaire complet de hauteur 4.
b) Donnez l’expression du nombre de feuilles d’un arbre trinaire complet en fonction de
sa hauteur.
Solution : Considérons la suite L(h) donnant le nombre de feuilles d’un arbre trinaire
en fonction de sa hauteur L(h). La suite se définit naturellement de façon récursive :
L(0) = 1
L(h) = 3 · L(h − 1) ∀h ∈ N∗
Par le théorème 2.4.4, on constate qu’il s’agit d’une somme géométrique de premier
terme 1 et de raison 3. Le terme général est donc :
L(h) = 3h .
La suite N (h) est donc la suite des sommes des premiers termes de la suite géométrique
L(h) définie en (b). Par le théorème 2.4.7, on obtient :
1 · (1 − 3h+1 ) 3h+1 − 1
N (h) = = .
1−3 2
Exercice 3 : Un arbre est toujours un graphe biparti. Décrivez une méthode pour créer une
bipartition à partir de n’importe quel arbre (Rappel : les concepts de graphe biparti et de
bipartition ont été introduits par la définition 3.1.3-c).
Solution : Soit T un arbre non vide et x ∈ V (T ) un sommet quelconque de cet arbre. Voici
comment on peut séparer les sommets de T en bipartition A et B :
Notez qu’il y a toujours qu’une seule chaı̂ne élémentaire entre x et y (voir le théorème 3.4.4-c).
Section 3.6.4 – Exercices sur les chaı̂nes et chemins
Exercice 1 : Pour chacun des graphes ci-dessous, dites s’il s’agit d’un graphe
a) eulérien. Si oui, exhibez un cycle eulérien.
b) hamiltonien. Si oui, exhibez un cycle hamiltonien.
Solution :
a) Seuls les deux graphes K7 et K4,2 sont eulériens :
b) Les graphes K7 , K3,3 , le dodécaèdre et le graphe d’Heawood sont Hamiltoniens. Voici
un cycle hamiltonien pour chacun d’eux :
Exercice 2 : On veut asseoir cinq couples autour d’une table ronde de telle sorte que pour
chaque deux couples, au moins un des membres du premier couple soit assis à côté d’au moins
un membre du deuxième couple. Est-ce possible ?
Solution : Oui ! Voici un raisonnement qui le montre :
1. On considère un graphe G où chaque sommet correspond à un couple (donc, |V (G)| =
5) et chaque arête hx, yi ∈ E(G) correspond à la relation “un des membres du couple
x est assis à côté d’un des membres du couple y”. Le graphe G comporte une arête
entre chaque sommet. Il s’agit donc du graphe K5 , c’est-à-dire le graphe complet à 5
sommets.
2. Il y a une solution au problème si et seulement si il existe un cycle eulérien dans le
graphe G.
3. Un tel cycle eulérien existe car aucun des sommets de G n’est de degré impair (théo-
rème 3.6.5). Plus précisément, degG (x) = 4 ∀x ∈ V (G).
4. De plus, il suffit de parcourir un cycle eulérien de G pour obtenir l’ordre dans lequel
on peut asseoir les membres des couples autour de la table ronde pour satisfaire le
problème.
Exercice 3 : L’algorithme de Dijkstra présenté à la page 225 retourne la longueur du plus
court chemin entre le sommet d’origine et le sommet de destination z, mais ne permet pas de
connaı̂tre la nature de ce chemin. Suggérez une modification à l’algorithme afin qu’il retourne
le chemin le plus court (sous la forme, par exemple, d’une liste de sommets).
Solution : Dans le pseudo-code ci-dessous, le texte en rouge indique les lignes modifiées et/ou
ajoutées par rapport à l’algorithme original. La fonction fusionner effectue la jonction entre
def
deux listes, de telle sorte que : fusionner( [u0 ], [u1 , u2 , . . . , un ) = [u0 , u1 , u2 , . . . , un ] .
.
Tant que |Q| > 0 Faire h Tant qu’il reste des sommets à visiter... i
Si u = z alors
chemin ← [u] . h Reconstruit le chemin en sens inverse i
Tant que u 6= a Faire
u ← prec(u)
chemin ← fusionner( [u], chemin )
Fin Tant que
Retourner chemin
Fin Si
Définition 1.1.3 Opérateur si et seulement si. Proposition 1.2.6 Lois de De Morgan (version ensembliste).
def
p⇔q = (p ⇒ q) ∧ (q ⇒ p) a : (S ∩ T )c = S c ∪ T c (Première loi de De Morgan)
b : (S ∪ T )c = S c ∩ T c (Deuxième loi de De Morgan)
Proposition 1.1.4 Lois de De Morgan.
a : ¬(p ∧ q) ⇔ ¬p ∨ ¬q (1ière loi de De Morgan) Proposition 1.2.7 Propriétés du complément.
b : ¬(p ∨ q) ⇔ ¬p ∧ ¬q (2e loi de De Morgan) a : (S c )c = S (Complémentarité)
b : S ∪ Sc = U (Tiers exclu)
Proposition 1.1.5 Propriétés de la négation. c : S ∩ Sc = ∅ (Contradiction)
a : ¬(¬p) ⇔ p (Double négation)
b : p ∨ ¬p ⇔ vrai (Tiers exclu) Proposition 1.2.8 Propriétés de l’intersection.
c : p ∧ ¬p ⇔ faux (Contradiction) a: S ∩U = S (Él. neutre)
b: S ∩∅ = ∅ (Él. absorbant)
c: S ∩S = S (Idempotence)
Proposition 1.1.6 Propriétés de la conjonction.
d: S ∩T = T ∩S (Commutativité)
a : p ∧ vrai ⇔ p (Él. neutre)
e : (S ∩ T ) ∩ U = S ∩ (T ∩ U ) (Associativité)
b : p ∧ faux ⇔ faux (Él. absorbant)
f : (S ∪ T ) ∩ U = (S ∩ U ) ∪ (T ∩ U ) (Distributivité)
c: p∧p ⇔ p (Idempotence)
d: p∧q ⇔ q∧p (Commutativité) Proposition 1.2.9 Propriétés de l’union.
e : (p ∧ q) ∧ r ⇔ p ∧ (q ∧ r) (Associativité) a: S ∪∅ = S (Él. neutre)
f : (p ∨ q) ∧ r ⇔ (p ∧ r) ∨ (q ∧ r) (Distributivité) b: S ∪U = U (Él. absorbant)
c: S ∪S = S (Idempotence)
Proposition 1.1.7 Propriétés de la disjonction. d: S ∪T = T ∪S (Commutativité)
a : p ∨ faux ⇔ p (Él. neutre) e : (S ∪ T ) ∪ U = S ∪ (T ∪ U ) (Associativité)
b : p ∨ vrai ⇔ vrai (Él. absorbant) f : (S ∩ T ) ∪ U = (S ∪ U ) ∩ (T ∪ U ) (Distributivité)
c: p∨p ⇔ p (Idempotence)
Proposition 1.2.10 Propriétés de la différence.
d: p∨q ⇔ q∨p (Commutativité)
a: S \∅ = S (Élément neutre)
e : (p ∨ q) ∨ r ⇔ p ∨ (q ∨ r) (Associativité) c
b: S \T = S∩T (Réécriture de “\”)
f : (p ∧ q) ∨ r ⇔ (p ∨ r) ∧ (q ∨ r) (Distributivité)
c : S ∪ (T \ S) = S ∪ T (Union de “\”)
d : S ∩ (T \ S) = ∅ (Intersection de “\”)
Proposition 1.1.8 Contraposition. e : S \ (T ∪ U ) = (S \ T ) ∩ (S \ U ) (Différence de “∪”)
p ⇒ q ⇔ ¬q ⇒ ¬p f : S \ (T ∩ U ) = (S \ T ) ∪ (S \ U ) (Différence de “∩”)
Définition 1.2.1 Axiome d’extensionnalité Proposition 1.2.11 Appartenance d’un élément à un en-
def
S = T = (∀e | e ∈ S ⇔ e ∈ T ) . semble obtenu par composition.
a : e ∈ Sc ⇔ ¬(e ∈ S) (Complément)
Définition 1.2.2 Notation abrégée des quantificateurs b: e ∈ S ∩T ⇔ e ∈ S ∧e ∈ T (Intersection)
def
a : (∀x ∈ T | P (x) ) = (∀x | x ∈ T ⇒ P (x) ) c: e ∈ S ∪T ⇔ e ∈ S ∨e ∈ T (Union)
def
b: (∃x ∈ T | P (x) ) = (∃x | x ∈ T ∧ P (x) ) d : e ∈ S \ T ⇔ e ∈ S ∧ ¬(e ∈ T ) (Différence)
Proposition 1.2.12 Propriétés d’équivalences de l’inclusion. Définition 1.4.7 Composition de deux relations
def
a: ∅ ⊆ S ⇔ vrai (Omniprésence de “∅”) ha, ci ∈ ρ ◦ σ = (∃b ∈ T | ha, bi ∈ ρ ∧ hb, ci ∈ σ) ,
def
b: S ⊆ S ⇔ vrai (Réflexivité) De manière équivalente : a (ρ◦σ) c = (∃b ∈ T | a ρ b∧b σ c) .
c: S ⊂ S ⇔ faux (Irréflexivité)
d: S = T ⇔ S ⊆ T ∧ T ⊆ S (Antisymétrie) Proposition 1.4.8 Propriétés de la composition
e: S ⊆ T ⇔ S ⊂ T ∨ S = T (Réécriture de “⊆”) a : IS ◦ ρ = ρ ◦ IT = ρ (Él. neutre)
f: S ⊂ T ⇔ S ⊆ T ∧ T 6= S (Réécriture de “⊂”) b: ∅◦ρ = ρ◦∅ = ∅ (Él. absorbant)
c : (ρ ◦ σ) ◦ θ = ρ ◦ (σ ◦ θ) (Associativité)
Proposition 1.2.13 Propriétés d’implications de l’inclusion. d: ρ ⊆ σ ⇒ ρ◦θ ⊆σ◦θ (Monotonie)
a: S⊂T ⇒ S⊆T
b: S⊂T ⇒ T *S Définition 1.4.9 Puissance d’une relation
def
c: S ⊂ T ⇒ T 6⊂ S Si n ≥ 1 : ρn = ρ ◦ ρ ◦ . . . ◦ ρ (n fois) ,
def
d: S ⊂ T ∧U * T ⇒ U * S sinon (n = 0) : ρ0 = IS .
e: S ⊆ T ∧T ⊆ U ⇒ S ⊆ U (Transitivité (1))
f: S ⊆ T ∧T ⊂ U ⇒ S ⊂ U (Transitivité (2)) Proposition 1.4.10 Propriétés de l’opérateur puissance
g: S ⊂ T ∧T ⊆ U ⇒ S ⊂ U (Transitivité (3)) a : ρm ◦ ρn = ρm+n (Somme des exposants)
m n m·n
h: S ⊂ T ∧T ⊂ U ⇒ S ⊂ U (Transitivité (4)) b : (ρ ) = ρ (Produit des exposants)
Proposition 1.3.1 Lois de De Morgan (Généralisées aux Définition 1.4.12 Inverse d’une relation
def
quantificateurs). ρ−1 = {hb, ai | ha, bi ∈ ρ} .
a : ¬(∀x ∈ T | P (x)) ⇔ (∃x ∈ T | ¬P (x)) (1ère loi)
b : ¬(∃x ∈ T | P (x)) ⇔ (∀x ∈ T | ¬P (x)) (2e loi) Proposition 1.4.13 Propriétés de la relation inverse
a : Dom(ρ−1 ) = Im(ρ) (Domaine d’une rel. inv.)
Définition 1.4.1 Produit cartésien de deux ensembles b : Im(ρ−1 ) = Dom(ρ) (Image d’une rel. inverse.)
def
S × T = {ha, bi | a ∈ S ∧ b ∈ T } . c : ∅−1 = ∅ (Inverse de la rel. vide)
d : (ρ ◦ σ)−1 = σ −1 ◦ ρ−1 (Inverse de la composition)
Définition 1.4.2 Produit cartésien de n ensembles e : (ρ ∪ σ) −1
= σ −1 ∪ ρ−1 (Inverse de l’union)
• S1 × S2 × . . . × Sn f : (ρ ∩ σ)−1 = σ −1 ∩ ρ−1 Inverse de l’intersection)
def
= {he1 , e2 , . . . , en i | e1 ∈ S1 ∧ e2 ∈ S2 ∧ . . . ∧ en ∈
Sn } . Définition 1.4.14 Familles de relation (1)
def
a : ρ est réflexif ⇔ (∀a ∈ S | a ρ a )
• S n = S × S × . . . × S (n fois) . b : ρ est irréflexif ⇔ (∀a ∈ S | ¬(a ρ a) )
Proposition 1.4.3 Propriétés du produit cartésien c : ρ est symétrique ⇔ (∀a, b ∈ S | a ρ b ⇒ b ρ a )
a: S ×T = T ×S ⇔ S = ∅∨T = ∅∨S = T d : ρ est asymétrique ⇔ (∀a, b ∈ S | a ρ b ⇒ ¬(b ρ a) )
b : S × (T ∪ U ) = (S × T ) ∪ (S × U ) (Dist. sur “∪”) e : ρ est antisymétrique ⇔ (∀a, b ∈ S | a ρ b ∧ b ρ a ⇒ a = b )
c : S × (T ∩ U ) = (S × T ) ∩ (S × U ) (Dist. sur “∩”) f : ρ est transitif ⇔ (∀a, b, c ∈ S | a ρ b ∧ b ρ c ⇒ a ρ c )
d : S × (T \ U ) = (S × T ) \ (S × U ) (Dist. sur “\”)
e: S ⊆ U ∧T ⊆ V ⇒ S ×T ⊆ U ×V Proposition 1.4.15 Définitions équivalentes à 1.4.14
f: S ×T ⊆ S ×U ⇒ S = ∅∨T ⊆ U a : ρ est réflexif ⇔ IS ⊆ ρ
g : (S ∩ T ) × (U ∩ V ) = (S × U ) ∩ (T × V ) b : ρ est irréflexif ⇔ IS ∩ ρ = ∅
h : |S × T | = |S| · |T | si S et T sont finis. c : ρ est symétrique ⇔ ρ−1 = ρ
d : ρ est asymétrique ⇔ ρ ∩ ρ−1 = ∅
Définition 1.4.4 Appartenance d’un couple à une relation e : ρ est antisymétrique ⇔ ρ ∩ ρ−1 ⊆ IS
def
a ρ b = ha, bi ∈ ρ . f : ρ est transitif ⇔ ρ2 ⊆ ρ
Définition 1.4.5 Domaine et image d’une relation Définition 1.4.16 Familles de relation (2)
def
a : Dom(ρ) = {a ∈ S | (∃b ∈ T | a ρ b)} (Domaine) a : ρ est total ⇔ (∀a ∈ S | (∃b ∈ T | a ρ b) )
def
b: Im(ρ) = {b ∈ T | (∃a ∈ S | a ρ b)} (Image) b : ρ est surjectif ⇔ (∀b ∈ T | (∃a ∈ S | a ρ b) )
c : ρ est déterministe
Définition 1.4.6 Relation identité ⇔ (∀a ∈ S, b, b0 ∈ T | a ρ b ∧ a ρ b0 ⇒ b = b0 )
def
IS = {ha, ai ∈ S 2 | a ∈ S} , d : ρ est injectif
De manière équivalente : ha, ai ∈ IS ⇔ a ∈ S . ⇔ (∀a, a0 ∈ S, b ∈ T | a ρ b ∧ a0 ρ b ⇒ a = a0 )
Théorème 1.4.17 Dualité totalité–surjectivité et dualité Définition 1.4.25 Ordre partiel strict
déterminisme–injectivité Une relation ≺ est un ordre partiel strict sur l’ensemble S si
a : ρ est total ⇔ ρ−1 est surjectif ; elle possède les trois propriétés suivantes :
b : ρ est déterministe ⇔ ρ−1 est injectif ;
c : ρ est injectif ⇔ ρ−1 est déterministe ; – Irréflexivité : (∀a ∈ S | ¬(a ≺ a) ;
d : ρ est surjectif ⇔ ρ−1 est total. – Asymétrie : (∀a, b ∈ S | a ≺ b ⇒ ¬(b ≺ a)) ;
– Transitivité : (∀a, b, c ∈ S | a ≺ b ∧ b ≺ c ⇒ a ≺ c).
Théorème 1.4.18 Composition de relations totales, surjec-
tives, déterministes et injectives. Théorème 1.5.1 Deux ensembles finis A et B ont le
a : ρ et σ sont totaux ⇒ ρ◦σ est total ; même nombre d’éléments ssi il existe une fonction bijective
b : ρ et σ sont déterministes ⇒ ρ◦σ est déterministe ; f :A→ B.
c : ρ et σ sont injectifs ⇒ ρ◦σ est injectif ;
d : ρ et σ sont surjectifs ⇒ ρ◦σ est Définition 1.5.2 On dit que A a autant d’éléments que B
surjectif.
(ou que la cardinalité de A est égale à la cardinalité de B) ssi
Proposition 1.4.19 Définitions équivalentes d’une fonction il existe une fonction bijective de A vers B.
surjective
a : (∀b ∈ T | (∃a ∈ S | a f b) ) Proposition 1.5.3 Soit A un ensemble, la relation IA est
b : (∀b ∈ T | (∃a ∈ S | f (a) = b ) une fonction bijective.
Proposition 1.4.20 Définitions équivalentes d’une fonction
Théorème 1.5.4 Soit f ⊆ A × B. Alors la relation f est une
injective
fonction bijective ssi la relation inverse f −1 ⊆ B × A est une
a : (∀a ∈ S, a0 ∈ S, b ∈ T | a f b ∧ a0 f b ⇒ a = a0 )
fonction bijective.
b : (∀a ∈ S, a0 ∈ S | f (a) = f (a0 ) ⇒ a = a0 )
c : (∀a ∈ S, a0 ∈ S | a 6= a0 ⇒ f (a) 6= f (a0 ))
Théorème 1.5.5 Soit f ⊆ A × B et g ⊆ B × C. Si f et g
Corollaire 1.4.21 Inverses de fonctions et de relations sont deux fonctions bijectives, alors f ◦ g sera une fonction
a : f est une fonction bijective de A vers C.
⇔ f −1 est une relation bijective ;
b : f est une fonction injective Définition 1.5.6 Un ensemble A est dit dénombrable s’il est
⇔ f −1 est une relation bijective et déterministe ; fini ou de la même cardinalité que l’ensemble N.
c : f est une fonction surjective
⇔ f −1 est une relation bijective et totale ; Proposition 1.5.8 L’ensemble N × N est dénombrable.
d: f est une fonction bijective
Lemme 1.5.9 Étant donné un ensemble infini B. Alors,
⇔ f −1 est une fonction bijective.
B est dénombrable
Théorème 1.4.22 Composition de fonctions inverses ⇔ (∃A | A est infini dénombrable ⇒ |A| = |B|).
Les relations ρ ⊆ S × T et σ ⊆ T × S sont deux fonctions
bijectives et ρ−1 = σ si et seulement si : Théorème 1.5.10 Soit A et B, deux ensembles non vides.
∃ fonction injective f : A B
ρ ◦ σ = IS et σ ◦ ρ = IT .
ssi ∃ fonction surjective g : B →
→ A.
Définition 1.4.23 Relation d’équivalence
La relation relation ' est une relation d’équivalence si elle Définition 1.5.11 On dit que A a une cardinalité plus pe-
possède les propriétés suivantes : tite ou égale à la cardinalité de B ssi il existe une fonction
injective de A vers B. (ou, ce qui est équivalent, ssi il existe
– Réflexivité : (∀a ∈ S | a ' a) ;
une fonction surjective de B vers A.)
– Symétrie : (∀a, b ∈ S | a ' b ⇒ b ' a) ;
– Transitivité : (∀a, b, c ∈ S | a ' b ∧ b ' c ⇒ a ' c). Axiome 1.5.12 (Axiome du choix) Soit (Ai )i∈I , une fa-
mille infinie d’ensembles non vides. Alors il existe une famille
Définition 1.4.24 Ordre partiel
d’éléments (ai )i∈I telle que pour chaque i ∈ I, ai ∈ Ai .
Une relation est un ordre partiel sur l’ensemble S si elle
possède les trois propriétés suivantes :
Théorème 1.5.13 (Bernstein-Schröder) S’il existe une fonc-
– Réflexivité : (∀a ∈ S | a a) ; tion injective de A vers B et une fonction injective de B vers
– Antisymétrie : (∀a, b ∈ S | a b ∧ b a ⇒ a = b) ; A, alors il existera une fonction bijective de A vers B.
– Transitivité : (∀a, b, c ∈ S | a b ∧ b c ⇒ a c). Autrement dit : |A| ≤ |B| ∧ |B| ≤ |A| ⇒ |A| = |B|.
Théorème 1.5.14 Soit f ⊆ A × B et g ⊆ B × C. Si f et Théorème 1.5.20 Les résultats suivants sont équivalents :
g sont deux fonctions injectives, alors f ◦ g sera une fonction 1. A est non dénombrable
injective de A vers C.
2. |A| > |N|.
Proposition 1.5.15 Si A ⊆ B alors la fonction 3. 6 ∃ fonction surjective f : N →
→ A.
IA⊆B : A −→ B est bien définie et est injective.
4. 6 ∃ fonction injective f : A N.
a 7−→ a
5. A est infini et |A| =
6 |N|.
Théorème 1.5.16 Soit A un ensemble infini. Alors |A| ≥ |N|.
6. A est infini et 6 ∃ fonction bijective f : A −→ N.
Théorème 1.5.17 Les énoncés suivants sont équivalents : 7. A est infini et 6 ∃ fonction bijective f : N
→ A.
1. |A| = |B|. Théorème 1.5.21 Soit A et B, deux ensembles
2. ∃ fonction bijective f : A
→ B. dénombrables (finis ou infinis). Alors
3. ∃ fonction bijective g : B
→ A. 1. A ∪ B est dénombrable,
4. |A| ≤ |B| et |A| ≥ |B|. 2. A × B est dénombrable.
5. ∃ fonction injective f : A B
Théorème 1.5.22 (Cantor)
et ∃ fonction injective g : B A.
Pour tout ensemble A, |A| < |P(A)|.
6. ∃ fonction injective f : A B
et ∃ fonction surjective h : A →
→ B. Définition 1.5.23 Étant donnés deux ensembles A et B, on
7. ∃ fonction surjective k : B →
→A définit B A comme étant l’ensemble de toutes les fonctions de
et ∃ fonction surjective h : A →
→ B. A vers B. Autrement dit : B A = {f : A −→ B | }.
8. ∃ fonction surjective k : B →
→A Proposition 1.5.24 Pour tout ensemble A, on a
et ∃ fonction injective g : B A. |P(A)| = |{0, 1}A |.
Théorème 1.5.18 Les énoncés suivants sont équivalents :
Corollaire 1.5.25 {0, 1}N est un ensemble non dénombrable.
1. |A| < |B|.
2. |A| ≤ |B| et |A| =
6 |B|. Théorème 1.5.26 Soit A un ensemble ayant au moins deux
3. ∃ fonction injective, f : A B éléments et B un ensemble infini.
mais 6 ∃ fonction bijective g : B
→ A. Alors AB est un ensemble non dénombrable.
4. |A| ≤ |B| et |A| 6≥ |B|.
Théorème 1.5.29 R est non dénombrable.
5. ∃ fonction injective, f : A B
mais 6 ∃ fonction injective g : B A.
6. ∃ fonction injective, f : A B
mais 6 ∃ fonction surjective g : A →
→ B.
7. |A| 6≥ |B|.
8. 6 ∃ fonction injective g : B A.
9. 6 ∃ fonction surjective g : A →
→ B.
Théorème 1.5.19 Les résultats suivants sont équivalents :
1. A est dénombrable.
2. |A| ≤ |N|
3. ∃ fonction surjective f : N →
→ A.
4. ∃ fonction injective f : A N.
5. |A| < |N| ou |A| = |N|
6. A est fini ou ∃ fonction bijective f : A
→ N.
7. A est fini ou ∃ fonction bijective f : N
→ A.
n
X def
Définition 2.1.1 Notation sigma : g(i) = g(n0 ) + g(n0 + 1) + g(n0 + 2) + . . . + g(n) .
i=n0
Théorème 2.4.2 Terme général d’une suite arithmétique. Les énoncés suivants sont équivalents :
1. han in∈N est une suite arithmétique de premier terme a et de différence d.
2. han in∈N est définie par récurrence par : a0 = a et an = an−1 + d ∀n ∈ N∗ .
3. han in∈N est définie par terme général par : an = a + nd ∀n ∈ N .
Théorème 2.4.4 Terme général d’une suite géométrique. Les énoncés suivants sont équivalents :
1. han in∈N est une suite géométrique de premier terme a et de raison r.
2. han in∈N est définie par récurrence par : a0 = a et an = an−1 · r ∀n ∈ N∗ .
3. han in∈N est définie par terme général par : an = a · rn ∀n ∈ N .
Définition 2.4.5 Suite des sommes de Théorème 2.4.6 Sommes de premiers Théorème 2.4.7 Sommes de premiers
premiers termes d’une suite. termes d’une suite arithmétique termes d’une suite géométrique
n
(a0 + an )(n + 1) a0 · (1 − rn+1 )
X
Sn = ai ∀n ∈ N . Sn = ∀n ∈ N . Sn = ∀n ∈ N .
i=0 2 1−r
Formules d’intégration
xa+1
Z Z
a: k · dx = k·x+C b: xa · dx = + C pour a 6= −1
a+1
Z Z
1 c c
c: · dx = ln |x| + C d: · dx = ln |a x + b| + C
x ax + b a
ax
Z Z
e: ex · dx = ex + C f: ax · dx = +C
ln a
Z Z
x
g: ln x · dx = x ln x − x + C h: loga x · dx = x loga x − +C
ln a
Z Z Z
i: f (x) + g(x) · dx = f (x) · dx + g(x) · dx
Z Z b h ib
En notant F = f (x) · dx, on a : f (x) · dx = F (x) = F (b) − F (a) .
a a
.
Définitions des opérateurs booléens Antisymétrie de l’inclusion
Négation ¬ ; conjonction ∧ ; disjonction ∨ ; implication ⇒, S =T ⇔ S ⊆T ∧T ⊆S
implication inverse ⇐ ; si et seulement si ⇔.
Lois de De Morgan (quantificateurs)
Lois de De Morgan a : ¬(∀x ∈ T | P (x)) ⇔ (∃x ∈ T | ¬P (x)) (1ère loi)
a : ¬(p ∧ q) ⇔ ¬p ∨ ¬q (1ière loi de De Morgan) b : ¬(∃x ∈ T | P (x)) ⇔ (∀x ∈ T | ¬P (x)) (2e loi)
b : ¬(p ∨ q) ⇔ ¬p ∧ ¬q (2e loi de De Morgan)
Produit cartésien
def
Propriétés de la négation • S × T = {ha, bi | a ∈ S ∧ b ∈ T } .
Double négation : ¬(¬p) ; Tiers exclu p ∨ ¬p ; • S1 × S2 × . . . × Sn
def
Contradiction p ∧ ¬p . = {he1 , e2 , . . . , en i | e1 ∈ S1 ∧ e2 ∈ S2 ∧ . . . ∧ en ∈
Sn } .
Propriétés de la conjonction def
Él. neutre p ∧ vrai ; Él. absorbant p ∧ faux • S n = S × S × . . . × S (n fois) .
Idempotence p ∧ p ; Commutativité p ∧ q ; Appartenance d’un couple à une relation
def
Associativité (p ∧ q) ∧ r. a ρ b = ha, bi ∈ ρ .
7. ∃ fonction surjective k : B →
→A 4. 6 ∃ fonction injective f : A N.
et ∃ fonction surjective h : A →
→ B. 5. A est infini et |A| =
6 |N|.
8. ∃ fonction surjective k : B →
→A 6. A est infini et 6 ∃ fonction bijective f : A −→ N.
et ∃ fonction injective g : B A. 7. A est infini et 6 ∃ fonction bijective f : N
→ A.
Techniques de démonstration
• P ⇒ Q : On suppose que P est vrai ; puis on montre que Q est vrai.
• P ⇔ Q : Démonstration de P ⇒ Q ET Démonstration de P ⇐ Q.
• (∀x ∈ X | P (x)) :
– Démonstration “directe” : Soit x ∈ X, puis on montre P (x) est vrai.
– Démonstration par cas : On choisit des ensembles X1 , . . . Xn dont l’union donne X.
On montre ensuite chaque cas : (∀x ∈ X1 | P (x)), . . . , (∀x ∈ Xn | P (x)).
• (∃x ∈ X | P (x)) : Soit x ∈ X, choisi de telle façon. On montre que x existe et est bien dans X.
Puis on montre que P (x) est vrai.
• (∀x ∈ X | Q(x) ⇒ P (x)) : Soit x ∈ X, choisi tel que Q(x) est vrai ; donc P (x) est vrai.
• P ∧ Q : Démonstration de P ET Démonstration de Q.
• P ∨ Q : Démonstration par cas (Cas 1 : P est vrai ; Cas 2 : P est faux et on montre que Q est vrai).
Propriétés arithmétiques des sommes en notation sigma
n n n
X X X n(n + 1)
a: 1 = n − n0 + 1 (En particulier, 1 = n) d: i =
i=n0 i=1 i=1
2
n n n n
X X X X (2n + 1)(n + 1)n
b: k · g(i) = k· g(i) (En particulier, k = k · n) e: i2 =
i=n0 i=n0 i=1 i=1
6
n
X n
X n
X
c: g(i) + h(i) = g(i) + h(i)
i=n0 i=n0 i=n0
Principes
h d’induction
i
P (0) ∧ ∀n ∈ N∗ | P (n−1) ⇒ P (n)
⇒ ∀n ∈ N | P (n) . h Induction faible i
h i
P (0) ∧ P (1) ∧ ∀n ∈ N \ {0, 1} | P (n−2) ∧ P (n−1) ⇒ P (n) ⇒ ∀n ∈ N | P (n) . .h 2 cas de base i
h i
P (0) ∧ ∀n ∈ N∗ ∀k ∈ N | (k < n) ∧ P (k) ⇒ P (n)
⇒ ∀n ∈ N | P (n) . . h Induction forte i
Théorème 2.4.2 Terme général d’une suite arithmétique. Les énoncés suivants sont équivalents :
1. han in∈N est une suite arithmétique de premier terme a et de différence d.
2. han in∈N est définie par récurrence par : a0 = a et an = an−1 + d ∀n ∈ N∗ .
3. han in∈N est définie par terme général par : an = a + nd ∀n ∈ N .
Théorème 2.4.4 Terme général d’une suite géométrique. Les énoncés suivants sont équivalents :
1. han in∈N est une suite géométrique de premier terme a et de raison r.
2. han in∈N est définie par récurrence par : a0 = a et an = an−1 · r ∀n ∈ N∗ .
3. han in∈N est définie par terme général par : an = a · rn ∀n ∈ N .
Définition 2.4.5 Suite des sommes de Théorème 2.4.6 Sommes de premiers Théorème 2.4.7 Sommes de premiers
premiers termes d’une suite. termes d’une suite arithmétique termes d’une suite géométrique
n
(a0 + an )(n + 1) a0 · (1 − rn+1 )
X
Sn = ai ∀n ∈ N . Sn = ∀n ∈ N . Sn = ∀n ∈ N .
i=0 2 1−r
Z Z b h ib
Formules d’intégration En notant F = f (x)·dx, on a : f (x)·dx = F (x) = F (b)−F (a) .
a a
Z Z a+1
x
a: k · dx = k·x+C b: xa · dx = + C pour a 6= −1
a+1
Z Z
1 c c
c: · dx = ln |x| + C d: · dx = ln |a x + b| + C
x ax + b a
ax
Z Z
e: ex · dx = ex + C f: ax · dx = +C
ln a
Z Z
x
g: ln x · dx = x ln x − x + C h: loga x · dx = x loga x − +C
ln a
Z Z Z
i: f (x) + g(x) · dx = f (x) · dx + g(x) · dx