Tôi lấy nó mà chúng tôi gọi TAUT vấn đề đưa ra một công thức DNF, quyết định xem đó có phải là một tautology không (nếu bạn không muốn hạn chế đối với DNF, điều này vẫn sẽ hoạt động vì điều này chỉ làm cho vấn đề trở nên tổng quát hơn).
Câu trả lời cho câu hỏi của bạn dễ dàng theo định nghĩa của coNP. Hãy nhớ rằng một ngôn ngữL⊆{0,1}∗ trong coNP Là L¯={x∈{0,1}∗∣x∉L}∈NP. Ví dụ,TAUT¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯là tập hợp các DNF không phải là một tautology. Để chứng minh rằng một DNF không phải là một tautology, bạn chỉ phải tìm một bài tập không thỏa mãn công thức của bạn, có thể được thực hiện trong thời gian đa thức với một NTM (chỉ "bruteforce" các bài tập). Do đó, nó là trongNP. Nói cách khác,TAUT¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∈NP do đó TAUT∈coNP.
Bây giờ lấy một NPngôn ngữ hoàn chỉnh L. Theo định nghĩa,L¯∈coNP. Chúng tôi cho thấy rằngL¯ Là coNP- Hoàn thành, nghĩa là, đối với mọi ngôn ngữ A∈coNP, A≤L¯. Để choA∈coNP. Sau đóA¯ trong NP. BởiNPtính đồng bộ của L, có một chức năng f, tính toán trong thời gian đa thức sao cho x∈A¯ iff f(x)∈L. Điều này tương đương để nói rằngx∉A¯ iff f(x)∉L. Lần lượt, tương đương vớix∈A iff f(x)∈L¯. Như vậyf cũng là một giảm từ A đến L¯, điều đó có nghĩa là A≤L¯. Nói cách khác,L¯ Là coNP-hoàn thành.
Bây giờ, nếu bạn muốn thể hiện điều đó TAUT Là coNP- Hoàn thành, bạn chỉ phải thể hiện rằng TAUT¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Là NP-hoàn thành. Và không khó để thấy điều đóSAT≤TAUT¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯. Thật vậy, một CNFF là thỏa đáng ¬F, đó là một DNF, không phải là một tautology.