EDIT: Ich habe jetzt eine ähnliche Frage zum Unterschied zwischen Kategorien und Mengen gestellt.
Jedes Mal, wenn ich über Typentheorie lese (die zugegebenermaßen eher informell ist), kann ich nicht wirklich verstehen, wie sie sich konkret von der Mengenlehre unterscheidet .
Ich verstehe, dass es einen konzeptionellen Unterschied zwischen dem Sprichwort "x gehört zu einer Menge X" und "x ist vom Typ X" gibt, da eine Menge intuitiv nur eine Sammlung von Objekten ist, während ein Typ bestimmte "Eigenschaften" hat. Trotzdem werden Mengen oft auch nach Eigenschaften definiert, und wenn ja, habe ich Probleme zu verstehen, wie diese Unterscheidung in irgendeiner Weise von Bedeutung ist.
So in der die meisten konkreten Art und Weise möglich, was genau bedeutet es bedeutet , etwa zu sagen , dass es vom Typ , im Vergleich zu sagen , dass es ein Element in dem Satz S ?S
(Sie können jeden Typ und Satz auswählen, der den Vergleich am klarsten macht.)
quelle
Antworten:
Um die Differenz zwischen den Sätzen und Arten zu verstehen, muss diejenigen , gehen Sie zurück zu Pre -mathematical Ideen von „Sammlung“ und „Bau“, und sehen , wie Sätze und Typen mathematisieren diese.
Es gibt ein Spektrum von Möglichkeiten, worum es in der Mathematik geht. Zwei davon sind:
Wir verstehen Mathematik als eine Aktivität, in der mathematische Objekte nach bestimmten Regeln konstruiert werden (stellen Sie sich Geometrie als die Aktivität vor, Punkte, Linien und Kreise mit einem Lineal und einem Kompass zu konstruieren). So mathematische Objekte werden nach organisiert , wie sie gebaut , und es gibt verschiedene Arten von Bau. Ein mathematisches Objekt wird immer auf eine eindeutige Weise konstruiert, die seinen eindeutigen Typ bestimmt.
Wir denken an Mathematik als ein riesiges Universum voller vorbestehender mathematischer Objekte (denken Sie an die geometrische Ebene als gegeben). Wir entdecken, analysieren und denken über diese Objekte nach (wir stellen fest, dass es Punkte, Linien und Kreise in der Ebene gibt). Wir sammeln sie im Set . Normalerweise sammeln wir Elemente, die etwas gemeinsam haben (zum Beispiel alle Linien, die durch einen bestimmten Punkt verlaufen), aber im Prinzip kann eine Menge eine beliebige Auswahl von Objekten zusammenhalten. Eine Menge wird durch ihre Elemente und nur durch ihre Elemente spezifiziert. Ein mathematisches Objekt kann zu vielen Mengen gehören.
Wir sagen nicht, dass die obigen Möglichkeiten die einzigen sind oder dass eine von ihnen vollständig beschreibt, was Mathematik ist. Nichtsdestotrotz kann jede Ansicht als nützlicher Ausgangspunkt für eine allgemeine mathematische Theorie dienen, die eine breite Palette mathematischer Aktivitäten sinnvoll beschreibt.
Es ist natürlich, einen Typ zu nehmen und sich die Sammlung aller Dinge vorzustellen, die wir nach den Regeln von konstruieren können . Dies ist die Erweiterung von , und es ist nicht selbst. Hier sind zum Beispiel zwei Typen mit unterschiedlichen Konstruktionsregeln, die jedoch dieselbe Erweiterung haben:T T TT T T T
Die Art der Paare denen als natürliche Zahl und als Beweis dafür konstruiert sind, dass eine gerade Primzahl größer als .n p n 3( n , p ) n p n 3
Die Art der Paare denen als natürliche Zahl und als Beweis dafür konstruiert sind, dass eine ungerade Primzahl kleiner als .m q m 2( m , q) m q m 2
Ja, das sind dumme, triviale Beispiele, aber der springende Punkt ist: Beide Typen haben nichts in ihrer Erweiterung, aber sie haben unterschiedliche Konstruktionsregeln. Im Gegensatz dazu sind die Mengen und sind gleich, weil sie dieselben Elemente haben.{ m ∈ N ∣ m ist eine ungerade Primzahl kleiner als 2 }
Beachten Sie, dass es bei der Typentheorie nicht um Syntax geht. Es ist eine mathematische Theorie der Konstruktionen, genau wie die Mengenlehre eine mathematische Theorie der Sammlungen ist. Es kommt einfach so vor, dass die üblichen Darstellungen der Typentheorie die Syntax betonen und folglich die Leute am Ende denken, Typentheorie sei Syntax. Das ist nicht der Fall. Ein mathematisches Objekt (Konstruktion) mit einem syntaktischen Ausdruck zu verwechseln, der es darstellt (ein früherer Begriff), ist ein grundlegender Kategoriefehler, der die Logik seit langem verwirrt hat, aber nicht mehr.
quelle
Zu Beginn befinden sich Sets und Typen nicht einmal in derselben Arena. Mengen sind die Objekte einer Theorie erster Ordnung, wie beispielsweise der ZFC-Mengen-Theorie. Während Typen wie überwucherte Sorten sind. Anders ausgedrückt ist eine Mengenlehre eine Theorie erster Ordnung innerhalb der Logik erster Ordnung. Eine Typentheorie ist eine Erweiterung der Logik. Beispielsweise wird die Martin-Löf-Typentheorie nicht als Theorie erster Ordnung in der Logik erster Ordnung dargestellt. Es ist nicht üblich, gleichzeitig über Mengen und Typen zu sprechen.
Ein Typ ist keine Sammlung von Dingen (und auch keine Menge ...) und wird nicht durch eine Eigenschaft definiert. Ein Typ ist eine syntaktische Kategorie, mit der Sie wissen, welche Operationen auf Begriffe dieses Typs anwendbar sind und welche Ausdrücke gut geformt sind. Aus der Sicht der Sätze als Typen sind die zu klassifizierenden Typen die gültigen Beweise für den Satz, dem der Typ entspricht. Das heißt, die wohlgeformten (dh gut typisierten) Begriffe eines gegebenen Typs entsprechen den gültigen Beweisen (die auch syntaktische Objekte sind) des entsprechenden Satzes. In der Mengenlehre passiert so etwas nicht.
Mengen- und Typentheorie sind sich eigentlich gar nicht ähnlich.
quelle
Ein Beispiel
Um diese Unterscheidung zu verdeutlichen, verwende ich das Beispiel in den Vorlesungsskripten von Herman Geuvers . Als erstes betrachten wir ein Beispiel für das Bewohnen eines Typs:
Der Hauptunterschied besteht darin, dass wir, um zu testen, ob der erste Ausdruck eine natürliche Zahl ist, keine semantische Bedeutung berechnen müssen, sondern lediglich die Tatsache ablesen müssen, dass alle Literale vom Typ Nat sind und alle Operatoren geschlossen am Typ Nat.
Algorithmen gegen Beweise
Zusammenfassend gesagt, werden Typen häufig für 'einfache' Behauptungen zur Syntax eines Ausdrucks verwendet, so dass die Zugehörigkeit eines Typs von einem Algorithmus überprüft werden kann , während zum Testen der Zugehörigkeit zu einer Menge in der Regel ein Beweis erforderlich ist .
Um zu sehen, warum diese Unterscheidung nützlich ist, betrachten Sie einen Compiler einer typisierten Programmiersprache. Wenn dieser Compiler einen formalen Beweis für die Überprüfung von Typen erstellen muss, wird der Compiler aufgefordert, eine fast unmögliche Aufgabe zu erledigen (die automatische Beweisführung ist im Allgemeinen schwierig). Wenn der Compiler dagegen einfach einen (effizienten) Algorithmus ausführen kann, um die Typen zu überprüfen, kann er die Aufgabe realistisch ausführen.
Eine Motivation für eine strikte (er) Interpretation
Es gibt mehrere Interpretationen der semantischen Bedeutung von Mengen und Typen. Während unter der hier vorgenommenen Unterscheidung Erweiterungstypen und Typen mit unentscheidbarer Typprüfung (wie die in NuPRL verwendeten, wie in den Kommentaren erwähnt) keine "Typen" wären, können andere diese natürlich als solche bezeichnen (ebenso kostenlos) wie sie sind, um sie etwas anderes zu nennen, solange ihre Definitionen passen).
Wir (Herman Geuvers und ich) ziehen es jedoch vor, diese Interpretation nicht aus dem Fenster zu werfen, wofür ich (nicht Herman, obwohl er vielleicht zustimmt) die folgende Motivation habe:
Erstens ist die Absicht dieser Interpretation nicht so weit von der von Andrej Bauer entfernt. Die Absicht einer Syntax besteht normalerweise darin, zu beschreiben, wie etwas konstruiert werden soll, und einen Algorithmus zu haben, um es tatsächlich zu konstruieren, ist im Allgemeinen nützlich. Darüber hinaus werden die Merkmale einer Menge normalerweise nur benötigt, wenn wir eine semantische Beschreibung wünschen, für die Unentscheidbarkeit zulässig ist.
Der Vorteil unserer strengeren Beschreibung besteht also darin, die Trennung einfacher zu halten und eine Unterscheidung zu erhalten, die direkter mit der üblichen praktischen Verwendung zusammenhängt. Dies funktioniert gut, solange Sie Ihre Nutzung nicht wie bei NuPRL benötigen oder lockern möchten.
quelle
Ich glaube, einer der konkretesten Unterschiede in Bezug auf Mengen und Typen ist der Unterschied in der Art und Weise, wie die "Dinge" in Ihrem Geist in die formale Sprache kodiert werden.
Mit Sets und Typen können Sie über Dinge und Sammlungen von Dingen sprechen. Der Hauptunterschied besteht darin, dass Sie bei Sets jede Frage stellen können, die Sie über die Dinge haben möchten, und dies wird vielleicht wahr sein, vielleicht auch nicht. bei typen muss man erst beweisen, dass die frage sinnvoll ist.
Zusammenfassend lässt sich sagen, dass Sie mit Sets jede gewünschte Frage stellen können. Mit Typen werden Sie jedoch gezwungen, Codierungen explizit anzugeben, wenn die Antwort davon abhängen kann.
quelle