Soweit ich weiß, basieren Datentypen in der Informatik aufgrund von Russells Paradoxon nicht auf der Mengenlehre, aber wie in realen Programmiersprachen können wir so komplexe Datentypen wie "Menge, die sich nicht selbst enthält" nicht ausdrücken, oder? Angenommen, in der Praxis ist der Typ eine unendliche Menge seiner Mitglieder, wobei die Instanzmitgliedschaft durch die Anzahl der Merkmale definiert wird, die diesem Typ / dieser Menge eigen sind (Vorhandensein bestimmter Eigenschaften, Methoden). Wenn nein, was wäre das Gegenbeispiel?
11
Antworten:
Der Hauptgrund für die Vermeidung von Mengen in der Semantik von Typen ist, dass eine typische Programmiersprache es uns ermöglicht, beliebige rekursive Funktionen zu definieren. Unabhängig von der Bedeutung eines Typs muss er daher die Festkomma-Eigenschaft haben. Die einzige Menge mit einer solchen Eigenschaft ist die Singleton-Menge.
Natürlich könnte man auch erkennen, dass der Schuldige die klassische Logik ist. Wenn Sie mit der intuitionistischen Mengenlehre arbeiten, ist es konsistent anzunehmen, dass es viele Mengen mit Festkomma-Eigenschaften gibt. Tatsächlich wurde dies verwendet, um die Semantik der Programmiersprache zu vermitteln, siehe zum Beispiel
quelle
quelle
Mit wenigen Ausnahmen (eine, die Dave Clarke zitiert) ist eine einfache satztheoretische Semantik von Typen schwer anzuwenden. Der Grund ist, dass die Datenabstraktion mit der satztheoretischen Semantik nicht sehr gut zusammenspielt.
quelle