Réflexions sur la théorie des ensembles

Un article de Caverne des 1001 nuits.

Version du 20 mai 2009 à 20:57 par 1001nuits (Discuter | Contributions)
(diff) ← Version précédente | voir la version courante (diff) | Version suivante → (diff)

Sommaire

[modifier] Introduction

Cet article tente d'analyser certaines défaillances fondamentales de la théorie axiomatique des ensembles de Zermelo-Fraenkel, théorie qui fut conceptualisée à la suite de la théorie dite "naïve" des ensembles de Cantor, exprimée dans le langage courant. Le but de cet article est de montrer que si le fait même de formaliser la théorie des ensembles de Cantor était une nécessité, la fomalisation de Zermelo-Fraenkel grave dans le marbre des ambiguïtés sémantiques qui font que la théorie axiomatique des ensembles ne peut servir à d'autres domaines de la pensée.

Nous étudierons certaines de ces approximations, notamment au travers d'exemples précis, ceci afin de remettre en cause la formalisation elle-même, et donc certains axiomes de cette théorie. Notre but serait d'obtenir une théorie axiomatique des ensembles qui pourrait avoir des applications en dehors des mathématiques[1].

De plus, nous remettrons en cause une certaine vision de l'infini en provenance de cette théorie des ensembles, vision qui résulte de ces ambiguïtés de notations.

[modifier] L'hypothèse sous-tendant les axiomes de la théorie Zermelo-Fraenkel

[modifier] Introduction

Il y a deux façons de se sortir des paradoxes causés par la théorie des ensembles de Cantor, notamment du paradoxe de Russell, qui s'exprime en formalisme actuel par y = {x | x ∉ x} :

  • soit considérer que tout objet est un ensemble, ce qui mène à la théorie Zermelo-Fraenkel (ZFC) ;
  • soit d'utiliser une approche typée des objets, approche qui remet en cause de façon fondamentale l'universalité du symbole binaire ∈.

C'est cette seconde approche que nous voudrions appuyer, une approche qui considère que la fonction binaire ∈ est une fonction qui dépend du contexte manipulé.

[modifier] Exemple d'une approche typée

Soit A l'ensemble des pièces détachées d'une voiture B. Nous noterons :

  • A = {x : x est une pièce détachée de B}.

Dans la théorie ZFC, on écrit :

  • x ∈ A.

Or, nous omettons dans cette définition la notion de partie de B. Ainsi, nous pourrions définir un nouveau symbole comme ♦ pour écrire :

  • A = {x : x ♦ B} pour dire "x est une partie de B".

Cette notation nous donne donc deux perspectives : celles de A, ensembliste au sens traditionnel, et celle de B, ensembliste au sens de "est une partie de".

Supposons que x1 soit la roue avant gauche de la voiture B. x1 est une roue. Elle fait donc partie du sous-ensemble C de A des roues de B. Nous pouvons écrire :

  • C = {x : x est une roue de B},
  • x1 ∈ C,
  • et naturellement C ⊂ A.

Soit G, l'ensemble de toutes les roues de toutes les voitures. Nous pouvons écrire :

  • C ⊂ G,
  • x1 ∈ G.

Mais là encore, nous perdons une notion de typologie. Si G est vu comme le "concept" de roue, alors il nous faut un nouveau symbole pour définir le fait que x1 soit une roue (une "instance" de roue). Ainsi la notation pourrait ressembler à :

  • C ⊂ G,
  • x1 ◊ G.

[modifier] Finalité d'une approche typée

L'approche typée est très bien connue en programmation orientée objet où l'on distingue les symboles ♦ et ◊ du symbole générique ∈, souvent complètement inutile car trop vague.

La finalité d'une approche typée est de contextualiser l'approche que nous avons des ensembles et de caractériser ces ensembles en fonction :

  • de ce qu'ils contiennent,
  • de ce qui doit être démontré.

Chose surprenante, cette approche est courante dans d'autres branches des mathématiques car personne ne se permettrait de considérer que l'on peut inverser une matrice réelle aux mêmes conditions que l'on inverse une matrice composée d'éléments complexes. L'opérateur d'inversion de matrice est donc dépendant du type que l'on manipule. Il devrait en être de même dans la logique ensembliste.

