Un problème avec NF

Martial
Modifié (March 2022) dans Fondements et Logique
Bonjour à tous,
Je suis em...bêté avec NF (New Foundations for Mathematical Logic) de Quine. Je ne sais pas s'il y a parmi vous des spécialistes de NF, mais il y a un truc qui m'échappe. Voilà ce qu'il faut savoir pour comprendre ma question.
NF est une théorie monosortée du premier ordre, avec pour notions primitives l'égalité et l'appartenance. Elle comporte deux axiomes : l'extensionnalité, et la compréhension pour les formules stratifiées. En gros, une formule est stratifiée si on peut assigner un type $t(v)$ (qui est un nombre entier) à chacune de ses variables, de sorte que, dans toute sous-formule du type $x=y$, on ait $t(y)=t(x)$, et dans toute sous-formule de la forme $x \in y$, $t(y)=t(x)+1$.
Du coup, comme $x=x$ est stratifiée, $V$ est un ensemble, $V \in V$ et $\mathscr P(V)=V$ (ouch !).
On définit la "fonction" $\iota$ par $\iota(x)=\{x\}$.
On pose $\iota[x]=\{\iota(y):y \in x\}$.
La formule stratifiée $x \neq x$ permet de définir l'ensemble vide, qui est noté $\Lambda$.
On pose $0= \{x : \forall y (y \notin x)\}=\{\Lambda\}$.
Si $x$ est un ensemble, on pose $S(x)=\{z : (\exists w \in z) [z \setminus \{w\} \in x]\}$. En d'autres termes, $S(x)=\{y \cup \{w\} : y \in x, w \in V\}$.
Puis on note $S[x]=\{S(y) : y \in x\}$.
$\mathbb{N} = \bigcap \{x : 0 \in x \land S[x] \subseteq x\}$.
Le cardinal de $x$, noté $|x|$, est l'ensemble de tous les objets qui ont la même taille que $x$. On note $NC$ l'ensemble de tous les cardinaux.
Si $x$ est un ensemble, on pose $T(|x|)=|\iota[x]|=|\{\iota(y) : y \in x \}| = \{\{y\} : y \in x\}$.
Jusque là tout va bien. C'est là que les ennuis commencent, quand on définit le Counting Axiom, noté AxCount, qui dit que $\forall n \in \mathbb{N}, T(n)=n$.
Mon problème est que je ne vois pas comment AxCount pourrait être vrai, puisque déjà, à mon sens, on a
$$T(0)=|\iota[0]|= |\{\iota(x) : x \in 0\}| = |\{\iota(\Lambda)\}| = |\{\{\Lambda\}\}|=1.$$
Où est-ce que je délire ?
Merci d'avance
Martial

Réponses

  • Martial
    Modifié (March 2022)
    Entre temps je crois que j'ai plus ou moins compris ce qui se passe. Mon calcul est bon : on a bien $0=\{\Lambda\}$ et $\iota[0]=\{\{\Lambda\}\}$. Mais, en l'absence d'un axiome supplémentaire, on ne peut pas démontrer dans NF que ces deux ensembles ont la même taille. Je suppose que c'est dû au fait que la formule "il existe une bijection de $0$ sur $T(0)$" n'est pas stratifiée.
    Il en est de même pour $1$ et $\iota[1]$ : $1=\{\{x\} : x \in V\}$, et $\iota[1]=\{\{\{x\}\} : x \in V\}$, mais on ne sait pas si ces ensembles sont en bijection. C'est quand même très zarrebi, NF.

    Mais j'ai encore deux questions : je travaille sur le livre de Thomas Forster : "Set Theory with a Universal Set", Second Edition, 1995.
    1) Bas page 30, l'auteur écrit que AxCount est équivalent à $(\forall n \in \mathbb{N}) [\{m : m<n\} \in n]$, où $a<b$" signifie "il existe une injection de $a$ dans $b$ et il n'existe pas d'injection de $b$ dans $a$". Franchement, je ne vois pas d'où il sort ça, sinon de son chapeau...
    2) Vers la fin de la page 31, Forster annonce que si AxCount est faux, et si $n$ en est un témoin, i.e. si $T(n) \neq n$, alors $\{m \leq n : T(m)=m\}$ est une classe propre. Pour justifier cela il dit : si cette collection est un ensemble, on prouve par induction sur $m<n$ que $\forall m < n |T(m)=m]$ (il ne dit pas comment ) et on en déduit que $T(n)=n$, contradiction.
    Là, j'ai deux interrogations :
    a) Comment mener la récurrence, puisque déjà on est infoutus de prouver que $T(0)=0$ ?
    b) Comment déduire $T(n)=n$ de $\forall m < n [T(m)=m]$ ?
    Bref, cela fait beaucoup d'interrogations.

  • rondo
    Modifié (August 2022)
    Martial a dit :
    $0=\{\Lambda\}$ et $\iota[0]=\{\{\Lambda\}\}$
    Cela est exact.
    Mais les habitudes (ZF) reviennent vite.
    Dans NF,
    • $\Lambda \neq 0$
    • $|\Lambda| = 0$
    • $|0| = 1$
    • $|n|$ est un ensemble infini si n est un naturel distinct de $0$
    • $T(0) = T(|\Lambda|) = |\iota[\Lambda]| = |\Lambda| = 0$
    • $T(1) = T(|0|) = |\iota[0]| = |\iota[\{\Lambda\}]| = |\{\{\Lambda\}\}| = 1 $
    De même, pour chaque naturel $n$, on peut monter que $T(n)=n$,
    mais cela n'entraîne pas qu'on puisse démontrer :
    $$\forall n \in \mathbb{N}, T(n)=n \text{ (AxCount)}$$
  • @rondo : merci pour ces éclaircissements. En fait j'avais intégré tout ça entre temps (ça fait plus de 5 mois), mais une piqûre de rappel ne peut pas faire de mal (au moins dans ce domaine).
    Tu as raison quand tu dis qu'on a des réflexes trop ZFC-istes. Par exemple j'ai du mal avec les situations du genre : "on peut démontrer que pour tout entier $n$ fabriquable à la main, $blablabla(n)$, mais il est impossible de prouver $\forall n \in \mathbb{N}, blablabla(n)$".
    En tous cas, merci !
Connectez-vous ou Inscrivez-vous pour répondre.