Nombres réels 1 : la structure de corps des réels

Les propriétés fondamentales du corps des réels

Les nombres réels de Coq sont définis d'une certaine manière dont on ne se souciera pas (bon, en fait avec les coupures de Dedekind, mais ce n'est qu'une façon parmi d'autre de les construire et ce que nous ferons n'en dépend pas). Ce qui faut retenir est :

  • les réels forment un corps : il y a une addition et une multiplication qui sont telles que
  • l'addition est commutative, associative et a pour élément neutre 0
  • tout réel a un opposé
  • la multiplication est commutative, associative et a pour élément neutre 1
  • tout réel non nul a un inverse
  • la multiplication est distributive sur l'addition
  • 1 et 0 sont différents
  • les réels forment un corps ordonné : il y a un ordre, noté <, qui est total, compatible avec l'addition et la multiplication par un réel positif
  • les réels satisfont la propriété de la borne supérieure
Une fois qu'on a ces propriétés, on est sûr qu'on a affaire aux réels dont on a l'habitude. En effet, ces propriété caractérisent entièrement les nombres réels, il n'y a pas d'autre corps qui a ces propriétés (par exemple le corps des rationnels n'a pas la propriété de la borne supérieure et le corps des complexes n'est pas un corps ordonné). Ces propriétés sont réduites à 16 briques de bases que nous allons admettre. Dans ce document, on s'intéresse uniquement à la structure de corps des réels, c'est-à-dire aux propriétés de l'addition et de la multiplication. Enfin, on n'hésitera pas à utiliser le tiers exclu lorsqu'on en a besoin.

🚧 On expérimente ici une nouvelle interface (maison) pour les réels (les corps en général). Ne pas hésiter à faire des retours !

Mise en place : opérations, notations et axiomes

NB: cette partie est assez technique et sans intéractions, elle peut être lue en diagonale

On suppose donné un module, c'est-à-dire un composant logiciel (un fichier, par exemple), définissant les choses suivantes. Si c'est trop abstrait pour vous, pensez juste qu'on travaille avec des nombres réels.

Avec des mots : un module qui satisfait AxiomesCorps définit :

  • un type t
  • sur lequel on a une addition et une multiplication notées + et *
  • une opération "opposé", l'opposé de x est noté - x
  • une opération "inverse", l'inverse de x est noté / x
  • l'addition et la multiplication sont commutative et associatives
  • il y a dans t deux éléments 0 et 1 qui sont distincts et respectivement neutres (à gauche) pour l'addition et la multiplication
  • la multiplication est distributive (à gauche) sur l'addition
  • tout élément a un opposé (à gauche)
  • tout élément a un inverse (à gauche)
On a donc déjà 10 briques de bases sur les 16 qui caractérisent le corps des réels. Le jeu est maintenant de retrouver des propriétés usuelles avec ces briques de base.

Pour faciliter les recherches, on cache tout ce qui est prédéfini dans Coq/Rocq :

Addition dans un corps

Pour l'instant voici tous les résultats qu'on a sur l'addition :

Et voici même, tout ce qu'on connaît tout court :

N'hésitez pas à entrer ces commandes à tout moment pour pouvoir chercher les résultats utilisables.

Exercice : Prouver le théorème suivant.

Voici également deux lemmes évidents :

Les lemmes précédents n'ont aucun contenu mathématique, on voit dans les preuves qu'on n'utilise aucune propriété de l'addition. Mais ils sont utiles en raisonnement vers l'avant, pour ajouter un même élément à gauche et à droite d'une égalité. Voici un exemple un peu idiot :

Un opposé d'un réel x est un réel y tel que x + y = 0. En fait, on peut prouver que l'opposé, quand il existe, est unique.

Exercice : Prouver le théorème suivant.

Cet opposé, étant unique, peut avoir sa propre notation et ici on suppose qu'il existe toujours et est noté - x.

Pour rappel, on a supposé :

Avec la commutativité, on en déduit facilement :

Exercice : Prouver le théorème suivant.

On peut faire "changer de côté" un terme dans une équation :

On peut aussi "simplifier" les équations.

Exercice : Prouver le théorème suivant.

Par commutativité, on a facilement :

Exercice : Prouver le théorème suivant.

Remarque : add_eq_reg_l ou add_eq_compat_l ? On a des énoncés réciproques l'un de l'autre. Comme dit précédemment, add_eq_compat_l n'a pas de contenu mathématique mais est utile pour ajouter un même nombre à un égalité dans une hypothèse (raisonnement vers l'avant). Par contre, add_eq_reg_l suppose l'existence d'un opposé, il sert à

  • simplifier les égalités entre additions dans les hypothèses
  • ajouter un même nombre dans le but (raisonnement vers l'arrière).

En guise d'application, une petite équation du premier degré :

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

Il y a un peu de pénibilité avec l'associativité. Rappelez-vous qu'avec l'addition les parenthèses cachées sont à gauche. Si ça ne passe pas, vous pouvez sauter cet exercice et y revenir plus tard.

Multiplication dans un corps

Sans rien supposer sur la multiplication, on a déjà (comme pour l'addition) :

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

De plus, on rappelle que la multiplication doit être distributive sur l'addition :

On en déduit :

Exercice : Prouver le théorème suivant.

On peut maintenant montrer que 0 est absorbant pour la multiplication.

Exercice : Prouver le théorème suivant.

Avant de se lancer sur la preuve formelle, on cherche une preuve en mathématiques plus informelles.

Beaucoup plus facile maintenant qu'on a le premier :

Exercice : Prouver le théorème suivant.

Dans un corps, 0 et 1 doivent être distincts.

Et enfin tout élément x non nul a un inverse. Cet inverse est unique (même preuve que pour l'unicité de l'opposé et c'est normal...) et est noté en mathématiques 1 / x, en Coq / x.

On en déduit immédiatement :

Exercice : Prouver le théorème suivant.

L'existence d'un inverse permet de simplifier les produits dans les égalités.

Exercice : Prouver le théorème suivant.

Exercice papier-crayon.

Le théorème précédent est-il encore vrai sans la condition sur x ? Si oui, le prouver, si non, trouver un contre-exemple.

On en déduit facilement :

Exercice : Prouver le théorème suivant.

Puis on montre que pour qu'un produit soit nul, il faut qu'un de ses facteurs soit nuls. Mais pour ça on a besoin du théorème disant qu'on peut raisonner par cas sur l'égalité ou non de deux réels avec le tiers exclu.

Exercice : Prouver le théorème suivant.

Maintenant, l'inverse d'un réel non nul est non nul :

Exercice : Prouver le théorème suivant.

Le produit de deux réels non nuls est non nul.

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

Exercice : Prouver le théorème suivant.

La division est définie à partir de la multiplication et de l'inverse :

Enfin, l'inverse de (x / y) vaut (y / x) à condition que ces réels soient non nuls.

Exercice : Prouver le théorème suivant.