In diesem Zusammenhang bezieht sich die Dualität auf den kleinsten Fixpunkt in einem Fall und den größten Fixpunkt im anderen. Wir sollten versuchen zu verstehen, in welchem Sinne und sind die "mindestens" und "höchste" -Lösungen der rekursiven Gleichung F ( X ) ≅ X .G = ∃ X . ( X → F ( X ) ) × XL=∀X.(F(X)→X)→XG=∃X.(X→F(X))×XF(X)≅X
Erstens sind und G in der Tat Fixpunkte (unter bestimmten technischen Voraussetzungen, die die Natur von F einschränken ), weil die Vergleichskarten v : F ( L ) → L und w : G → F ( G ) durch
v gegeben sindLGFv : F( L ) → Lw : G → F( G )
und
W ( X , ( f , x ) ) = F ( λ y : X
vxXG= g( F( λ h : L.hXG)x )
sind Isomorphismen. Beachten Sie, dass wir die Tatsache verwendet haben, dass
F ein Funktor ist, dh es ist monoton, wenn wir es auf Funktionen angewendet haben.
w ( X,(f,x))=F(λy:X.(X,(f,y)))(fx)
F
Angenommen , ist eine beliebige Lösung F ( Y ) ≅ Y mit einer vermittelnden Isomorphismus U : F ( Y ) → Y . Dann haben wir kanonische Karten α : L → Y und β : Y → G, die durch α definiert sind
YF(Y)≅Yu:F(Y)→Y
α:L→Y and β:Y→G
und
βαf=fYu
Daher ist
L am
geringsten,weil wir daraus eine andere Lösungableiten können, und
G ist am
größten,weil wir daraus eine andere Lösung ableiten können. Wir könnten das alles präzisieren, indem wir über Anfangsalgebren und Endkohlegebren sprechen, aber ich möchte, dass meine Antwort kurz und bündig ist und Cody die Algebren trotzdem erklärt.
βy=(Y,(u−1,y)).
LG
In der Praxis sind die wenigsten Lösungen eifrige Datentypen und die größten Lösungen sind verzögerte Datentypen. Wenn zum Beispiel dann im ersten Fall erhalten wir endlich Listen A ‚s und in den zweiten endlichen und unendliche Listen A ‘ s.F(X)=1+A×XAA