[modifier] Un problème d'infini

L'idée que nous défendons ici est que les concepteurs de la théorie ZFC voulurent garder le concept d'infini de Cantor et donc se placèrent dans une posture de refus d'une approche typée, optique qui impliquait une quasi disparition de la notion d'infini.

En restant suffisamment généraux sur les concepts utilisés et notamment en fusionnant a priori les éléments et les ensembles (ce qui pourrait être vu comme une fusion des opérateurs binaires ∈ et ⊂ et une non contextualisation de ces opérateurs), la théorie ZFC prend pour hypothèse la construction d'une théorie ensembliste générale ayant pour but :

  • la perfection au travers d'un niveau d'abstraction très (trop) général,
  • la construction d'un socle mathématique qui de facto s'écarte de la réalité mentale de manipulation des ensembles,
  • la conservation du concept cantorien d'infini.

La théorie ZFC est donc un acte engagé et non une mise à plat simple des axiomes de base de la théorie naïve des ensembles. C'est un acte biaisé qui peut expliquer pourquoi l'arithmétique a beaucoup moins d'applications concrètes que l'analyse par exemple.

[modifier] La non universalité du langage de calcul des prédicats de premier ordre

[modifier] Introduction

A chaque fois que l'homme tente de chercher une universalité, il se trompe. Cette affirmation, si elle peut choquer bon nombre de mathématiciens, est pourtant le constat fondamental de l'épistémologie, constat très bien détaillé par Gaston Bachelard dans son ouvrage La philosophie du non. L'universalité est au final toujours un consensus qui ne dure qu'un temps, un consensus qui a pour revers de stériliser les idées de ceux qui ne le comprennent pas, et de conforter dans leur supériorité ceux qui le soutiennent. L'homme est limité, ce qui explique que son universalité soit toujours :

  • dépendante de l'époque,
  • dépendante de lui-même.

C'est dans cette optique, plus philosophique que mathématique, que nous allons aborder les principes du calcul des prédicats. La logique "absolue" du calcul des prédicats ne fait pas exception à la règle, et cette logique pourrait être complexifiée avec la notion de type, notion que l'on retrouve avec succès dans bien des branches des mathématiques.

[modifier] La logique binaire du calcul des prédicats

La première base sur laquelle est basée la logique des prédicats est le calcul binaire. Cela sous-entend plusieurs choses :

  • les "variables" du calcul sont non typées ;
  • elles permettent de valider ou d'invalider une proposition P (prédicat).

Une fois encore, il est étonnant que cette théorie ait pu subsister aux travaux mathématiques sur l'analyse, car l'analyse nous montre des fonctions qui prennent en argument des types particuliers et pour lesquelles la validité ou non d'une propriété peut s'étendre sur une plage de variables ou rester indéterminée sur une autre.

Ainsi, considérons la fonction f0 suivante :

  • soit f0 : ℜ → ℜ,
  • f0(x) = 1/x.

Considérons le prédicat P0 suivant :

  • f0 est évaluable.

Nous voyons bien que f0 est évaluable pour x ≠ 0. Le prédicat P0 est donc vrai pour certaines valeurs de x et faux pour d'autres. Si nous considérons P0 dans sa globalité tel qu'il est défini (x ∈ ℜ), alors P0 est "indéterminé". Si nous donnons une définition à cette indétermination logique en utilisant le symbole "?", nous pouvons écrire :

  •  ?P ⇔ ∃ x, y : P(x) ∧ ¬P(y), ce qui est beaucoup plus précis que de simplement écrire ¬P.

Le langage courant étant la base du calcul des prédicats et étant plus complexe que l'exemple mentionné ci-dessus, il est étonnant de voir combien simpliste est le formalisme de la logique des prédicats. Nous pouvons aussi poser la question des perspectives d'une formalisation aussi simple.

Bien entendu, nous reconnaissons qu'il est toujours possible de construire sur une théorie simpliste et d'en tirer des applications, mais le problème réside dans la portée limitée de ces constructions et dans leur fermeture due aux hypothèses sous-jacentes qu'a admis la théorie elle-même.

