Domänentheorie und Polymorphismus

8

Die Domänentheorie liefert eine erstaunliche Theorie der Berechenbarkeit bei Vorhandensein einfacher Typen. Aber wenn parametrischer Polymorphismus hinzugefügt wird, scheint es keine schöne Theorie zu geben, die erklärt, was ganz so gut vor sich geht, wie die Domänentheorie die Berechnung über einfache Typen erklärt. Sicher würde ich nicht erwarten, dass so etwas für System-F existiert, da es keine satztheoretischen Modelle von System-F gibt. Was ist mit einer Einschränkung von System-F, die prädiktiv ist und eine Universushierarchie hat? Wurde dies untersucht? Gibt es eine nette Domänentheorie, die darauf zutrifft? Was ist mit abhängigen Typen? Kann die Domänentheorie irgendwie mit schwachen Gruppoiden gemischt werden , um etwas zu erreichen?ω

Jake
quelle
1
Ich bin verwirrt: Es gibt domänen -theoretische Modelle des untypisierten Kalküls, bei dem es sich intuitiv um einen typisierten Kalkül mit dem Typ . Dies hat natürlich auch keine Modelle in Sets. Warum würden Sie erwarten, dass es keine Domänenmodelle von System F gibt? Haben Sie versucht, online zu suchen? α α αλααα
Cody
Ich habe verstanden, dass es keine Modelle des Systems F gibt, in denen Funktionen in der Mengenlehre als irgendeine Art von Funktion interpretiert werden. Ich habe verstanden, dass es keine "naiven" satztheoretischen Modelle des typisierten Lambda-Kalküls gibt, sondern dass satztheoretische Modelle existieren, solange die Funktionen stetige Funktionen sind. Ähnlich wie die stetigen reellen Funktionen haben auch die schottischen stetigen Funktionen die gleiche Kardinalität wie die reellen Funktionen und die gleiche Größe wie ihre (Co-) Domäne. Ich habe verstanden, wie das Größenproblem gelöst wurde. Ich habe jedoch verstanden, dass eine solche Lösung für System-F nicht existiert.
Jake
Ich sollte auch hinzufügen, dass ich die Domänentheorie so verstanden habe, dass sie im Prinzip immer noch theoretisch festgelegt ist. Das heißt, Funktionen sind immer noch theoretische Funktionen. Es ist nur so, dass Sie sich nur mit den stetigen Funktionen befassen, wenn Sie Funktionen in einem Kalkül interpretieren. Daher scheint mein Verständnis auszuschließen, dass System-F in ein domänentheoretisches Modell passt. Vielleicht ist es eines meiner Erkenntnisse, das hier falsch ist.
Jake
3
Ich verstehe, danke für Ihre Klarstellungen. Die "domänen-theorieähnlichste" Behandlung des FI-Systems ist Girards "Coherent Spaces", deren Behandlung hier von Paul Taylor beschrieben wird. Ich weiß nicht, ob dies eine "nette Theorie" gemäß Ihrer Anfrage ist, aber um ehrlich zu sein, sehe ich die
Domänentheorie
1
@cody: tsk, tsk.
Andrej Bauer

Antworten:

5

Es gibt viele Möglichkeiten, Polymorphismus über die Domänentheorie zu modellieren. Lassen Sie mich nur eine beschreiben, die leicht zu verstehen ist, damit Sie selbst darüber nachdenken können. Es ist ein "PER-Modell".

Nehmen Sie ein beliebiges Modell des untypisierten Kalküls, zum Beispiel eine Domäne so dass ein Rückzug von (nehmen Sie zum Beispiel so, dass . Sei und der Rückzug bzw. der Abschnitt.D D D D D D N × ( D D ) ) Λ : D ( D D ) Γ : ( D D ) D.λDDDDDDN×(DD))Λ:D(DD)Γ:(DD)D

