Pour commencer, les ensembles et les types ne sont même pas dans la même arène. Les ensembles sont les objets d’une théorie du premier ordre, telle que la théorie des ensembles ZFC. Alors que les types sont comme des sortes envahies. Pour mettre une autre manière, une théorie des ensembles est une théorie du premier ordre au sein de la logique du premier ordre. Une théorie des types est une extension de la logique elle-même. La théorie de type de Martin-Löf, par exemple, n'est pas présentée comme une théorie du premier ordre dans la logique du premier ordre. Il n'est pas courant de parler d'ensembles et de types en même temps.
En tant qu'états discrets de lézards, les types (et les tris) remplissent une fonction syntaxique. Une sorte / type se comporte comme une catégorie syntaxique . Cela nous permet de savoir quelles expressions sont bien formées. Pour un exemple simple utilisant des tris, supposons que nous avons décrit la théorie des espaces vectoriels sur un champ arbitraire comme une théorie à 2 triés. Nous avons une sorte de scalaires, , et une sorte de vecteurs, V . Parmi beaucoup d' autres choses, nous aurions une opération de mise à l' échelle: s c a l e : S × V → V . Cela nous permet de savoir que l c un l e ( s c a l eSVscale:S×V→V n’est tout simplement pas un terme bien formé. Dans un contextetype théorique, une expression comme f ( x ) exige f avoir un type X → Y pour certains types X et Y . Si f n'a pas le type d'une fonction, alors f ( x ) n'est tout simplement pas une expression bien formée. Qu'une expression soit ou non d'un type est une déclaration méta-logique. Cela n'a aucun sens d'écrire quelque chose comme: ( x : X )scale(scale(s,v),v)f(x)fX→YXYff(x) . Premièrement, x : X n’est tout simplement pas une formule, et deuxièmement, cela n’a même aucun sens conceptuel puisque ce sont les types / types qui nous permettent de savoir quelles formules sont bien formées. Nous ne tenons compte que de la valeur de vérité des formules bien formées. Par conséquent, si nous déterminons si une formule est valable, nous ferions mieux de savoir déjà qu’elle est bien formée!(x:X)⟹y=3x:X
En théorie des ensembles, et en particulier ZFC, le seul symbole non-logique du tout est le symbole de la relation d'adhésion ensemble, . Donc, x ∈ y est une formule bien formée avec une valeur de vérité. Il n'y a pas d'autres termes que variables. Toute la notation habituelle de la théorie des ensembles en est une extension définitionnelle. Par exemple, une formule comme f ( x ) = y est souvent considéré comme un raccourci pour ( x , y ) ∈ F qui lui - même peut être considéré comme un raccourci pour ∃ p . p ∈ f ∧ p = ( x∈x∈yf(x)=y(x,y)∈f qui estraccourci pour ∃ p . p ∈ f ∧ ( ∀ z . z ∈ p∃p.p∈f∧p=(x,y)
En tout cas,tout ensemble peut prendre la place de f et tout est ensemble! Comme je l'ai soulignérécemmentdansune question différente, π ( 7 ) = 3 où π
∃p.p∈f∧(∀z.z∈p⟺[z=x∨(∀w.w∈z⇔w=y)])
fπ(7)=3πest le nombre réel est une expression théorique d'ensemble parfaitement légitime et significative (et potentiellement même vraie). Fondamentalement, tout ce que vous écrivez qui analyse en théorie des ensembles peut avoir une signification. C'est peut-être une signification complètement fausse, mais elle en a une. Les ensembles sont également des objets "de première classe" dans la théorie des ensembles. (Il faut qu'ils soient tels qu'ils sont
seulement des objets en général.) Une fonction similaire
f(x)=⎧⎩⎨N,7,x∩RR,if x=1if x=Qif x=(Z,N)
est une fonction complètement légitime dans la théorie des ensembles. Il n’ya rien, même de loin, analogue à cela dans la théorie des types. Le plus proche serait d'utiliser des codes pour un univers tarskien. Les ensembles sont les objets de la théorie des ensembles; les types ne sont pas l'objet de la théorie des types.
Un type n'est pas une collection de choses (ni un ensemble, d'ailleurs ...), et il n'est pas défini par une propriété. Un type est une catégorie syntaxique qui vous permet de savoir quelles opérations sont applicables aux termes de ce type et quelles expressions sont bien formées. Dans la perspective propositions-as-types, quels types classent sont les preuves valides de la proposition à laquelle correspond le type. C'est-à-dire que les termes bien formés (c'est-à-dire bien typés) d'un type donné correspondent aux preuves valides (qui sont aussi des objets syntaxiques) de la proposition correspondante. Rien de tel ne se passe dans la théorie des ensembles.
La théorie des ensembles et la théorie des types ne ressemblent vraiment pas.