Для початку набори та типи навіть не на одній арені. Набори - це об'єкти теорії першого порядку, наприклад, теорія множин ZFC. Хоча типи схожі на зарослі сорти. Говорячи по - іншому, теорії множин є теорія першого порядку в логіці першого порядку. Теорія типів - це розширення самої логіки. Наприклад, теорія типу Мартіна-Лефа не представлена як теорія першого порядку в логіці першого порядку. Не так часто говорити про набори та типи одночасно.
Як дискретні стани ящірок, типи (і сорти) виконують синтаксичну функцію. Сорт / тип поводиться як синтаксична категорія . Це дає нам знати, які вирази добре сформовані. Для простого прикладу з використанням сортів, скажімо, ми описали теорію векторних просторів над довільним полем як 2-сортовану теорію. У нас є свого роду для скалярів, , і свого роду для векторів, V . Серед багатьох інших речей, ми повинні були б операція для масштабування: и з л е : S × V → V . Це дає нам знати, що s c a l e ( s c a l eSVscale:S×V→Vscale(scale(s,v),v) - просто не добре сформований термін. У контексті теоретичного типу, вираз виду вимагає п мати тип X → Y для деяких типів X і Y . Якщо f не має типу функції, то f ( x ) просто не є добре сформованим виразом. Незалежно від того, чи є якийсь вираз, чи має якийсь тип, це мета-логічне твердження. Немає сенсу писати щось на зразок: ( x : X )f(x)fX→YXYff(x) . По-перше, x : X(x:X)⟹y=3x:X просто не є формулою, по-друге, це навіть не має концептуальної сенсу, оскільки сорти / типи - це те, що дозволяє нам знати, які формули добре сформовані. Ми розглядаємо лише значення істинності добре сформованих формул, тому до того часу, коли ми розглядаємо, чи дотримується якась формула, ми краще вже знаємо, що вона добре сформована!
У теорії множин, а особливо у ZFC, єдиним нелогічним символом взагалі є символ відношення для встановленого членства, . Отже x ∈ y - це добре сформована формула зі значенням істини. Немає ніяких термінів, крім змінних. Усі звичні позначення теорії множин є певним розширенням до цього. Наприклад, формула на зразок f ( x ) = y часто вважається скороченою для ( x , y ) ∈ f, яка сама може вважатися скороченою для ∃ p . p ∈ f ∧ p = ( ,∈x∈yf(x)=y(x,y)∈f , якасобою скорочену ∃ р . p ∈∃p.p∈f∧p=(x,y)
∃p.p∈f∧(∀z.z∈p⟺[z=x∨(∀w.w∈z⇔w=y)])
fπ(7)=3π справжнє число є цілком законним і значущим (а можливо, навіть істинним) заданим теоретичним виразом. В основному, все, що ви пишете, що аналізує теорію множин, може надати деяке значення. Це може бути мати цілком хибне значення, але воно має його. Набори - це також "першокласні" об'єкти в теорії множин. (Вони краще бути такими, якими вони є
f(x)=⎧⎩⎨N,7,x∩RR,if x=1if x=Qif x=(Z,N)
is a completely legitimate function in set theory. There is nothing even remotely analogous to this in type theory. The closest would be to use codes for a Tarskian universe. Sets are the objects of set theory; types are not the object of type theory.
A type is not a collection of things (neither is a set for that matter...), and it is not defined by a property. A type is a syntactic category that lets you know what operations are applicable to terms of that type and which expressions are well-formed. From a propositions-as-types perspective, what types are classifying are the valid proofs of the proposition to which the type corresponds. That is, the well-formed (i.e. well-typed) terms of a given type correspond to the valid proofs (which are also syntactic objects) of the corresponding proposition. Nothing like this is happening in set theory.
Set theory and type theory are really not anything alike.