Réflexions sur la théorie des ensembles

Un article de Caverne des 1001 nuits.

(Différences entre les versions)
Version du 9 décembre 2007 à 11:19 (modifier)
1001nuits (Discuter | Contributions)

← Différence précédente
Version du 9 décembre 2007 à 11:30 (modifier) (défaire)
1001nuits (Discuter | Contributions)

Différence suivante →
Ligne 96 : Ligne 96 :
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. 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.
-=== Pistes pour une extension des hypothèses du calcul des prédicats ===+== Pistes pour une extension des hypothèses du calcul des prédicats ==
-==== Une ambiguïté sur la notion de langage ====+=== 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 : 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 :
Ligne 114 : Ligne 114 :
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''. 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''.
-==== Introduction de la notion de contexte ====+=== 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) <ref>Notons que si des travaux relatifs à la structuration de &alefsym; montraient que la dimension de &alefsym; é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]].</ref>. De plus, le langage L est relatif à l'ensemble fini des symboles que nous acceptons comme variables. 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) <ref>Notons que si des travaux relatifs à la structuration de &alefsym; montraient que la dimension de &alefsym; é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]].</ref>. De plus, le langage L est relatif à l'ensemble fini des symboles que nous acceptons comme variables.
Ligne 123 : Ligne 123 :
* dans un langage L<sub>&alefsym;*</sub>, on obtient P<sub>0</sub> ; * dans un langage L<sub>&alefsym;*</sub>, on obtient P<sub>0</sub> ;
* dans un langage L<sub>&real;</sub>, on obtient ?P<sub>0</sub> ; * dans un langage L<sub>&real;</sub>, on obtient ?P<sub>0</sub> ;
-* dans un langage L<sub>&real; &cup; {&infin;}</sub>, on obtient P<sub>0</sub> (à supposer que l'on se mette d'accord sur ce que l'on entend par le symbole {&infin;}) ;+* dans un langage L<sub>&real; &cup; {&infin;}</sub>, on obtient P<sub>0</sub> (à supposer que l'on se mette d'accord sur ce que l'on entend par le symbole &infin;) ;
* etc. * etc.
Ligne 131 : Ligne 131 :
Pour soutenir le second point, considérons les deux fonctions suivantes : Pour soutenir le second point, considérons les deux fonctions suivantes :
-* f<sub>1</sub> : [0, 10] &rarr; [0, 20],+* f<sub>1</sub> : [0, 10] &rarr; 2[0, 20],
* f<sub>1</sub>(x) = 2x ; * f<sub>1</sub>(x) = 2x ;
-* f<sub>2</sub> : &alefsym; &rarr; &alefsym;,+* f<sub>2</sub> : &alefsym; &rarr; 2&alefsym;,
* f<sub>2</sub>(x) = 2x ; * f<sub>2</sub>(x) = 2x ;
-f<sub>1</sub> et f<sub>2</sub> n'ont pas la même nature, car logiquement, elles n'opèrent pas sur les mêmes catégories de variables.+f<sub>1</sub> et f<sub>2</sub> 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. 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.
-___________________________+=== Une ambiguïté sur la notion de variable ===
 +Au sein de la théorie du calcul des prédicats, les variables semblent :
 +* "homogènes" de manière sous-entendue,
 +* "définies" de manière sous-entendue.
 +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.
 +Reprenons l'exemple de la fonction f<sub>0</sub>. Si nous postulons : 1/0 = &infin;, cela signifie que nous définissions &infin; comme une constante de l'ensemble des constantes C de la théorie de calcul des prédicats. En ce sens, &infin;<sub>&alfsym;</sub> et &infin;<sub>&real;</sub> n'ont aucune raison d'être des constantes identiques<ref>
 +______________________________
 +Le passage à la limite en analyse n'équivaut pas à la récurrence
 +== Notes ==
 +<references/>
- 
- 
- 
- 
-Or, nous sommes ici en pleine confusion de "type" de notions manipulées. Remettons les choses à plat : considérons d'abord que lorsque l'on dit que x est un ensemble, on peut écrire x &sub; x, mais en aucun cas x &isin; x. En effet, dans la seconde écriture, nous avons a à gauche considéré comme un élément et x à droite considéré comme un ensemble. 
- 
-==== Une définition commune de l'inclusion ==== 
- 
-L'inclusion est couramment définie comme suit : 
-* soit A et B deux ensembles ; 
-* A &sub; B équivaut à &forall; a &isin; A, a &isin; B. 
- 
-Pour des ensembles de cardinaux finis, il est simple de montrer que A &sub; A et que si A &nsub; A, cela signifie qu'il existe un a qui est à la fois élément et non élément de A. 
- 
-==== Une mauvaise définition de l'ensemble ==== 
- 
-Le symbole &isin; définit une ambiguïté certaine qui est l'illustration d'une mauvaise définition de ce qu'est l'appartenance à un ensemble. Car au lieu de définir un seul symbole pour cette appartenance, nous avons de fait, en analyse conceptuelle 
- 
- 
-Or, dans les flous de la théorie des ensembles, flous causés par la non typologie des symboles (chose pourtant peu courante en analyse), Russell étudie : &exist; x ensemble : x &nsub; x. Si x est un ensemble d'éléments finis, il n'existe pas un tel ensemble x. Mais si nous envisageons que x est un ensemble d'ensembles, cela peut changer la vision des choses. 
- 
-Au lieu d'utiliser des symboles ambigus comme &isin; ou &sub;, définissons une fonction binaire d'appartenance, &phi; : dans le contexte de x et de ses éléments, au lieu d'écrire a &isin; x, nous noterons &phi;(x, a) = vrai. L'avantage d'une telle notation est de mettre x en paramètre de ''la fonction d'appartenance &phi;'' et non plus en symbole absolu. &phi; est une fonction qui n'a pas de raison de se comporter de la même façon dans les cas suivants : 
-* &phi;(x<sub>1</sub>, a) = vrai ; 
-* &phi;(x<sub>2</sub>, a) = faux ; 
-* &phi;(y, z) = vrai ; 
-* etc. 
- 
-La fonction &phi; est une fonction qui s'adapte au "type" des deux paramètres, le premier étant considéré comme l'ensemble et le second comme l'élément. Ainsi, si nous raisons inclusion 
- 
-=== Le problème de l'identité x = x === 
- 
-Le passage à la limite en analyse n'équivaut pas à la récurrence 
[[Catégorie:Draft]] [[Catégorie:Draft]]

Version du 9 décembre 2007 à 11:30

Sommaire

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.

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

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é.

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}.

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.

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.

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.

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

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.

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.

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

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 L portant sur un ensemble de symboles V dits variables, ensemble fini à 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 L 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 V, 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 C, C et C),
  • P l'ensemble des symboles de prédicats devient relatif à la typologie de V et de L (soit respectivement P, P et P),
  • F l'ensemble des symboles de fonctions devient relatif à la typologie de V et de L (soit respectivement F, 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.

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, introduisent la dimension de « contexte ». Selon le contexte des variables utilisées, il n'est pas légitime de généraliser. Le langage L est donc conditionné à son contexte, 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 :

  • f1 : [0, 10] → 2[0, 20],
  • 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. 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.

Une ambiguïté sur la notion de variable

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

  • "homogènes" de manière sous-entendue,
  • "définies" de manière sous-entendue.

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.

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. En ce sens, ∞&alfsym; et ∞ n'ont aucune raison d'être des constantes identiques[3]