Souvent les étudiants en première année ont une idée intuitive pour une preuve mais lorsqu'ils l'écrivent avec les termes de la logique mathématique leur rédaction est très maladroite, voire fausse ou illisible. Ces lignes leur sont destinées. Je vais montrer sur des exemples très simples ce qu'il faut faire et ce qu'il faut éviter.

Syntaxe d'une assertion

Une assertion (ou proposition) mathématique est une phrase contenant un verbe. Les verbes mathématiques sont par exemple

=\;\;\;<\;\;\;>\;\;\;\leq\;\;\;\geq\;\;\;\subset\;\;\;\supset\;\;\;\in\;\;\;\ni\;\;\;\Rightarrow\;\;\;\Leftarrow\;\;\;\Leftrightarrow\;\;\;\perp\;\;\;\parallel

et leurs négations. Par exemple

7 + 1 = 8

est une assertion (qui est vraie), et

1 < 0

est une assertion (qui est fausse). Mais

7+1

n'est pas une assertion car elle ne contient pas de verbe, donc on ne peut pas se demander si elle est vraie ou fausse. Entre deux assertions équivalentes on n'écrit pas = mais le symbole \Leftrightarrow. Ce symbole étant lui-même un verbe c'est donc un emboîtement d'assertions (pensez aux poupées russes).
Ecrire
1 \leq x \leq 5\;\;\Leftrightarrow\;\; [1,5]
n'a aucun sens car [1,5] n'est pas une assertion (c'est un intervalle). En revanche, on peut écrire
1 \leq x \leq 5\;\;\Leftrightarrow\;\; x\in [1,5].

Il ne suffit pas de mettre un verbe pour avoir une assertion, il faut aussi que la syntaxe soit correcte. Par exemple écrire \{7\}\in\mathbb{N} et 7\subset\mathbb{N} n'ont pas de sens. Mais \{7\}\subset\mathbb{N} et 7\in\mathbb{N} sont des assertions (qui sont vraies d'ailleurs).
Le langage mathématique suit les mêmes règles que notre langage habituel (phrase principale, phrase relative, conjonctions,...). Si quelqu'un vous disait
Nous ¤ camping # faisez ((à pluie sec
pouvez-vous dire qu'il dit la vérité ou non ? Non, vous ne pouvez pas ! Or c'est précisément ce que certains étudiants écrivent sur leurs copies de mathématiques : des juxtapositions de symboles qui ne donnent aucun sens. Et donc nous, les correcteurs, ne pouvons pas donner de point pour ce charabia.
Les symboles ne sont que des raccourcis d'écriture. Vous devriez être capables de rédiger sans eux. Si la traduction en langage français de ce que vous écrivez à l'aide de symboles n'a pas de sens, alors il y a un problème.

Introduire les objets avant leur utilisation

Ne faites jamais apparaître un objet sans l'introduire. Par exemple n'écrivez pas

x^2-6x+5=0\;\;\Leftrightarrow\;\; S=\{1,5\}.

Peut-être votre enseignant au lycée vous a donné cette mauvaise habitude, mais la lettre S n'est pas universellement reconnue pour désigner l'ensemble de solutions d'une équation. Il faut donc faire précéder par une petite phrase comme : Notant S l'ensemble de solutions de l'équation x²-6x+5=0 on obtient... Mais cela est bien lourd. Ecrivez donc plus simplement
x^2-6x+5=0\;\;\Leftrightarrow\;\; x\in\{1,5\}.

Exemples de bonne syntaxe

Les théorèmes 1, 2 et 3 ci-dessous sont des assertions. Les deux premiers sont équivalents ; et chacun d'entre eux implique le troisième.

Théorème 1.  Soit a\in \mathbb{R}. Alors la fonction f définie par f(x)=ax pour tout réel x est strictement croissante sur \mathbb{R} si et seulement si a > 0.
Théorème 2.  Pour tout réel a la fonction f définie par f(x)=ax pour tout réel x est strictement croissante sur \mathbb{R} si et seulement si a > 0.
Théorème 3.  Si a > 0 est un réel alors la fonction f définie par f(x)=ax pour tout réel x est strictement croissante sur \mathbb{R}.
La preuve du théorème 2 devrait commencer comme suit.
Preuve du théorème 2.  Soit a un réel. Blabla...
Evidemment on aurait pu écrire soit b un réel et continuer à travailler avec ce b. Ca serait tout à fait correct car dans le théorème 2 le réel a est une variable locale car précédé par le quantificateur \forall. Ecrire soit a un réel ou soit b un réel revient à fixer ce réel ce qui en fait une variable globale pour la suite du raisonnement.
C'est le moment de mentionner une subtilité. Le théorème 1 commence par soit a un réel. De ce fait a est déjà fixé (une variable globale) dans le théorème 1 et ça serait inutile et même faux de commencer la preuve par dire soit a un réel. Il est déjà donnée et nous devons travailler avec lui et pas avec un autre a ni un autre b.

