Implications et équivalences, conjonctions et disjonctions

L'implication

Le premier connecteur logique est l'implication. Étant donnés deux énoncés $P$ et $Q$, on peut construire l'énoncé $P ⇒ Q$ qui affirme « Si $P$ est vrai alors $Q$ est vrai ». On le lit « $P$ implique $Q$ ». L'énoncé $P$ est appelé la prémisse de l'implication $P ⇒ Q$.

Il est crucial de bien comprendre que le symbole $⇒$ n'est pas l'abréviation du mot « donc ». La déduction d'information à l'aide d'une implication repose sur la véracité de deux énoncés et l'utilisation d'une règle de logique : sachant que $P$ est vrai et que $P$ implique $Q$ (c'est à dire que $P ⇒ Q$ est vrai), on en déduit que $Q$ est vrai, par application de la règle dite du modus ponens. La véracité de $P ⇒ Q$ ne suffit pas à elle seule à conclure quoique ce soit sur $Q$.

De façon peut-être encore plus surprenante, l'énoncé $P ⇒ Q$ est toujours vrai si $P$ est faux. Nous reviendrons sur ce point délicat dans un chapitre ultérieur. Mais il est déjà possible d'y penser du point de vue suivant : on peut voir les démonstrations de $P ⇒ Q$ comme des machines qui transforment toute démonstration de $P$ en démonstration de $Q$. Une telle machine existe toujours lorsqu'aucune démonstration de $P$ n'existe : la machine ne faisant rien convient ! Cette interprétation comme transformation de démonstration explique aussi pourquoi Lean note l'énoncé $P ⇒ Q$ par P → Q, une notation usuellement rencontrée dans le contexte des fonctions.

Utilisation d'une implication

On peut donc utiliser une hypothèse $h$ affirmant $P ⇒ Q$ pour démontrer $Q$ à condition d'avoir une démonstration de $P$. Ce mécanisme est indiqué par une phrase du type « Montrons que $Q$ est vrai. Puisque $P$ implique $Q$, il suffit de démontrer $P$ » ou bien « Puisque $P$ est vrai et que $P$ implique $Q$, $Q$ est vrai », selon qu'on dispose déjà d'une démonstration de $P$ ou non. Le premier cas de figure est appelé raisonnement déductif vers l'arrière, ou raisonnement par condition suffisante, tandis que le second est un raisonnement déductif vers l'avant.

Dans Lean, pour raisonner vers l'avant en utilisant h et une hypothèse hP affirmant que $P$ est vrai, on écrit On conclut par h appliqué à hP ou bien simplement On conclut par h hP. Cette dernière notation peut être vue comme une simple liste (ordonnée) d'hypothèses à utiliser, mais on peut aussi la comprendre en voyant les implications comme transformations : l'hypothèse h transforme l'hypothèse hP en démonstration de $Q$ et la notation h hP est une application de transformation.

Exemple

Soit $P$ et $Q$ deux énoncés. Sous l'hypothèse que $P$ et $P ⇒ Q$ sont vrais, on peut déduire que $Q$ est vrai.

example (P Q : Prop) (hP : P) (h : P  Q) : Q :=
Démonstration
Puisque $P$ est vrai et que $P$ implique $Q$, $Q$ est vrai.
  On conclut par h appliqué à hP,
P Q : Prop,
hP : P,
h : P  Q
 Q
Gagné ! 🎉
QED.

La commande Lean initiant une déduction vers l'arrière en utilisant l'implication h est On applique h. Cette commande cherche aussi si la prémisse de h est présente parmi les hypothèses, et l'utilise automatiquement si elle la trouve. En vue de la rédaction sur papier, il est souvent plus clair d'annoncer quel est le nouveau but B en écrivant : Par h il suffit de montrer que B.

Exemple

