Ich habe viel über Typsysteme und dergleichen gelesen und verstehe ungefähr, warum sie eingeführt wurden (um Russels Paradoxon zu lösen). Ich verstehe auch in etwa deren praktische Relevanz in Programmiersprachen und Proofsystemen. Ich bin jedoch nicht ganz sicher, dass meine intuitive Vorstellung, was ein Typ ist, richtig ist.
Meine Frage ist, ist es gültig zu behaupten, dass Typen Sätze sind?
Mit anderen Worten entspricht die Aussage "n ist eine natürliche Zahl" der Aussage "n hat den Typ" natürliche Zahl ", was bedeutet, dass alle algebraischen Regeln, die natürliche Zahlen beinhalten, für n gelten. (Anders ausgedrückt, algebraische Regeln sind Aussagen. Aussagen, die für natürliche Zahlen gelten, gelten auch für n.)
Bedeutet dies dann, dass ein mathematisches Objekt mehr als einen Typ haben kann?
Außerdem weiß ich, dass Mengen nicht den Typen entsprechen, weil Sie nicht alle Mengen haben können. Könnte ich behaupten, dass, wenn eine Menge ein mathematisches Objekt ist, das einer Zahl oder einer Funktion ähnlich ist , ein Typ eine Art metamathematisches Objekt ist und nach der gleichen Logik eine Art ein metamathematisches Objekt ist? (in dem Sinne, dass jedes "Meta" eine höhere Abstraktionsebene anzeigt ...)
Hat dies irgendeine Verbindung zur Kategorietheorie?
quelle
Antworten:
Die Schlüsselrolle von Typen besteht darin, die interessierenden Objekte in verschiedene Universen zu unterteilen, anstatt alles zu berücksichtigen, was in einem Universum existiert. Ursprünglich wurden Typen entwickelt, um Paradoxien zu vermeiden, aber Sie wissen, dass sie viele andere Anwendungen haben. Typen bieten die Möglichkeit, Objekte zu klassifizieren oder zu schichten (siehe Blogeintrag ).
Einige arbeiten mit dem Slogan, dass Sätze Typen sind , also dient Ihre Intuition Ihnen sicherlich gut, obwohl es Arbeiten wie Propositions as [Types] von Steve Awodey und Andrej Bauer gibt, die etwas anderes argumentieren, nämlich dass jedem Typ ein Satz zugeordnet ist. Die Unterscheidung wird getroffen, weil Typen einen rechnerischen Inhalt haben, Propositionen dagegen nicht.
Ein Objekt kann mehr als eine Art hat aufgrund Subtypisierung und über Art Nötigungen .
Typen sind im Allgemeinen in einer Hierarchie organisiert, in der Arten die Rolle des Typs von Typen spielen, aber ich würde nicht so weit gehen zu sagen, dass Typen metamathematisch sind. Alles läuft auf der gleichen Ebene ab - dies gilt insbesondere für abhängige Typen .
Es gibt eine sehr starke Verbindung zwischen Typen und Kategorietheorie. Tatsächlich sagt Bob Harper (Lambek zitierend), dass Logik, Sprachen (wo Typen existieren) und Kategorien eine heilige Dreifaltigkeit bilden . Zitat:
Sie sollten sich die Curry-Howard-Korrespondenz ansehen, um die Verbindung zwischen Logik- und Programmiersprachen (Typen sind Sätze) und geschlossenen kartesischen Kategorien zu sehen, um den Zusammenhang mit der Kategorietheorie zu untersuchen.
quelle