Lý luận của bạn ngụ ý rằng RE = coRE, nhưng điều này có thể chứng minh là sai. Bạn có thể thử tìm ra một bằng chứng về điều đó và sau đó xem việc giảm của bạn thất bại ở đâu.
Hãy nhớ rằng RE là lớp phức tạp của các ngôn ngữ đệ quy đệ quy, là các ngôn ngữ có dạng . Bạn cũng có thể nghĩ về nó trong điều kiện không xác định: RE là lớp các ngôn ngữ có dạng { x : ( x , w ) ∈ L ' đối với một số w } , nơi L ' là đệ quy (tính toán).{x:P halts on input x}{x:(x,w)∈L′ for some w}L′
Dưới đây là một bằng chứng cho thấy cả hai định nghĩa phù hợp. Giả sử . Đặt L ′ = { ( x , w ) : p tạm dừng trên đầu vào x trong w bước } . Ngôn ngữ L ' là đệ quy và L = { x : ( x , w ) ∈ L ' đối với một số w } .L={x:p halts on input x}L′={(x,w):p halts on input x in w steps}L′L={x:(x,w)∈L′ for some w}
Đối với một hướng khác, chúng ta hãy , nơi L ' là đệ quy, nói tính bằng chương trình P ( x , w ) . Chúng tôi xây dựng một chương trình mới Q ( x ) liệt kê tất cả các w có thể và chạy P ( x , w ) trên tất cả w , theo thứ tự. Nếu P ( x , wL={x:(x,w)∈L′ for some w}L′P(x,w)Q(x)wP(x,w)wP(x,w)wQL={x:Q halts on input x}
L={(P,x):P halts on input x}PxHH(P,x)(P,x)∉L. We define a new program G by G(x)=H(x,x). Is (G,G)∈L? If so, then G halts on G, so H halts on (G,G), so (G,G)∉L. If (G,G)∉L, then G doesn't halt on G, so H doesn't halt on (G,G), so (G,G)∈L. This contradiction shows that H cannot exist.
Now try to run your proof in this case and see what goes wrong. In more detail, try to construct the program H using your recipe, and follow the proof - at some point something wouldn't be quite right.