[modifier] Pistes pour une extension des hypothèses du calcul des prédicats

[modifier] Une ambiguïté sur la notion de "langage"

Nous pourrions donner quelques pistes pour élargir les hypothèses du calcul des prédicats. La première idée serait de redéfinir des langages de prédicats en y a joutant une notion de typologie des variables (selon leur nombre possible). On distinguerait donc :

  • le langage LE portant sur un ensemble de symboles VE dits variables, ensemble fini E à préciser lors de l'exercice logique ;
  • le langage L portant sur un ensemble de symboles V dits variables, ensemble infini dont les variables sont "indexables" sur ℵ ;
  • le langage L portant sur un ensemble de symboles V dits variables, ensemble infini dont les variables sont non "indexables" sur ℵ.

Cette typologie permet de particulariser les trois cas de logique et de partir de l'hypothèse que les propositions vraies dans LE ne le sont pas a priori dans L ou dans L. Cette hypothèse n'implique pas qu'une proposition P définie dans les trois langages de la même façon abstraite sur VE, V et V ne puisse être vraie simultanément ; elle implique que la proposition doive être vérifiée dans ces trois langages, en raison de la structure même des différents ensembles de variables manipulés.

Il en va de même pour les autres définitions du calcul des prédicats :

  • C, l'ensemble des symboles de constantes devient relatif à la typologie de V et de L (soit respectivement CE, C et C),
  • P l'ensemble des symboles de prédicats devient relatif à la typologie de V et de L (soit respectivement PE, P et P),
  • F l'ensemble des symboles de fonctions devient relatif à la typologie de V et de L (soit respectivement FE, F et F).

L'ambiguïté porte donc, non sur le langage, mais sur la typologie des variables utilisées par ce langage. En ce sens, définir seulement l'espace des symboles du langages est insuffisant.

[modifier] Introduction de la notion de contexte

La typologie des variables est tout à fait fondamentale car elle légitime l'idée que des prédicats puissent être vrais dans un des langages seulement (sous-entendu dans un des langages portant sur une typologie de variables précises) [2]. De plus, le langage L est relatif à l'ensemble fini des symboles que nous acceptons comme variables.