Redémontrons l'exemple précédent en faisant un raisonnement vers l'arrière (même si ce n'est pas très percutant ici).

example (P Q : Prop) (hP : P) (h : P  Q) : Q :=
Démonstration
Puisque l'hypothèse h garantit que $P$ implique $Q$, il suffit de démontrer $P$.
  Par h il suffit de montrer que P,
P Q : Prop,
hP : P,
h : P  Q
 Q
P Q : Prop,
hP : P,
h : P  Q
 P
Or l'hypothèse $hP$ affirme que $P$ est vrai.
  On conclut par hP,
P Q : Prop,
hP : P,
h : P  Q
 P
Gagné ! 🎉
QED.

Il faut noter que le raisonnement vers l'arrière n'est pertinent que si la prémisse n'est pas encore démontrée (ni supposée). Si l'objectif est de démontrer $Q$ qui est impliqué par $P$, il est particulièrement maladroit de rédiger une démonstration de $P$ puis d'écrire « Ainsi on a $P$. Comme $P$ implique $Q$ et qu'on veut démontrer $Q$, il suffit de démontrer $P$. Or on a démontré $P$. » (ou des variantes encore plus alambiquées et répétitives). Bien qu'il n'y ait pas d'erreur dans cette rédaction, elle n'est vraiment pas facile à lire. Il est bien préférable d'écrire « Ainsi on a $P$. Comme $P$ implique $Q$, on en déduit $Q$. » C'est pour cette raison que la commande On applique cherche automatiquement la prémisse parmi les hypothèses.

Il faut avouer que Lean encourage un peu le raisonnement vers l'arrière à outrance, en raison de la tentation suivante : face à l'objectif $Q$, on parcourt le contexte à la recherche d'une hypothèse mentionnant Q, on trouve hPQ : P → Q et on tape On applique hPQ avant d'avoir eu le temps de se demander si le contexte ne contient pas aussi une hypothèse hP : P, qui permettrait d'écrire directement On conlut par hPQ appliqué à hP. Il faut donc faire un effort de nettoyage des démonstrations Lean avant de passer à la rédaction sur papier, en gardant à l'esprit ce risque en particulier.

Démonstration d'une implication

Pour montrer que $P$ implique $Q$, on suppose que $P$ est vrai, et on démontre $Q$ sous cette hypothèse. Cela suffit puisque si $P$ est faux alors l'implication $P ⇒ Q$ est toujours vraie, quelle que soit la véracité de $Q$. La rédaction pourra ainsi débuter par : « Montrons que $P$ implique $Q$. Supposons $P$, ...» les points de suspensions étant à remplacer par la démonstration (peut-être très longue !) de $Q$ sous l'hypothèse $P$, en plus des autres hypothèses courantes. Dans un contexte touffu, on peut nommer l'hypothèse ainsi introduite, en écrivant par exemple « Faisons l'hypothèse $hₚ$ que $P$ est vrai ».

Bien sûr on peut imaginer des démonstrations indirectes de $P ⇒ Q$, comme on le verra dans des chapitres ultérieurs. Le paragraphe précédent n'explique que la méthode directe.

Dans Lean, lorsque le but courant est de la forme P → Q, la commande pour dire « Supposons que $P$ est vrai » est Supposons hₚ : Phₚ est un nom choisit par l'utilisateur pour évoquer une hypothèse affirmant que P est vrai. Ce nom peut être choisi assez librement mais il est commode de suivre la convention de faire débuter par la lettre h les hypothèses. On peut omettre l'indication : P (Lean sait bien ce qu'il y a à supposer) mais cela diminue la lisibilité. S'il y a plusieurs hypothèses successives, on peut les écrire sur la même lignes, séparées par des espaces, à condition de mettre des parenthèses losque le : est précisé, par exemple Supposons (hP : P) (hQ : Q).

Exemple

À ce stade, nous manquons d'autres connecteurs logiques pour démontrer une implication intéressante (même un tout petit peu). Démontrons donc que $P$ implique $P$.

example (P : Prop) : P  P :=
Démonstration
Supposons $P$. Il s'agit alors de montrer $P$.
  Supposons hₚ : P,
P : Prop
 P  P
P : Prop,
hₚ : P
 P
C'est exactement ce qu'on vient de supposer !
  On conclut par hₚ,
P : Prop,
hₚ : P
 P
Gagné ! 🎉
QED.

Chaînes d'implications

Comme l'égalité, la relation d'implication est transitive, c'est à dire que si les énoncés $P ⇒ Q$ et $Q ⇒ R$ sont vrais alors $P ⇒ R$ est vrai. Cette observation est souvent combinée avec l'abus de rédaction consistant à voir le symbole $⇒$ comme abréviation du mot « donc » en comprimant « $P$ et $P ⇒ Q$ sont vrais donc $Q$ est vrai » en « $P ⇒ Q$ ». On obtient alors une succession d'énoncés entrecoupés de symboles $⇒$, et parfois de sauts de lignes. Cette succession est supposée indiquer le dernier énoncé est conséquence du premier. La concision d'une telle écriture est séduisante, mais le risque de confusion est grand. En effet l'énoncé $P ⇒ Q ⇒ R$ est énoncé qui a un sens une fois précisée la convention de regroupement implicite qui l'interprète comme $P ⇒ (Q ⇒ R)$ plutôt que $(P ⇒ Q) ⇒ R$. Mais aucune de ces deux possibilités n'est logiquement équivalente à $P ⇒ R$. La première est équivalente à « Si $P$ et $Q$ sont vrais alors $R$ est vrai » tandis que la deuxième affirme que si l'implication $P ⇒ Q$ est vraie alors $R$ est vrai.

Pour cette raison, nous n'écrirons jamais de chaînes de symboles d'implications dans ce cours. L'utilisation de mots comme « donc », « or » et « ainsi » remplace avantageusement ces chaînes.

L'équivalence

On peut construire à partir de l'implication le connecteur logique d'équivalence. Étant donné deux énoncés $P$ et $Q$, l'équivalence de $P$ et $Q$ est l'énoncé qui affirme que $P$ est vrai si et seulement si $Q$ est vrai. On le note usuellement $P ⇔ Q$ mais Lean le note P ↔ Q, en cohérence avec sa notation pour l'implication. Dans les deux cas on le lit « $P$ équivaut à $Q$ » ou, de façon plus symétrique « $P$ et $Q$ sont équivalents ».

Bien que ce connecteur logique soit redondant au sens où il peut être exprimé à l'aide de deux implications (et d'une conjonction décrite plus bas), il joue un rôle privilégié via le mécanisme de remplacement. Sachant que $P$ équivaut à $Q$, on peut remplacer $P$ par $Q$ ou $Q$ par $P$ dans n'importe quel autre énoncé.

Ce mécanisme donne hélas lieu à la tentation d'utiliser le symbole $⇔$ comme abréviation dans une phrase. Le résultat est au mieux une faute de goût, mais le plus souvent aboutit à un sens complètement différent de l'intention de l'auteur. Un piège typique de ce genre est d'abréger la phrase « Montrons $P$, ce qui revient à montrer $Q$ » (dans un contexte où $P$ et $Q$ sont connus comme étant équivalents) par « Montrons $P ⇔ Q$ », qui semble annoncer une démonstration de l'équivalence de $P$ et $Q$. Une alternative qui met mieux en valeur l'équivalence, tout en évitant l'ambiguïté, est par exemple « Montrons $P$, qui équivaut à $Q$ ».

La discussion des chaînes d'implications à la fin de la section précédente s'applique aussi aux équivalence. L'équivalence est transitive, c'est à dire que si $P ⇔ Q$ et $Q ⇔ R$ alors $P ⇔ R$ mais nous n'écrirons pas $P ⇔ Q ⇔ R$, même si cet abus est parfois commode, par exemple dans le contexte d'une résolution d'équation.

Utilisation d'une équivalence

Pour utiliser une équivalence « $P ⇔ Q$ », on peut la décomposer en deux implications et utiliser l'une d'entre elle. On écrira par exemple « Puisque $P$ et $Q$ sont équivalents, $P$ implique $Q$ ». Dans Lean, si h est une hypothèse affirmant P ↔ Q, on peut la scinder à l'aide de la commande Par h on obtient (hPQ : P → Q) (hQP : Q → P) pour obtenir hPQ : P → Q et hQP : Q → P. On peut aussi accéder à la première implication (de la gauche vers la droite) sous le nom h.1 et à la seconde sous le nom h.2.

Exemple

Soit $P$, $Q$ et $R$ trois énoncés tels que $P$ équivaut à $Q$ et $Q$ implique $R$. $P$ implique $R$.

example (P Q R : Prop) (h : P  Q) (hQR : Q  R) : P  R :=
Démonstration
Supposons que $P$ est vrai, et montrons $R$.
  Supposons hP : P,
P Q R : Prop,
h : P  Q,
hQR : Q  R
 P  R
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 R
Comme $Q$ implique $R$, il suffit de montrer $Q$.
  Par hQR il suffit de montrer que Q,
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 R
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 Q
Comme $P$ et $Q$ sont équivalents, $P$ implique $Q$ (et $Q$ implique $P$).
  Par h on obtient (hPQ : P  Q) (hQP : Q  P),
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 Q
P Q R : Prop,
hQR : Q  R,
hP : P,
hPQ : P  Q,
hQP : Q  P
 Q
En particulier on peut déduire $Q$ de notre hypothèse $P$.
  On conclut par hPQ appliqué à hP,
P Q R : Prop,
hQR : Q  R,
hP : P,
hPQ : P  Q,
hQP : Q  P
 Q
Gagné ! 🎉
QED.

Dans la démonstration précédente, on peut aussi accéder à l'implication $P ⇒ Q$ comme h.1, et utiliser la possibilité de former une démonstration en appliquant comme une fonction une hypothèse d'implication à une hypothèse assurant sa prémisse. On obtient la démonstration très concise suivante. Il ne faudra pas abuser de cette possibilité car elle n'aide pas vraiment à passer sur papier (mais le problème se posera nettement moins dans les vrais exercices portant sur les suites ou les fonctions).

Exemple

Soit $P$, $Q$ et $R$ trois énoncés tels que $P$ équivaut à $Q$ et $Q$ implique $R$. $P$ implique $R$.

example (P Q R : Prop) (h : P  Q) (hQR : Q  R) : P  R :=
Démonstration
Supposons que $P$ est vrai.
  Supposons hP : P,
P Q R : Prop,
h : P  Q,
hQR : Q  R
 P  R
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 R
Comme $P$ équivaut à $Q$, donc implique $Q$, et que $Q$ implique $R$, on obtient $R$.
  On conclut par hQR (h.1 hP),
P Q R : Prop,
h : P  Q,
hQR : Q  R,
hP : P
 R
Gagné ! 🎉
QED.

On peut aussi utiliser utiliser l'équivalence de $P$ et $Q$ pour remplacer $P$ par $Q$ (ou $Q$ par $P$) dans une hypothèse ou dans le but. Dans Lean sous l'hypothèse h : P ↔ Q, on peut remplacer P par Q dans le but à l'aide la commande On réécrit via h. Pour remplacer de la droite vers la gauche, c'est à dire ici remplacer Q par P, on utilise On réécrit via ← h. Pour opérer ces remplacements dans une autre hypothèse h', on écrit On réécrit via h dans h', ou dans l'autre sens On réécrit via ← h dans h'.

Exemple

On reprends l'exemple précédent en effectuant un remplacement.

example (P Q R : Prop) (h : P  Q) (hQR : Q  R) : P  R :=
Démonstration
Comme $P$ et $Q$ sont équivalents, on peut remplacer $Q$ par $P$ dans l'hypothèse que $Q$ implique $R$.
  On réécrit via  h dans hQR,
P Q R : Prop,
h : P  Q,
hQR : Q  R
 P  R
P Q R : Prop,
h : P  Q,
hQR : P  R
 P  R
Cette hypothèse devient alors exactement l'implication à démontrer.
  On conclut par hQR,
P Q R : Prop,
h : P  Q,
hQR : P  R
 P  R
Gagné ! 🎉
QED.

Démonstration d'une équivalence

Il y a deux grandes façons de démontrer une équivalence $P ⇔ Q$. La première est de démontrer successivement les deux implications (on parle parfois de « démonstration par double implication »). Dans Lean, on annonce simplement qu'on va montrer la première implication en écrivant Montrons que P → Q. La deuxième façon est d'utiliser des réécritures via des équivalences déjà disponibles jusqu'à arriver à une équivalence déjà connue ou à un énoncé de la forme $P ⇔ P$.

L'exemple suivant montre la transititivé de la notion d'équivalence. On notera qu'il s'agit exactement de la même démonstration par remplacement que pour la transitivité de l'égalité.

Exemple

Soit $P$, $Q$ et $R$ trois énoncés. On suppose que $P ⇔ Q$ et $Q ⇔ R$. Alors $P ⇔ R$.

example (P Q R : Prop) (h : P  Q) (h' : Q  R) : P  R :=
Démonstration
On peut réécrire l'énoncé à démontrer en utilisant l'hypothèse d'équivalence $Q ⇔ R$.
  On réécrit via  h',
P Q R : Prop,
h : P  Q,
h' : Q  R
 P  R
P Q R : Prop,
h : P  Q,
h' : Q  R
 P  Q
Le nouveau but est exactement notre première hypothèse d'équivalence.
  On conclut par h,
P Q R : Prop,
h : P  Q,
h' : Q  R
 P  Q
Gagné ! 🎉
QED.

On peut aussi montrer le même énoncé, moins efficacement, par double implication après avoir séparé chaque hypothèse d'équivalence en deux implications. Les lignes de conclusions dans chaque cas utilisent la syntaxe concise d'application d'une implication à un fait. Plus loin on expliquera comment créer une affirmation intermédiaire pour rendre cela plus clair.

Exemple

Soit $P$, $Q$ et $R$ trois énoncés. On suppose que $P ⇔ Q$ et $Q ⇔ R$. Alors $P ⇔ R$.

example (P Q R : Prop) (h : P  Q) (h' : Q  R) : P  R :=
Démonstration
Par hypothèse, $P ⇒ Q$ et $Q ⇒ P$.
  Par h on obtient (hPQ : P  Q) (hQP : Q  P),
P Q R : Prop,
h : P  Q,
h' : Q  R
 P  R
P Q R : Prop,
h' : Q  R,
hPQ : P  Q,
hQP : Q  P
 P  R
Par hypothèse, $Q ⇒ R$ et $R ⇒ Q$.
  Par h' on obtient (hQR : Q  R) (hRQ : R  Q),
P Q R : Prop,
h' : Q  R,
hPQ : P  Q,
hQP : Q  P
 P  R
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 P  R
Montrons la première implication.
  Montrons que P  R,
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 P  R
2 goals
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 P  R

P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
On suppose $P$
  Supposons hP : P,
2 goals
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 P  R

P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
2 goals
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q,
hP : P
 R

P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
On conclut alors que $R$ en appliquant successivement nos hypothèses $P ⇒ Q$ et $Q ⇒ R$.
  On conclut par hQR (hPQ hP),
2 goals
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q,
hP : P
 R

P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
Montrons maintenant la seconde implication.
  Montrons que R  P,
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
On suppose $R$
  Supposons hR : R,
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q
 R  P
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q,
hR : R
 P
On conclut alors que $P$ en appliquant successivement nos hypothèses $R ⇒ Q$ et $Q ⇒ P$.
  On conclut par hQP (hRQ hR),
P Q R : Prop,
hPQ : P  Q,
hQP : Q  P,
hQR : Q  R,
hRQ : R  Q,
hR : R
 P
Gagné ! 🎉
QED.

La conjonction

Étant donnés deux énoncés $P$ et $Q$, on peut construire la conjonction de $P$ et $Q$, il s'agit de l'énoncé qui affirme « $P$ et $Q$ sont vrais ». Le langage mathématique usuel n'emploie pas de notation pour la conjonction, le mot « et » étant bien assez court. Cependant les cours de logique et Lean utilisent la notation $P ∧ Q$.

Utilisation d'une conjonction

L'utilisation d'un hypothèse affirmant $P$ et $Q$ est quasiment transparente, on poursuit la démonstration en cours en utilisant la véracité de $P$ et celle de $Q$. Dans Lean, on peut explicitement décomposer une telle hypothèse h en deux hypothèses, nommées par exemple hP et hQ, à l'aide de la commande Par h on obtient hP hQ. Comme d'habitude, il peut être plus clair de préciser ce que disent hP et hQ, comme dans l'exemple suivant.

Exemple

Montrons que l'hypothèse que $P$ et $Q$ sont vrais entraîne que $P$ est vrai.

example (P Q : Prop) : P  Q  P :=
Démonstration
Supposons que $P$ et $Q$ sont vrais.
  Supposons h : P  Q,
P Q : Prop
 P  Q  P
P Q : Prop,
h : P  Q
 P
  Par h on obtient (hP : P) (hQ : Q),
P Q : Prop,
h : P  Q
 P
P Q : Prop,
hP : P,
hQ : Q
 P
En particulier $P$ est vrai.
  On conclut par hP,
P Q : Prop,
hP : P,
hQ : Q
 P
Gagné ! 🎉
QED.

Démonstration d'une conjonction

Pour démontrer (directement) une conjonction « $P$ et $Q$ », il faut fournir deux démonstrations : une démonstration de $P$ et une démonstration de $Q$. Le flot de la démonstration en cours se scinde donc en deux branches. Ces deux branches commencent avec un contexte commun mais des buts distincts. Puis elles progressent indépendamment l'une de l'autre. En particulier les résultats intermédiaires éventuellement démontrés dans une branche n'ont aucune influence sur l'autre. Dans Lean, cet embranchement est provoqué en annonçant la démonstration du premier énoncé par la commande Montrons que P (ou Montrons P qui sonne un peu mieux ici).

Exemple

Montrons que si $P$ est vrai et $P$ implique $Q$ alors $P$ et $Q$.

example (P Q : Prop) (hP : P) (hPQ : P  Q) : P  Q :=
Démonstration
Montrons que $P$ et $Q$ sont vrais.
  Montrons P,
P Q : Prop,
hP : P,
hPQ : P  Q
 P  Q
2 goals
P Q : Prop,
hP : P,
hPQ : P  Q
 P

P Q : Prop,
hP : P,
hPQ : P  Q
 Q
$P$ est vrai par hypothèse.
    On conclut par hP,
2 goals
P Q : Prop,
hP : P,
hPQ : P  Q
 P

P Q : Prop,
hP : P,
hPQ : P  Q
 Q
P Q : Prop,
hP : P,
hPQ : P  Q
 Q
$Q$ est vrai car, par hypothèse, $P$ et $P$ implique $Q$ sont vrais.
    On conclut par hPQ appliqué à hP,
P Q : Prop,
hP : P,
hPQ : P  Q
 Q
Gagné ! 🎉
QED.

La disjonction

Étant donnés deux énoncés $P$ et $Q$, on peut construire la disjonction de $P$ et $Q$, il s'agit de l'énoncé qui affirme « $P$ ou $Q$ est vrai ». Le langage mathématique usuel n'emploie pas de notation pour la disjonction, le mot « ou » étant bien assez court. Cependant les cours de logique et Lean utilisent la notation $P ∨ Q$.

Il est important de bien noter que le ou de la logique est toujours inclusif. L'affirmation « $P$ ou $Q$ » est vrai n'exclut pas la possibilité que $P$ et $Q$ soient deux énoncés vrais.

Utilisation d'une disjonction

L'utilisation d'une hypothèse affirmant $P$ ou $Q$ scinde la démonstration en deux branches. La première branche suppose que $P$ est vrai tandis que la seconde suppose que $Q$ est vrai. Ces deux branches commencent avec un contexte commun mais font une hypothèse différente. Puis elles progressent indépendamment l'une de l'autre. En particulier les résultats intermédiaires éventuellement démontrés dans une branche n'ont aucune influence sur l'autre. Ce phénomène d'embranchement rappelle la démonstration d'une conjonction, sauf que cette fois c'est l'utilisation d'une hypothèse qui provoque l'embranchement. Dans Lean, si h est une hypothèse assurant P ∨ Q, on crée les branches à l'aide de la commande On discute en utilisant h.

Exemple

Soit $P$, $Q$ et $R$ trois énoncés tels que $P$ implique $R$ et $Q$ implique $R$. Si $P$ ou $Q$ alors $R$.

example (P Q R : Prop) (hPR : P  R) (hQR : Q  R) : P  Q  R :=
Démonstration
Supposons que $P$ ou $Q$ est vrai.
  Supposons h : P  Q,
P Q R : Prop,
hPR : P  R,
hQR : Q  R
 P  Q  R
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
h : P  Q
 R
De deux choses l'une, soit P est vrai, soit Q l'est
  On discute en utilisant h,
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
h : P  Q
 R
2 goals
P Q R : Prop,
hPR : P  R,
hQR : Q  R
 P  R

P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
Supposons que $P$ est vrai,
   Supposons hP : P,
2 goals
P Q R : Prop,
hPR : P  R,
hQR : Q  R
 P  R

P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
2 goals
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
hP : P
 R

P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
et on obtient $R$ car $P$ implique $R$.
   On conclut par hPR appliqué à  hP,
2 goals
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
hP : P
 R

P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
Supposons maintenant que c'est $Q$ qui est vrai,
   Supposons hQ : Q,
P Q R : Prop,
hPR : P  R,
hQR : Q  R
 Q  R
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
hQ : Q
 R
et on obtient $R$ car $Q$ implique $R$.
   On conclut par hQR appliqué à hQ,
P Q R : Prop,
hPR : P  R,
hQR : Q  R,
hQ : Q
 R
Gagné ! 🎉
QED.

Démonstration d'une disjonction

Pour démontrer (directement) la disjonction « $P$ ou $Q$ », il faut, au choix, démontrer $P$ ou démontrer $Q$. Il n'y a qu'une seule branche, mais l'auteur de la démonstration doit choisir (en général une seule des deux possibilités permet de conclure). Face à un but de la forme P ∨ Q, on annonce à Lean quel côté va être démontré en utilisant la commande Montrons que.

Exemple

Soit $P$, $Q$ et $R$ des énoncés tels que $P$ implique $R$. Alors $P$ implique $Q$ ou $R$.

example (P Q R : Prop) (h : P  R) : P  Q  R :=
Démonstration
Supposons $P$.
  Supposons hP,
P Q R : Prop,
h : P  R
 P  Q  R
P Q R : Prop,
h : P  R,
hP : P
 Q  R
Pour montrer que $Q$ ou $R$ est vrai, montrons $R$.
  Montrons que R,
P Q R : Prop,
h : P  R,
hP : P
 Q  R
P Q R : Prop,
h : P  R,
hP : P
 R
Cet énoncé découle de l'hypothèse que $P$ est vrai car $P$ implique $R$.
  On conclut par h appliqué à hP,
P Q R : Prop,
h : P  R,
hP : P
 R
Gagné ! 🎉
QED.

L'affirmation intermédiaire

Les démonstrations des sections précédentes ne rendent évidemment pas compte de la complexité usuelle d'une démonstration mathématique, même en première année d'université. Il est très souvent nécessaire d'introduire des énoncés intermédiaires dans la démonstration. Un tel énoncé interrompt le flot principal de la démonstration en créant un nouveau but : démontrer l'énoncé intermédiaire. Une fois ce but atteint, on peut reprendre la démonstration principale là où elle s'était arrêtée, mais muni d'une nouvelle hypothèse affirmant la véracité de l'énoncé intermédiaire.

En plus de limiter la complexité locale de la démonstration, le recours à un énoncé intermédiaire permet d'éviter d'avoir trop souvent recours aux déductions vers l'arrière, qui peuvent parfois rendre la lecture plus difficile.

Dans Lean, la commande introduisant un énoncé intermédiaire qui sera utilisable sous le nom h est Fait h : ..., les points de suspension étant à remplacer par l'énoncé.

Exemple

Soit $P$, $Q$, $R$ et $S$ quatre énoncés tels que $P$ ou $Q$ implique $R$ et que $S$ implique $P$. Montrons que $S$ implique $R$.

example (P Q R S : Prop) (hPQR : P  Q  R) (hSP : S  P) : S  R :=
Démonstration
Supposons $S$.
  Supposons hS : S,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P
 S  R
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 R
Alors on peut affirmer que $P$ ou $Q$ est vrai
  Fait hPQ : P  Q,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 R
2 goals
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P  Q

P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
En effet $P$ est vrai
    Montrons P,
2 goals
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P  Q

P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
2 goals
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P

P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
car nous avons supposé que $S$ implique $P$ et que $S$ est vrai.
    On conclut par hSP hS,
2 goals
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P

P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
Puisque $P$ ou $Q$ implique $R$, on déduit $R$ de cette affirmation.
  On conclut par hPQR appliqué à hPQ,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S,
hPQ : P  Q
 R
Gagné ! 🎉
QED.
Exemple

On peut démontrer le même énoncé sans énoncé intermédiaire, en utilisant une déduction vers l'arrière, et comparer la lisibilité obtenue. Dans un exemple aussi simple, on peut considérer que cette seconde démonstration est plus percutante tout en restant lisible, mais il n'en sera pas toujours ainsi.

example (P Q R S : Prop) (hPQR : P  Q  R) (hSP : S  P) : S  R :=
Démonstration
Supposons $S$ et montrons $R$.
  Supposons hS : S,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P
 S  R
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 R
Par hypothèse, il suffit de montrer que $P$ ou $Q$ est vrai.
  Par hPQR il suffit de montrer que P  Q,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 R
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P  Q
Or $P$ est vrai,
  Montrons P,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P  Q
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P
car nous avons supposé que $S$ implique $P$ et que $S$ est vrai.
  On conclut par hSP appliqué à hS,
P Q R S : Prop,
hPQR : P  Q  R,
hSP : S  P,
hS : S
 P
Gagné ! 🎉
QED.

Le cours continue avec le chapitre 3.