Mauvaise rédaction de la preuve

Preuve du théorème 2 (version débutant).
Soit a un réel. Supposons a > 0. Il faut montrer que pour tous réels x, y tels que x < y on a f(x) < f(y). Or x < y et a > 0 entraînent ax < ay ou encore f(x) < f(y). Donc f est strictement croissante.
Réciproquement supposons que f est strictement croissante, c'est-à-dire pour tous réels x, y tels que x < y on a f(x) < f(y). On voit sur l'inégalité ax < ay que a doit être forcément positif, sinon l'inégalité devrait être dans l'autre sens.
Trois erreurs :
  • On voit sur l'inégalité ax < ay .... Or les symboles x et y n'ont pas été introduits précédemment. Il fallait écrire soit x et y....
  • La fin du raisonnement devrait être... n'est pas clair.
  • Le débutant écrit il faut montrer que... puis il donne la définition d'une fonction strictement croissante. Or redonner une définition tellement basique c'est presqu'un insulte vis-à-vis du correcteur ! Evitez de redonner des définitions que tout le monde connaît et n'écrivez pas ce que vous voulez démontrer si c'est déjà écrit clairement dans l'énoncé.
    En revanche, si ce que vous allez démontrer est une reformulation équivalente ou seulement une condition nécessaire pour la proposition que vous cherchez à prouver alors il est souhaitable que vous écrivez "je vais démontrer ceci...". Par exemple c'est une bonne idée d'écrire : Soit a > 0. Pour montrer que la fonction définie par f(x)=ax pour tout réel x est strictement croissante sur R je vais prouver que sa dérivée est strictement positive.

Bonne rédaction

Preuve du théorème 2 (version de l'étudiant expérimenté).
Soit a un réel.
Supposons a > 0. Soient x, y deux réels tels que x < y. Alors on a
f(x) = ax < ay = f(y). Cela prouve que f est strictement croissante.

Réciproquement supposons f strictement croissante. Alors l'inégalité 0 < 1 entraîne l'inégalité f(0) < f(1). Cela prouve que a = f(1) > f(0) = 0.

Structure d'une preuve

Exemple de structure d'une preuve bien rédigée :

Enoncé.  Soient A et B des ensembles et f une application de A dans B. Montrer que si on a l'hypothèse (H) ... alors f est injective.
Preuve.
Supposons (H). Soient x et y deux éléments de A tels que f(x) = f(y) ......
...... (je raisonne) ...... j'utilise la propriété (H) ...... (je raisonne) ...... j'obtiens x = y.
Cela prouve l'injectivité de f.
Autrement dit, vous introduisez deux éléments x et y qui vérifient l'égalité f(x) = f(y), puis vous gardez en tête que vous voulez arriver à l'égalité x = y. Si vous voulez vous pouvez l'écrire x = y en bas de votre page pour savoir où vous voulez arriver. Mais surtout ne l'écrivez pas plus tôt car c'est votre but et non votre point de départ ! Sur le chemin du raisonnement vous devez, très probablement, utiliser la propriété (H).
Preuve alternative (par contraposition).
Supposons (H). Soient x et y deux éléments distincts de A ......... (je raisonne) ........
........ j'utilise la propriété (H) ........ (je raisonne) ........ je trouve que f(x) est différent de f(y). Cela prouve l'injectivité de f.

Autre conseil

Mon collègue et ami Laurent Kaczmarek a écrit des conseils de rédaction utiles concernant la notation des fonctions en analyse.

Partagez-le sur Facebook Tweetez-le ! S'abonner à ce blog ? Envoyer cet article à un ami ? Le soumettre à Netvibes Ajoutez-le à Google Bookmarks