Ihre Argumentation impliziert, dass RE = coRE, aber dies ist nachweislich falsch. Sie könnten versuchen, einen Beweis dafür zu finden und dann herauszufinden, wo Ihre Reduktion fehlschlägt.
Erinnern Sie sich, dass RE die Komplexitätsklasse von rekursiv aufzählbaren Sprachen ist, die Sprachen der Form . Man kann sich das auch nicht deterministisch vorstellen: RE ist die Klasse der Sprachen der Form { x : ( x , w ) ∈ L ′ für einige w } , wobei L ′{x:P halts on input x}{x:(x,w)∈L′ for some w}L′ rekursiv (berechenbar) ist.
Hier ist ein Beweis, dass beide Definitionen übereinstimmen. Nehmen wir an, dass zuerst anhält . Sei L ' = { ( x , w )L={x:p halts on input x} . Die Sprache L ' ist rekursiv und L = { x : ( x , w ) ∈ L ' für einige w } .L′={(x,w):p halts on input x in w steps}L′L={x:(x,w)∈L′ for some w}
Für die andere Richtung sei , wobei L ' rekursiv ist, beispielsweise berechnet durch das Programm PL={x:(x,w)∈L′ for some w}L′ . Wir konstruieren ein neues Programm Q ( x ), das alle möglichen w auflistet und P ( x , w ) nacheinander auf allen w ausführt. Wenn P ( x , wP(x,w)Q(x)wP(x,w)w akzeptiert jemals für einige w , dannhält Q an. Es ist nicht schwer zu überprüfen, ob L = { x : Q bei Eingabe x } anhält .P(x,w)wQL={x:Q halts on input x}
Der Einfachheit halber finden Sie hier die Umrisse für den Beweis, dass sich RE von coRE unterscheidet. Die Sprache ist eindeutig rekursiv aufzählbar: Ein Programm dafür führt einfach P auf x aus . Angenommen, es gibt ein Programm H , bei dem H ( P , x ) genau dann anhält, wenn ( P , x ) x L ist . Wir definieren ein neues Programm G durch G ( x ) =L={(P,x):P halts on input x}PxHH(P,x)(P,x)∉LG . Ist ( G , G ) ∈ L ? Wenn ja, dann G stoppt auf G , so H stoppt auf ( G , G ) , so ( G , G ) ∉ L . Wenn ( G , G ) ∉ L , dannhört G nicht bei G auf , alsohört H nicht bei ( G , G ) aufG(x)=H(x,x)(G,G)∈LGGH(G,G)(G,G)∉L(G,G)∉LGGH(G,G), So . Dieser Widerspruch zeigt, dass H nicht existieren kann.(G,G)∈LH
Versuchen Sie nun, Ihren Beweis in diesem Fall zu führen und festzustellen, was schief geht. Versuchen Sie genauer, das Programm anhand Ihres Rezepts zu konstruieren und befolgen Sie den Beweis - irgendwann stimmt etwas nicht mehr.H