Wir werden die Typen als partielle Äquivalenzrelationen (PER) auf interpretieren . Denken Sie daran, dass ein PER eine Beziehung ist, die symmetrisch und transitiv ist, aber nicht reflexiv sein muss. Jedem Typ weisen wir daher ein PER . Betrachten als " ein Element ist " und als " und gleich sind , so weit wie betroffen ist ".τ ~ τ x ~ τ x x τ x ~ τ y x y τDττxτxxτxτyxyτ

Wir können einige Grundtypen haben (müssen es aber nicht), zum Beispiel wenn wir sicherstellen, dass eine Subdomäne von ist , indem wir einbetten, können wir definieren von NDι:NDnat

xnatynN.x=ι(n)=y.

Definieren Sie unter PERs und den Funktionsraum PER durch τσ τσ

xτσyz,wD.zτwΛ(x)(z)σΛ(y)(w)

Die Begriffe werden als untypisierte Kalkül-Begriffe interpretiert, wie man sie normalerweise in interpretieren würde .λD

Hier ist die Pointe. Sie können Polymorphismus als Schnittpunkt von PERs interpretieren, dh: Wir können das PER berechnen, das : Es ist der Schnittpunkt aller PERs, aber das wird das leere PER sein. berechnen ist eine interessante Übung. berechnen ist eine schwierige Übung (die mich eine Woche lang beschäftigt hat, als ich Student der Domänentheorie war).X . X X . X X X . X X X.

xX.τ(X)yfor all PERs xτ()y.
X.XX.XXX.XXX

Wenn wir eine Rekursion in unserer Sprache wünschen, müssen wir Fixpunkte berücksichtigen. Eine Möglichkeit besteht darin, PERs auf diejenigen zu beschränken, die enthalten und unter dem zunehmender Ketten geschlossen sind. Genauer gesagt, nehmen Sie nur die PERs für dieD

  • DD und
  • Wenn und die Ketten in so erhöhen, dass für alle , dann .x0x1x2y0y1y2Dxiyiisupixisupiyi

Wir können nun interpretieren, indem wir den Kanster-Tarski-Satz über die Existenz von Fixpunkten anwenden, genau wie wir es in der gewöhnlichen Domänentheorie tun. Diesmal ist nicht leer, da es genau enthält .fixτ:(ττ)τX.XD

Andrej Bauer
quelle
Dies ist eine überaus fantastische Antwort! Dies ergibt im Grunde die gleichen Werkzeuge wie die Parametrizität und die Werkzeuge der Domänentheorie. Genau das habe ich gesucht. Nun, ich habe dieses Wochenende etwas zu tun.
Jake
Für die Aufzeichnung habe ich dieses Zeug von Dana Scott gelernt. Ich bin mir ziemlich sicher, dass John Reynolds von PER-Modellen wusste, als er die Parametrizität erfand. Ich habe immer gedacht, dass Parametrizität sowieso von PER-Modellen kommt.
Andrej Bauer
Ich hatte es im Kopf, dass er Ihr Berater war. Ist das irgendwo niedergeschrieben oder ist das Folklore?
Jake
Es gibt viele Dinge, die darüber geschrieben sind. Wonach suchen Sie? Das erste historische Papier (das von Dana Scott stammen würde), ein klassisches Papier, das die Dinge wirklich in Schwung bringt, ein Lehrbuch?
Andrej Bauer
2
Das Lehrbuch Domains and Lambda Calculi von Roberto Amadio und Pierre-Louis Curien behandelt PER-Modelle in Kapitel 15 und ein PER-Modell von System F in 15.2.
Andrej Bauer
0

Roy Crole gibt in seinem Buch Categories for Types , insbesondere in Abschnitt 5.6, eine schöne Erklärung zur Verwendung der Domänentheorie zur Modellierung des Typpolymorphismus .

Nathan BeDell
quelle
2
Könnten Sie diesen Abschnitt zumindest für Menschen zusammenfassen, die das Buch möglicherweise nicht haben? Ein oder zwei Absätze mit den wichtigsten Ideen wären ausreichend.
David Richerby