Vui lòng tham khảo Định lý Cook Levin có tương đối không? .
Cũng tham khảo bài viết của Arora, Implagiazo và Vazirani: Kỹ thuật tương đối hóa so với không tương thích: Vai trò của kiểm tra cục bộ .
Trong bài báo của Baker, Gill và Solovay (BGS) về thuyết tương đối hóa của P =? Câu hỏi NP (Tạp chí SIAM về máy tính, 4 (4): 431 Chiếc442, tháng 12 năm 1975) họ đưa ra một ngôn ngữ và sao cho và , do đó chứng minh rằng có thầy mo mà .BBUBUBUB∈NPBUB∈NPBUB∉PBUB∉PBBBPB≠NPBPB≠NPB
Chúng tôi sẽ sửa đổi và thành và để chúng tôi có được một ngôn ngữ mới không thể giảm xuống 3SAT ngay cả khi có sẵn như một lời tiên tri.UBUBBBUB′UB′B′B′B′B′
Trước tiên, giả sử rằng chúng ta có thể đệm mọi boolean thành với một số biểu thức 3CNF giả khác sao cholà số lẻ và chúng tương đương nhau, nghĩa là là thỏa đáng iff là thỏa đáng. Chúng ta có thể làm điều đó trong thời gian và với phần đệm , nhưng ngay cả khi phải mất thời gian đa thức và phần đệm đa thức thêm thì cũng không thành vấn đề.3SAT3SATϕϕϕ′ϕ′|ϕ′||ϕ′|ϕϕϕ′ϕ′n+O(1)n+O(1)O(1)O(1)
Bây giờ chúng ta cần kết hợp và với bằng cách nào đó để định lý BGS vẫn giữ nhưng thêm . Vì vậy, chúng tôi làm một cái gì đó như sau.BB3SAT3SATB′B′3SAT∈PB′3SAT∈PB′
UB′={1n | ∃x∈B,UB′={1n | ∃x∈B, sao cho và|x|=12n}|x|=12n}
B′=B′constructed ∪{ϕ | ϕ∈3SATB′=B′constructed ∪{ϕ | ϕ∈3SAT vàlà số lẻ .|ϕ||ϕ|}}
Bây giờ chúng ta sẽ xây dựng theo định lý sao cho nếu máy xác định cho đầu vào ( được xác định như trong định lý) sẽ hỏi nhà tiên tri một truy vấn có độ dài lẻ kiểm tra xem nó có trong và trả lời đúng nhưng nếu nó hỏi một truy vấn có độ dài bằng nhau, chúng tôi tiến hành xây dựng, nghĩa là trả lời đúng nếu nó đã có trong bảng, nếu không thì trả lời không phải lúc nào. Sau đó, vì chúng tôi đang chạy trong chúng tôi lật các câu trả lời ở độ dài để không quyết định .B′constructedB′constructedMB′iMB′i1n1nnnB′B′3SAT3SAT1n1n2n2nMB′iMB′iUB′UB′
Chúng ta có thể chứng minh tương tự như trong định lý BGS rằng với và , chúng ta có và .B′B′UB′UB′UB′∈NPB′UB′∈NPB′UB′∉PB′UB′∉PB′
UB′∈NPB′UB′∈NPB′ rất dễ chứng minh. Chúng tôi xây dựng một Máy Turing không xác định, cho đầu vào tạo ra các nhánh không xác định chạy trong bước để tạo chuỗi -thngthth khác nhau và sau đó hỏi orory nếu chuỗi -thngthth nằm trong , và nếu câu trả lời là có, nó chấp nhận nếu không nó sẽ từ chối . Cấu trúc này cho thấy .1n1n2n2n2n2nB′B′2n2nB′B′1n1n1n1nUB′∈NPB′UB′∈NPB′
UB′∉PB′UB′∉PB′ có thể được chứng minh với sự trợ giúp của đối số đường chéo. Về cơ bản, nó khác với mọi cho mọi Máy Turing orory có là một nhà tiên tri. Điều này là do cách chúng tôi xây dựng .L(MB′i)L(MB′i)B′B′B′constructedB′constructed
Bây giờ chúng ta sẽ chứng minh bằng mâu thuẫn rằng không tồn tại sự giảm từ xuống ngay cả khi có sẵn .UB′UB′3SAT3SATB′B′
Giả sử có sự giảm bằng cách sử dụng oracle , tức là, .B′B′UB′≤B′P3SATUB′≤B′P3SAT
Điều đó có nghĩa là chúng ta có thể giảm một chuỗi có dạng xuống một thể hiện 3SAT bằng cách sử dụng máy xác định thời gian đa thức sử dụng làm tiên tri.1n1nϕϕB′B′
Bây giờ chúng ta có thể mô tả một TM xác định sẽ quyết định các chuỗi trong thời gian đa thức sử dụng như một lời tiên tri. Đầu tiên, máy này giảm đầu vào xuống còn 3SAT bằng cách sử dụng như một lời tiên tri. Điều này có thể được thực hiện bởi vì chúng tôi có giảm ở trên. Sau đó, nếu không phải là độ dài lẻ sẽ đệm nó để tạo là độ dài lẻ. Tiếp theo, nó sẽ đưa cho orory và nhận được câu trả lời có / không. Nó sẽ chấp nhận nếu câu trả lời là có và từ chối nếu câu trả lời là không.MB′MB′UB′UB′B′B′1n1nϕϕB′B′ϕϕMB′MB′ϕ′ϕ′ϕ′ϕ′B′B′
Máy này là đa thức xác định và sử dụng orory .B′B′
Do đó, chúng tôi đã chứng minh rằng , một mâu thuẫn .UB′∈PB′UB′∈PB′
Do đó, .UB′≰B′P3SATUB′≰B′P3SAT