Pour reprendre l'exemple de f0 et de P0 :

  • dans un langage L qui accepterait des variables de type x ∈ [1, 10], on obtient P0;
  • dans un langage L, on obtient ?P0 ;
  • dans un langage Lℵ*, on obtient P0 ;
  • dans un langage L, on obtient ?P0 ;
  • dans un langage Lℜ ∪ {∞}, on obtient P0 (à supposer que l'on se mette d'accord sur ce que l'on entend par le symbole ∞) ;
  • etc.

Ces distinctions, quoique à raffiner (car rien n'indique que l'on puisse formellement se limiter à trois types de langages seulement), introduisent la dimension de « contexte ». Selon le contexte des variables utilisées, il n'est pas légitime de généraliser.

Le langage LE est donc conditionné à son contexte E, ce qui ouvre d'autres perspectives quant à l'analyse logique cela sur deux grands axes :

  • travailler sur les ensembles finis de variables (même si ces ensembles contiennent un grand nombre d'éléments) ;
  • ne pas "passer à l'infini" aussi rapidement que cela, et donc typer les objets de type fonction différemment selon que ces derniers portent sur des ensembles finis ou infinis.

Pour soutenir le second point, considérons les deux fonctions suivantes pour x entier :

  • f1 : [0, 10] → 2[0, 10],
  • f1(x) = 2x ;
  • f2 : ℵ → 2ℵ,
  • f2(x) = 2x ;

f1 et f2 n'ont pas la même nature, car logiquement, elles n'opèrent pas sur les mêmes catégories de variables. Elles sont toutes les deux des "bijections" mais opérant sur des ensembles différents. En ce sens, f1 est une bijection et f2 est une "bijection infinie", ce qui est un objet d'une nature profondément différente. Il n'y a donc pas de raison a priori pour que l'une et l'autre puissent avoir des propriétés partagées si l'on change implicitement, au travers des ambiguïtés de la théorie ZFC, de contexte.

[modifier] Une ambiguïté sur la notion de variable et de constante

Au sein de la théorie du calcul des prédicats, les variables semblent :

  • "homogènes" de manière sous-entendue (ce qui veut dire que la propriété doit être évaluée ∀ x et donc que les x sont interchangeables),
  • "définies" de manière sous-entendue (ce qui signifie implicitement que ∀ x, x =x).

Ces sous-entendu sont à la base de nombreuses erreurs de logique, car elles peuvent changer profondément le résultat de l'évaluation du prédicat, même dans le cas où nous entendons une logique ternaire de type "vrai", "faux" ou "indéterminé".

[modifier] Le cas particulier de la constante ∞

Reprenons l'exemple de la fonction f0. Si nous postulons : 1/0 = ∞, cela signifie que nous définissions ∞ comme une constante de l'ensemble des constantes C de la théorie de calcul des prédicats. Mais, si nous ouvrons des langages relatifs, ∞ et ∞ n'ont aucune raison d'être des objets identiques. On en revient d'ailleurs à Cantor et à la non existence d'une bijection infinie entre ℵ et ℜ, ce qui signifie bien que ∞ n'est une constante du langage que de manière relative.

Cela signifie l'utilisation du symbole ∞ n'est licite logiquement que si le contexte du langage L est défini. Dans l'absolu, s'il existe plusieurs symboles ∞, c'est que plusieurs sémantiques se rattachent à ce symbole.

L'ambiguïté principale de ZFC réside donc dans cette notion de langage qui à la fois définit des symboles pour les constantes et définit des symboles pour les variables, sans pour autant définir la différence entre le symbole de la variable et la valeur de la variable elle-même. Or il y a là une différence fondamentale. Si nous nous abstrayons un temps de l'aspect dénomination et que nous regardons la sémantique de la construction.

[modifier] Constante et variable : des abstractions n'ayant pas la même dimension

Une constante d'un langage est une donnée que nous qualifierons de niveau 1. Une variable est une donnée qui peut prendre plusieurs valeurs dont celles des constantes. La variable est donc une abstraction, une représentation ; elle est donc de niveau 2. En tant que la variable peut prendre toutes les valeurs d'un ensemble, cela signifie que toutes les valeurs de l'ensemble sont du même type et que la variable est du type des valeurs, mais au niveau 2 et non au niveau 1.

Prenons un exemple : j'ai dans mon panier X 10 torchons et 10 serviettes. Le cardinal de mon panier est de 20. Pour autant, si j'écrit ∀ x ∈ X, je ne peux qu'abstraire les différences entre les torchons et les serviettes et donc ne rechercher que des propriétés communes aux deux genres d'articles. Or, si je possède deux paniers X1 et X2 contenant respectivement 10 torchons et 10 serviettes, le sens de ∀ x1 ∈ X1, sera complètement différent du sens de ∀ x2 ∈ X2. En ce sens, x, x1 et x2 sont des variables dont la sémantique est inhérente à l'ensemble que je manipule. Les "caractéristiques" de x seront donc les "intersections" des caractéristiques de x1 et de x2. Par le fait de définir des variables, j'opère un acte de représentation qui :

  • généralise,
  • simplifie.

Supposons ensuite que T1 soit une constante de mon système, un torchon particulier. Si je définis x = T1, je ne pourrais pas dire que x est un torchon ou une serviette car x est une variable de X. Je perds donc en sémantique[3]. Tandis que si S2 est une constante de X2, une serviette particulière, et que x2 = S2, le contexte m'indique que je sais que x2 est une serviette car X2 est un ensemble homogène. Je ne perds dans ce cas que la sémantique associée à l'objet particulier S2 (par exemple sa taille, sa couleur, etc.) mais non son type.

Que dire dans ce contexte d'une écriture comme f(x) ? Si f(T1) peut être défini de manière absolue, f(x) doit pour avoir un sens pour tout x exploiter les attributs de x qui ne sont au mieux que l'intersection des attributs communs à tous les éléments que x représente. La variable est une représentation, elle n'est pas dans le même "espace" que les constantes, elle n'a pas la même "dimension".

Au sein du langage défini par ZFC, nous ne trouvons pas ces notions. Elles sont implicites et implicitement construites sur des objets mathématiques homogènes (les entiers et les réels), d'où l'extraordinaire limitation de la logique qui en découle.

[modifier] ZFC n'est pas applicable à la logique humaine, elle est trop restrictive

La logique binaire du calcul des prédicats est inadaptée à des cas de logique basique que l'on trouve dans la formulation du langage naturel. Dans les prédicats de la logique commune, source théorique de la logique formalisée mathématique, la définition des variables et des constantes est loin d'être une évidence. En effet, prenons le prédicat suivant :

  • P1 : "je suis moi".

L'analyse de ce prédicat ne rentre par dans un langage de type L, ni dans un langage de type L, mais plutôt dans un langage de type LE où la première problématique sera de déterminer le contexte E dans lequel nous pourrons analyser ce prédicat. Ce contexte E est fini dans la mesure où, même lorsque nous prenons une approche phénoménologique du "moi" ou du "je", ce qui est, en quelque sorte l'aspect "maximaliste" de l'approche philosophique, nous restons dans un contexte fini. De plus, ce contexte est relatif à celui qui dit "moi" ou "je", termes dont on a du mal à savoir s'ils sont des constantes ou des variables. Dans une approche E de type "matérialiste", le prédicat P pourrait être considéré comme une tautologie, tandis que dans une approche E de type psychanalytique, ce prédicat pourrait être indéterminé, soit à la fois vrai et faux.

[modifier] Ambiguïté de la notion d'identité

[modifier] Un problème de notation

Ces interrogations sur la nature des variables et des constantes nous mène à nous interroger sur le principe d'identité.

Si l'on reprend le prédicat P1 et que nous tentons de le formaliser par les règles formelles de la logique, que doit-on écrire :

  • proposition 1 : P1 : "je" = "moi" ?
  • proposition 2 : P1 : "je" ∈ "moi", au sens ensembliste ZFC ?
  • proposition 3 : P1 : "je" ♦ "moi", au sens de "je est une partie du moi" ?
  • proposition 4 : P1 : "je" ◊ "moi", au sens de "je est une spécialisation de moi" ?

Cette exemple simple nous montre la limite de la logique des prédicats de ZFC, car selon la formulation de la proposition, nous biaiserons le résultat que nous cherchons à démontrer.

Le cas le plus général de la question sur l'ambiguïté est de chercher dans quel contexte E, on peut avoir :

  • ∀ x, x = x,

et donc quel est le véritable "sens" du symbole "=".

L'analogie avec les entiers naturels ou avec les réels est, ici, totalement insuffisante dès lors que l'on utilise des termes du langage courant (fini lui aussi). Le prédicat "un arbre" = "un arbre" ne veut pas dire grand chose si l'on ne le précise pas le contexte dans lequel on travaille. Il est donc évident que, sauf cas très particulier (comme dans les hypothèses de la logique de ZFC), une variable quelconque x n'a pas de raison a priori d'être égale à elle-même.

[modifier] La réduction dimensionnelle

Considérons un autre exemple lié à la réduction dimensionnelle. Dans un certain nombre de problèmes mathématiques, le problème est si complexe que l'on projette un certain nombre de données sur un espace de dimension plus faible, pour en quelque sorte en faire une "coupe"[4]. Les objets mathématiques sont alors étudiés dans ce qu'ils sont au sein de cette projection, mais la raison d'être de cette étude réside en dehors de cette projection dont l'utilité est d'éclairer le modèle global par des outils plus limités à des cas locaux.

En ce sens, dans bon nombre de problèmes, c'est l'intention première qui compte dans ce que nous comptons démontrer et c'est cette même intention qui nous conduit à simplifier pour comprendre, pour ensuite re-généraliser et "espérer" en tirer une compréhension plus vaste[5]. Nous pouvons donc obtenir des sous-problèmes très lointains du problème principal étudié.

Prenons un exemple : si nous tentons de résoudre un problème sur une sphère en prenant le plan tangent en un point particulier de la sphère. Dans une logique purement à 2 dimensions, il ne s'agit que d'un point, alors que ce point est le point commun entre le plan sur lequel nous travaillons et la sphère que nous avons projetée. Ainsi, selon le contexte, un point sur un plan peut émaner d'une représentation plus vaste. Dans ce contexte, le point n'est plus seulement un point, il peut être le point d'impact d'une droite et du plan ou le point de tangence d'une sphère et du plan considéré.

Nombreux sont donc les cas, en mathématiques, dans lesquels les objets étudiés localement n'ont qu'un lointain rapport avec le problème global et leur étude même dépend du contexte et donc des choix méthodologiques que nous faisons pour les étudier ou pour réduire la complexité de cette étude. Or l'approche dite "universelle" du calcul des prédicats en théorie des ensembles ne semble pas prendre en compte ces particularités.

[modifier] Vers la réconciliation épistémologique des différentes tendances

La grande querelle intuitionniste du début du XXème siècle portait sur les fondements des mathématiques et de la logique. Après un siècle, il est temps de faire un bilan de cette grande querelle qui, au final, opposa des théories relativement doctrinaires défendues par des attachements sentimentaux à des modèles que certains voyaient comme "parfaits".

Or, l'introduction d'une notion de contexte nous permet de réconcilier tout le monde même si fondamentalement il remet en question les notions mêmes qui fondent la logique binaire. Cette remise en question est, bien entendu, à entendre au niveau remise en question de l'aspect "universaliste" de la logique des prédicats et non sur les résultats de cette logique. Au delà de la bagarre philosophique, c'est dans le monde du relatif que nous entrons, un monde que certains domaines des mathématiques ont déjà largement abordé et dont les conséquences ont rendu caduques certains grands mythes de la théorie ZFC.

L'informatique a formalisé depuis longtemps des concepts d'une grande puissance (programmation objet)[6], concepts qui devraient s'appuyer sur une logique formelle plus puissante et moins restrictive que la logique réduite et ambigüe de la théorie ZFC[7]. De plus, de nombreux autres chantiers en sciences humaines souffrent de ne pas disposer d'outils théoriques puissants et solides mathématiquement pour faire progresser des recherches logiques sur des domaines finis mais dont les variables, les constantes et les notions ensemblistes sont impossibles à construire au sens de la théorie ZFC.

[modifier] Vers des approches multi-dimensionnelles

Le futur s'intéressera aux approches multi-dimensionnelles, approches dans lesquelles les objets pourront être classifiés selon leur complexité dimensionnelle. Les mathématiques fractales ont ouvert une brèche dans la "pureté" des dimensions entières des objets géométriques, mais leur approche est encore pure (notamment au travers des dimensions fractales qui présupposent une certaine utilisation de l'infini).

L'arithmétique est la science en retrait des mathématiques, et peut-être est-ce la science mathématique dans laquelle il est possible d'avancer avec des concepts de type objet singulier, si tant est qu'une logique puissante ne conditionne pas ces objets à une homogénéité artificielle, une interchangeabilité totale ou à un pré-supposé de définition absolue.

[modifier] Notes

  1. Cf. structure et dynamique des erreurs conceptuelles.
  2. Notons que si des travaux relatifs à la structuration de ℵ montraient que la dimension de ℵ était de l'ordre du cardinal de l'ensemble des nombres premiers, il faudrait probablement ajouter plus de catégories à cette typologie. Cf. de la structuration de l'ensemble des entiers naturels.
  3. Phénomène bien connu en programmation orientée objet et appelé cast.
  4. On pourrait citer les suites étudiées par Poincaré dans le contexte du problème des trois corps.
  5. Cf. structure et dynamique des erreurs conceptuelles pour voir que ce mouvement de re-généralisation n'est pas sans danger.
  6. En programmation objet, il est à noter qu'il n'existe pas un seul design possible pour un problème complexe mais que le design répond à l'interrogation que se pose le concepteur.
  7. On pourrait noter l'échec des moteurs d'inférence informatiques comme un bon exemple de la non adaptation de la logique binaire à l'environnement humain.