Formalisierung der Theorie endlicher Mengen in der Typentheorie


10

Die meisten Beweisassistenten haben eine Formalisierung des Konzepts der "endlichen Menge". Diese Formalisierungen unterscheiden sich jedoch stark (obwohl man hofft, dass sie alle im Wesentlichen gleichwertig sind!). Was ich derzeit nicht verstehe, ist der Designraum und die Vor- und Nachteile jeder Formalisierung.

Insbesondere möchte ich Folgendes verstehen:

  • Kann ich endliche Mengen (dh Typen, die von einer endlichen Anzahl von Einwohnern bewohnt werden) in der einfachen Typentheorie axiomatisieren? System F? Was sind die Nachteile, wenn man es so macht?
  • Ich weiß, dass es in einem abhängig typisierten System „elegant“ gemacht werden kann. Aus klassischer Sicht erscheinen die daraus resultierenden Definitionen jedoch äußerst fremd. [Ich sage nicht, dass sie falsch sind, weit davon entfernt!]. Aber ich verstehe auch nicht, warum sie "richtig" sind. Ich verstehe, dass sie das richtige Konzept auswählen , aber der tiefere Grund, es so zu sagen, ist das, was ich nicht vollständig verstehe.

Grundsätzlich möchte ich eine begründete Einführung in den Entwurfsraum von Formalisierungen des Konzepts der 'endlichen Menge' in der Typentheorie.

Antworten:


8

Ich weiß, dass es in einem abhängig typisierten System „elegant“ gemacht werden kann. Aus klassischer Sicht erscheinen die daraus resultierenden Definitionen jedoch äußerst fremd.

Können Sie erklären, was Sie mit "Alien" meinen? Es scheint mir, dass Sie das Konzept der endlichen Menge in der Typentheorie und in der Mengenlehre genauso formalisieren.

In der Mengenlehre definieren Sie die Menge als Dann definieren Sie das Prädikat der Endlichkeit als: Wobei Isomorphismus von Mengen bedeutet.Fin(n)F i n i t e ( X ) n N .

Fin(n){kN|k<n}
A B.
Finite(X)nN.XFin(n)
AB

In der Typentheorie können Sie genau das Gleiche tun! Beachten Sie, dass ein Typ mit Elementen ist (da die zweite Komponente des Paares beweisunabhängig ist). Anschließend können Sie den Konstruktor für den Endlichkeitstyp wie folgt definieren: Wobei Isomorphismus von Typen bedeutet.F i n ( n ) n F i n i t e ( X ) & Sigma; n : N .

Fin(n)Σk:N.ifk<nthenUnitelseVoid
Fin(n)nA B.
Finite(X)Σn:N.XFin(n)
AB

Außerirdisch, weil ich immer nur die Rohdefinitionen ohne begleitenden Test gesehen habe, der erklärt, wie man diese Definitionen liest. Plus die Tatsache, dass die übliche Fin-Definition, induktiv gemacht, die Dinge weiter verdunkelt. Ihre kurze Erklärung war das, was ich brauchte, um es zum Klicken zu bringen.
Jacques Carette

5

Lassen Sie mich sehen, ob ich Neels Antwort etwas Nützliches hinzufügen kann. Der "Entwurfsraum" für endliche Mengen ist konstruktiv viel größer als klassisch, da verschiedene Definitionen von "endlich" nicht konstruktiv übereinstimmen müssen. Verschiedene Definitionen in der Typentheorie ergeben leicht unterschiedliche Konzepte. Hier sind einige Möglichkeiten.

Kuratowski-endliche Mengen ( endlich) können als freie Halbgitter charakterisiert werden: Bei gegebener Menge, Typ oder Objekt können die Elemente des freien Halbgitters als endliche Teilmengen von . In der Tat wird jedes dieser Elemente erzeugt durch:X K ( X ) X.KXK(X)X

  • das neutrale Element , das der leeren Menge entspricht, oder0
  • ein Generator , der dem Singleton , oder{ x }xX{x}
  • eine Verbindung zweier Elemente, die einer Vereinigung entspricht.ST

Eine äquivalente Formulierung von lautet: ist endlich, wenn und nur wenn und eine Surjektion .K(X)SXKnN e:{1,,n}S

Wenn wir dies mit Neel Definition vergleichen sehen wir , dass er erfordert bijection . Dies läuft darauf hinaus, die endlichen Teilmengen die eine entscheidbare Gleichheit haben: . Lassen Sie uns verwenden für die Sammlung von entscheidbar -finite Teilmengen von .e:{1,,n}SKSXx,yS.x=yxyD(X)KX

Offensichtlich ist unter endlichen Vereinigungen geschlossen, aber es muss nicht unter endlichen Schnittpunkten geschlossen werden. Und ist unter keinen Operationen geschlossen. Da die Leute erwarten, dass sich endliche Mengen ein bisschen wie ein "Boolescher Aglebra ohne Spitze" verhalten, könnte man auch versuchen, sie als freie verallgemeinerte Boolesche Algebra ( , , und relative Komplemente ) zu definieren, aber ich eigentlich nie von einer solchen Anstrengung gehört.D ( X ) 0 K(X)D(X)0

Bei der Entscheidung, was die "richtige" Definition ist, müssen Sie darauf achten, was Sie mit den endlichen Mengen tun möchten. Und es gibt keine einzige korrekte Definition. In welchem ​​Sinne von "endlich" ist beispielsweise die Menge der komplexen Wurzeln eines Polynoms endlich ?

Siehe Konstruktiv endlich? von Thierry Coquand und Arnaud Spiwack für eine detaillierte Diskussion der Endlichkeit. Die Lehre ist, dass Endlichkeit konstruktiv alles andere als offensichtlich ist.


Richtig, ich wusste gerade genug davon, um zu wissen, dass meine Frage nicht trivial war. Jetzt kann ich die Teile der Coq-, Isabelle- und Agda-Bibliotheken, die sich mit endlichen Mengen befassen, erneut lesen und hoffen, zu verstehen, welche Entscheidungen (Wortspiel beabsichtigt) sie getroffen haben.
Jacques Carette

Ich frage mich, wie sehr sich die Autoren der Bibliotheken der Wahl bewusst waren. Sie sind wahrscheinlich nur in eine der Definitionen gegangen. Es ist natürlich anzunehmen, dass eine entscheidbare Gleichheit hat, weil dann mit und alles reibungslos und sehr ähnlich wie im klassischen Fall verläuft. Das Problem beginnt, sobald keine entscheidbare Gleichheit mehr hat. K ( A ) D ( A ) A.AK(A)D(A)A
Andrej Bauer

Um fair zu sein, verwendet man oft endliche Mengen, um Aspekte der Programmüberprüfung zu formalisieren, und in diesem Fall kann man normalerweise davon ausgehen, dass eine entscheidbare Gleichheit gilt.
Cody
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.