Die Umkehrung von Quantifizierern ist eine wichtige Eigenschaft, die häufig hinter bekannten Theoremen steckt.
Zum Beispiel in der Analyse die Differenz zwischen und ist der Unterschied zwischen punktweiser und gleichmäßiger Kontinuität. Ein bekanntes Theorem besagt, dass jede punktweise stetige Karte gleichmäßig stetig ist, vorausgesetzt, die Domäne ist schön, dh kompakt .∀ϵ>0.∀x.∃δ>0∀ϵ>0.∃δ>0.∀x
Tatsächlich steht die Kompaktheit im Mittelpunkt der Quantifiziererumkehr. Betrachten wir zwei Datentypen und , von denen offenkundige und ist kompakt (siehe unten für die Erläuterung dieser Ausdrücke), und lassen eine Beziehung zwischen semidecidable sein und . Die Anweisung kann wie folgt gelesen werden: Jeder Punkt in wird von einer überdeckt . Da die Mengen "berechenbar offen" (semidecidable) undXYXYϕ(x,y)XY∀y:Y.∃x:X.ϕ(x,y)yYUx={z:Y∣ϕ(x,z)}UxYist kompakt, gibt es eine begrenzte Unterdeckung. Wir haben bewiesen, dass
impliziert, dass
Oft können wir die Existenz der endlichen Liste auf ein einzelnes reduzieren . Wenn zum Beispiel linear geordnet ist und in Bezug auf die Reihenfolge in monoton ist, können wir als das größte von annehmen .
∀y:Y.∃x:X.ϕ(x,y)
∃x1,…,xn:X.∀y:Y.ϕ(x1,y)∨⋯∨ϕ(xn,y).
x1,…,xnxXϕxxx1,…,xn
Um zu sehen, wie dieses Prinzip in einem vertrauten Fall angewendet wird, betrachten wir die Aussage, dass eine stetige Funktion ist. Wir behalten als freie Variable bei, um nicht mit einem äußeren universellen Quantor zu verwechseln:
Da kompakt ist und der Vergleich von Realwerten halbentscheidbar ist, ist die Anweisung ist halbentscheidbar. Die positiven Realzahlen sind offenkundig und ist kompakt, sodass wir das Prinzip anwenden können:
f:[0,1]→Rϵ>0
∀x∈[0,1].∃δ>0.∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
[x−δ,x+δ]ϕ(x,δ)≡∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ[0,1]∃δ1,δ2,…,δn>0.∀x∈[0,1].ϕ(δ1,x)∨⋯ϕ(δn,x).
Da in das kleinste von den Job bereits, also brauchen wir nur ein :
Was wir haben, ist eine
einheitliche Kontinuität von .
ϕ(δ,x)δδ1,…,δnδ∃δ>0.∀x∈[0,1].∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
f
Vage ausgedrückt ist ein Datentyp kompakt, wenn er einen berechenbaren Universalquantifizierer hat, und offen, wenn er einen berechenbaren Existenzquantifizierer hat. Die (nicht-negativen) Ganzzahlen sind offen, da um zu halbieren, ob , mit semidecidable, führen wir die Parallelsuche durch Verzahnung durch . Der Cantor-Raum ist kompakt und offen, wie Paul Taylors Abstract Stone Duality und Martin Escardos " Synthetic Topology of Datatypes and Classical Spaces " (siehe auch den verwandten Begriff der durchsuchbaren Räume ) erklären .N∃n∈N.ϕ(n)ϕ(n)2N
Wenden wir das Prinzip auf das von Ihnen erwähnte Beispiel an. Wir betrachten eine Sprache als Landkarte von (endlichen) Wörtern über ein festes Alphabet bis hin zu Booleschen Werten. Da endliche Wörter in einer berechenbaren bijektiven Korrespondenz mit ganzen Zahlen stehen, können wir eine Sprache als eine Karte von ganzen Zahlen zu booleschen Werten betrachten. Das heißt, der Datentyp aller Sprachen ist bis auf den berechenbaren Isomorphismus genau der Cantor-Raum nat -> bool
oder in mathematischer Notation , der kompakt ist. Eine Polynom Zeit Turing Maschine wird durch sein Programm beschrieben, das eine endliche String ist, damit der Raum aller (Darstellungen) Turing Maschinen können sein genommen werden oder , die offenkundigen ist.2Nnat
N
Bei einer Turing-Maschine und einer Sprache ist die Anweisung die besagt, dass "Sprache von abgelehnt wird ", halbentscheidbar, weil sie tatsächlich entscheidbar ist: Führe einfach mit Eingabe und sieh, was es tut. Die Bedingungen für unser Prinzip sind erfüllt! Die Aussage "jede Orakelmaschine hat eine Sprache so dass von nicht akzeptiert wird " wird symbolisch als
Nach Inversion von Quantifizierern erhalten wir
Mcrejects(M,c)cMMcMbbMb
∀M:N.∃b:2N.rejects(Mb,b).
∃b1,…,bn:2N.∀M:N.rejects(Mb1,b1)∨⋯∨rejects(Mbn,bn).
Ok, wir haben endlich viele Sprachen. Können wir sie zu einer einzigen kombinieren? Ich werde das als Übung belassen (für mich und dich!).
Vielleicht interessiert Sie auch die etwas allgemeinere Frage, wie transformiert werden kann zu einer äquivalenten Aussage der Form oder umgekehrt. Dazu gibt es verschiedene Möglichkeiten, zum Beispiel:∀x.∃y.ϕ(x,y)∃u.∀v.ψ(u,v)