L'analyse constructive est une branche des mathématiques constructives. Elle critique l'analyse mathématique classique et vise à fonder l'analyse sur des principes constructifs. Elle s'inscrit dans le courant de pensée constructiviste ou intuitionniste, dont les principaux membres ont été Kronecker, Brouwer ou Weyl.
Critique préalable de l'analyse classique Les tenants de l'analyse constructive critiquent la façon dont l'analyse classique utilise l'existence, la disjonction et le raisonnement par l'absurdeOn peut lire à ce sujet : ..
L'analyse constructive apporte une précision sur les théorèmes classiques et leur démonstrations, en distinguant les énoncés constructifs de ceux qui ne le sont pas. Ces derniers, « classiquement » vrais, demandent en analyse constructive à être démontrés d'une façon plus effective, ou bien à être remplacés par un énoncé constructif. Cette distinction entre énoncés constructifs et énoncés non constructifs rend possible la mise en œuvre des procédures numériques visant à appliquer un théorème, même si l'analyse constructive ne se limite pas à cet aspect algorithmique.
L'existence en mathématiques Considérons une propriété P dépendant d'un paramètre x. On se pose la question de montrer qu'il existe x tel que P(x) soit vérifié. Il y a essentiellement deux façons de répondre à cette question : la première consiste à définir un objet x particulier puis à vérifier que P(x) est vrai. Il s'agit d'une existence effective ; la deuxième consiste à raisonner par l'absurde. On suppose que, pour tout x, P(x) n'est pas vérifié, et l'on essaie d'en déduire une contradiction. Si l'on y parvient, on conclura que la non-existence de x est absurde et donc que x existe. Dans ce type de démonstration, on ne donne en général aucun moyen de définir explicitement le x en question. Il s'agit d'une existence formelle.
L'analyse mathématique classique ne fait pas de différence entre ces deux notions d'existence, alors que l'analyse constructive les distingue. La première notion est notée :
alors que la deuxième est notée :
Les deux ne sont pas considérées identiques en analyse constructive. La première entraîne la seconde, mais la réciproque, vraie en analyse classique sous réserve de faire appel à un raisonnement par l'absurde, n'est pas considérée comme constructive. Pour prendre une image due à Hermann Weyl, dans le premier cas, on sait qu'il existe un trésor, et de plus, on dispose de la carte indiquant sa cache. Dans le second cas, on sait qu'il existe un trésor, mais on n'a pas la carte.
À titre d'exemple, considérons un réel donné x dont on ignore s'il est rationnel ou irrationnel (c'est le cas de la constante d'Euler-Mascheroni) et qu'on veuille prouver que x est rationnel. On peut envisager les deux méthodes de démonstration suivantes : supposer x irrationnel et aboutir à une contradiction ; introduire judicieusement deux entiers p et q et prouver que x = p / q. On voit bien que la deuxième méthode donne plus d'information que la première, puisqu'elle prouve non seulement que x est rationnel, mais qu'elle donne également sa forme comme quotient de deux entiers explicites, chose que ne fait pas la première démonstration. Pour l'analyse constructive, les deux méthodes ne sont pas équivalentes : la première démonstration prouve que x est non irrationnel, la deuxième que x est rationnel. Mais pour l'analyse constructive, être rationnel est une propriété plus forte qu'être non irrationnel.
Disjonction et tiers exclu En mathématique classique, si P et Q sont deux propositions, on peut montrer que la disjonction est vraie en montrant que la conjonction conduit à une contradiction. Cette démarche ne permet cependant pas de savoir laquelle des deux propositions est vraie, et elle n'est pas admise en analyse constructive. Prouver en analyse constructive, c'est prouver que P est vrai ou bien prouver que Q est vrai.
De même, si P est une propriété quelconque, la proposition est vraie (principe du tiers exclu) en analyse classique, même si on n'a aucune idée sur le fait de savoir effectivement si P est vraie ou si P est fausse. En analyse constructive, on n'admet pas ce principe. Si A est un ensemble et si P est une propriété dépendant d'un paramètre x de A, le fait d'affirmer que tous les éléments de A vérifient P ou que l'un des éléments de A ne vérifie pas P, s'appelle principe d'omniscience. Il n'est pas reconnu en analyse constructive. La plupart des théorèmes de l'analyse classique sont basés sur ce principe et sont donc considérés comme non constructifs..
Soit une suite d'entiers. Le fait d'affirmer que, pour tout n, est nul ou bien il existe n tel que est non nul, s'appelle petit principe d'omniscience. Il est également rejeté en analyse constructive. La raison en est la suivante. Posons par exemple, pour n supérieur ou égal à 2, si 2n se décompose en somme de deux nombres premiers, et sinon. On ne dispose aujourd'hui d'aucune méthode permettant de savoir si tous les termes de la suite sont nuls ou pas, la réponse à cette question résolvant la conjecture de GoldbachOn appelle propriété fuyante une propriété dont on peut vérifier la véracité ou la fausseté pour tout entier donné, mais dont on ignore si elle est vraie ou fausse pour tout entier. Ce type de propriété permet de comprendre la différence entre analyse classique et analyse constructive. cf Jean Cavaillès, Méthode axiomatique et formalisme, essai sur le problème du fondement des mathématiques, Hermann, 1981, p.35 et suivantes..
Le raisonnement par l'absurde Classiquement, il énonce que, si conduit à une contradiction, alors P est vraie. Ce principe est analogue au principe du tiers exclu et est également rejeté en analyse constructive. Le fait que conduise à une contradiction permet de conclure que est vraie, mais la double négation est considérée plus faible que l'affirmation. Ainsi, affirme l'existence effective d'un élément x vérifiant P. Sa négation est . La négation de la négation énonce que qui énonce une existence formelle, mais non effective de x.
Quelques règles Ainsi, en analyse constructive, le raisonnement par l'absurde, l'élimination de la double négation, l'utilisation du tiers exclu, la contraposition sont évités. En cela, la démarche de l'analyse constructive se rapproche de celle de la logique intuitionniste. Cependant, cette dernière logique rejette les principes précédents, alors que l'analyse constructive s'autorise à les utiliser, à condition d'être justifiés. Par exemple, le raisonnement par l'absurde conduisant à la preuve d'une existence formelle est admis si le domaine où il s'applique est un ensemble fini. Le tiers exclu est également admis pour comparer deux entiers ou deux rationnels x et y : on a ou bien ou bien car il existe des procédures algorithmiques pour comparer deux entiers ou deux rationnels, mais la même conclusion n'est pas acceptée pour deux réels.
Il peut donc être utile de donner quelques exemples de raisonnements non constructifs, et constructifs.
Raisonnements non constructifs Les raisonnements suivants, classiquement vrais, sont considérés comme non constructifs, car ils nécessitent l'utilisation du raisonnement par l'absurde ou du principe du tiers exclu. Précisons que la définition de la négation d'une proposition P consiste en le fait que P conduit à une contradiction. Cependant, l'analyse constructive essaie de se passer de la négation, en proposant en général deux définitions correspondant aux deux affirmations qui seraient classiquement négations l'une de l'autre.
De , déduire : la conjonction de A et B conduit à une contradiction, mais ne permet de savoir laquelle des deux propositions est fausse. La disjonction des deux négations, acceptée classiquement, ne l'est pas en analyse constructive.
De , déduire que : classiquement, l'utilisation de la contraposée est une variante du raisonnement par l'absurde. Elle n'est pas constructivement valide.
(tiers exclu) : comme nous l'avons dit, ce théorème classique n'est pas constructivement admis car on ignore si A est effectivement vraie ou si A est fausse.
(élimination de la double négation) : nous avons expliqué plus haut que la double négation est considérée comme plus faible que l'affirmation en analyse constructive.
De , déduire : le fait que A implique B n'est pas considéré constructivement suffisant pour déterminer si A est faux ou si B est vrai. Une preuve de l'implication doit être telle qu'elle fournit une preuve de B si on a une preuve de A. Si on n'a pas de preuve de A, il est possible que l'on n'ait pas non plus une preuve de .
De , déduire : comme nous l'avons déjà vu, l'analyse constructive distingue les deux notions d'existence intervenant ici. De la deuxième, on peut déduire la première, mais pas l'inverse.
Raisonnements constructifs On montre que les raisonnements suivants ne font pas appel au raisonnement par l'absurde ou au tiers exclu. Ils sont donc admis en analyse constructive.
équivaut classiquement, mais aussi constructivement, à .
De , on peut déduire , mais pas l'inverse.
équivaut classiquement, mais aussi constructivement, à .
De , on peut déduire , mais pas l'inverse.
Éléments d'analyse Seules quelques notions élémentaires relatives aux suites et aux fonctions sont présentées ici, afin d'éclairer ce qu'est l'analyse constructive.
Les réels L'analyse constructive se fonde sur les entiers et les rationnels, considérés comme les objets élémentaires, constructifs par nature. La définition d'un réel par une suite de Cauchy de rationnels n'est pas constructive, l'analyse constructive lui substitue les définitions suivantes : Une suite de rationnels est régulière si, pour tout n et m strictement positifs, . En analyse constructive, une telle suite définit un réel x. Deux réels x et y sont égaux si, pour tout n, . Il s'agit d'une relation d'équivalence. On peut définir sur ces réels des opérations de somme et produit, de maximum, de minimum, de valeur absolue, ainsi que des inégalités. Plus précisément : Un réel x strictement positif est défini par une suite régulière et un entier n tels que . Un réel x est positif ou nul si, pour tout n, . Un réel x est nul si, pour tout n, . Un réel x différent de 0 est défini par une suite régulière et un entier n tels que .
On peut montrer que, pour tout n, , ce qui permet de comprendre a posteriori la formulation des définitions précédentes.
On prendra garde que, pour montrer que x est non nul, il faut définir explicitement n tel que . Se borner à montrer que la condition conduit à une contradiction n'est pas constructivement suffisant. Ainsi ne permet pas de déduire en analyse constructive que , car il manque la donnée n. Par contre, entraîne que . Concrètement, le fait que conduise à une contradiction signifie classiquement que x est non nul, et donc qu'il existe par exemple un chiffre non nul dans son développement décimal, mais cela ne permet pas de dire quel est le rang de cette décimale. On voit donc de nouveau apparaître une existence formelle non admise en analyse constructive. À l'inverse, si x est non nul au sens constructif, alors on peut déterminer le rang d'une décimale non nulle. Numériquement, la différence est essentielle, car dans le second cas, on connaît la précision à laquelle il faut mener les calculs pour distinguer x de 0, alors que dans le premier cas, on l'ignore. L'analyse constructive distingue donc une différence forte d'une différence faible .
De même si on sait que , alors on peut conclure que , puisque la conclusion est entraînée aussi bien par la première proposition de la disjonction que par la deuxième. Mais la réciproque n'est pas valide en analyse constructive. On peut très bien avoir sans pouvoir déterminer laquelle des deux propositions ou est vraie.
Enfin, si , alors , mais la réciproque n'est pas acceptée en analyse constructive.
Exemples d'énoncés constructifs