Es gibt verschiedene Möglichkeiten zu erklären, dass "berechenbar impliziert kontinuierlich". Ich werde hier zwei solche Erklärungen geben.
Turingmaschinen berechnen fortlaufende Karten
Angenommen, wir haben eine Turing-Maschine, die möglicherweise unendlich viel Eingabe auf ein Eingabeband schreibt. Es schreibt das Ergebnis auf ein Ausgabeband, auf dem die Ausgabezellen einmal geschrieben werden. Es gibt Arbeitsbänder. Die Maschine läuft möglicherweise für immer und füllt die Ausgangszellen. Dies ist als Typ-2- Maschine bekannt. (Das Argument für andere Arten von Maschinen wird ähnlich, aber einfacher sein.)
Folgendes sollte offensichtlich sein: Wenn die Maschine in eine Ausgabezelle schreibt, hängt ihre Arbeitsweise bis zu diesem Punkt nur von einem endlichen Teil des Eingabebandes ab, aus dem einfachen Grund, dass sie in endlich vielen Berechnungsschritten den Eingabekopf nicht hätte bewegen können irgendwann. Daher hätte jedes Eingabeband, das bis zu diesem Zeitpunkt mit dem angegebenen übereinstimmt, dazu geführt, dass die Maschine dieselbe Antwort in dieselbe Ausgabezelle geschrieben hätte.
Dies ist jedoch eine Form der Kontinuität, wenn wir die Räume der Eingabe- und Ausgabebänder mit der richtigen Topologie versehen.
Zuerst setzen wir die Topologie auf das Set Σvon Symbolen, die auf Bandzellen geschrieben werden können. Dazu wählen wir einfach die diskrete Topologie. Ein Band ist eine unendliche Folge von Symbolen, also ein Element vonΣω, das ist ein Produkt von Σ's. Lassen Sie uns die Produkttopologie darauf setzen.
Denken Sie daran, dass ein grundlegendes offenes Set aktiviert ist Σω denn die Produkttopologie hat die Form U(a0,…,an−1)={α∈Σω∣∀i<n.αi=ai}, wo a0,…,ai∈Σ. Das heißt, ein offener Basissatz fixiert einen Anfangsabschnitt der Sequenz auf die angegebenen Wertea0,…,an.
Jetzt können wir überprüfen, ob die Funktion f:Σω→Σωvon der Maschine berechnet ist in der Tat kontinuierlich. Nehmen Sie ein einfaches offenes SetV=U(a0,…,an−1) und lass W=f−1(V). Wir müssen das überprüfenWist offen. Berücksichtigen Sie zu diesem Zweck alleα∈W. Wenn wir eine offene Grundmenge findenW′ so dass α∈W′⊆WDann sind wir fertig.
weil α∈W, wir haben f(α)∈U. Also bei Eingabeα Die Maschine erzeugt ein Ausgabeband, das mit beginnt a0,a1,…,an−1. Bis es diese Zellen ausschreibt, hat es höchstens die erste inspiziertk Zellen der Eingabe, für einige k∈N. Wir können nehmenW′:=U(α0,…,αk) und überprüfen Sie das α∈W′⊆W. Es ist offensichtlich dasα∈W′. BeweisenW′⊆W Such dir irgendeine aus β∈W′ und beobachte das f(α) und f(β) stimme dem ersten zu nWerte der Ausgabe. Dies impliziert dasf(β)∈V und daher β∈W, wie erforderlich.
Berechenbare Karten sind kontinuierlich als Karten zwischen algebraisch ωCPOs
Lassen Sie mich zunächst feststellen, dass das, was Sie definiert haben, normalerweise "ωCPO "(ω im Namen gibt an, dass wir nur Suprema von Ketten benötigen).
In der Denotationssemantik entsprechen Datentypen ωCPOs. Tatsächlich entsprechen sie der Algebra ωCPOs (ist das in Ihrer Arbeit?), Die sind ωCPOs, für die die kompakten Elemente eine Basis bilden. Hier sind einige Definitionen.
Definition: LetD Bohne ωCPO. Ein Elementd∈Dist kompakt, wenn für jede Kettex0≤x1≤⋯ so dass d≤⨆ixigibt es j so dass d≤xj.
Definition: AnωCPO ist algebraisch, wenn allex∈D ist das Supremum kompakter Elemente darunter.
Die Intuition hinter kompakten Elementen ist, dass sie "endliche Informationen" enthalten. Ein gutes Beispiel istP(N), das Powerset der natürlichen Zahlen, geordnet nach ⊆, wobei die kompakten Elemente genau die endlichen Teilmengen von sind N(Übung!). Ein weiteres Beispiel: in derωCPO von kontinuierlichen Funktionen N→N⊥ Die kompakten Elemente sind die Teilfunktionen, die gleich sind ⊥ überall, außer bei endlich vielen Argumenten.
Um zu sagen, dass ein ωCPO ist algbraisch zu sagen, dass jedes Element vollständig durch die endlichen Informationen bestimmt wird, die es annähern. Es ist eine Tatsache, dass in der Denotationssemantik Datentypen der Algebra entsprechenωCPOs, es sei denn, wir machen etwas sehr Ungewöhnliches.
Wir können jetzt erklären, warum jede berechenbare Karte kontinuierlich ist. AnnehmenD und E sind ωCPOS und f:D→Eberechenbar. Annehmenx∈D, e∈E, e ist kompakt und e≤f(x). Intuitiv sagt dies, dass "endliche Informatione erscheint in der Ausgabe f(x)". Weil f ist berechenbar, muss es der Fall sein, dass es die Informationen berechnet hat e durch Zugriff auf nur eine begrenzte Menge an Informationen über xdh es gibt einen kompakten d∈D so dass d≤x und e≤f(d). Dieses Argument sollte mit dem obigen Argument der Turing-Maschine verglichen werden. Wir haben festgestellt:
Lemma: Wennf:D→E ist berechenbar und e≤f(x) für einige x∈D und ein kompakter e∈E, dann gibt es kompakt d∈D so dass d≤x und e≤f(d).
Wir können das Lemma verwenden, um zu zeigen, dass es berechenbar ist fist kontinuierlich. Annehmenx0≤x1≤⋯ ist eine Kette in D. weilf ist monoton, das wissen wir schon ⨆if(xi)≤f(⨆ixi), aber wir brauchen auch die Ungleichung f(⨆ixi)≤⨆if(xi). weilE ist algebraisch, es genügt zu zeigen, wann immer e∈E ist kompakt und e≤f(⨆ixi) dann e≤⨆if(xi). Also nimm ane≤f(⨆ixi). Durch das Lemma existiert ein Vertragd∈D so dass d≤⨆ixi und e≤f(d). weild ist kompakt, gibt es j so dass d≤xj, daher durch Monotonie von f wir haben e≤f(d)≤f(xj)≤⨆if(xi). Wir sind fertig.