[Aku membuatnya menjadi jawaban yang tepat tapi seseorang memberikannya -1]
Jika ada klausa yang diizinkan untuk ditambahkan, maka bahasa tersebut kosong - jelas untuk setiap rumus memuaskan Anda dapat menambahkan 3 klausa c yang terdiri dari variabel yang tidak muncul dalam F : F ∪ { c } akan memuaskan.FcFF∪{c}
Jika klausa yang ditambahkan harus menggunakan variabel , maka bahasa tersebut dalam P.F
Pembenaran adalah sebagai berikut:
Mengambil , yaitu F ∈ S A T dan untuk setiap 3-klausul c pada variabel F , F ∪ { c } ∈ U N S A T . Katakan c = l 1 ∨ l 2 ∨ l 3 ∉ F , di mana l i adalah literal. Karena F ∪ { c } adalah UNSAT, semua model F harus memiliki l iF∈LF∈SATcFF∪{c}∈UNSATc=l1∨l2∨l3∉FliF∪{c}F (untuk i = 1 , 2 , 3 ) - karena jika beberapa model memiliki misalnya l 1 = 1 , maka itu akan memenuhi c dan F ∪ { c } . Sekarang, asumsikan ada klausa lain c ′ yang persis seperti c , tetapi dengan satu atau lebih literal terbalik dan sedemikian sehingga c ′ ∉ F , katakanlah c ′ = ¬ l 1 ∨ l 2 ∨ l 3li=0i=1,2,3l1=1cF∪{c}c′cc′∉Fc′=¬l1∨l2∨l3. Maka dengan argumen yang sama semua model harus memiliki l 1 = 1 . Dengan demikian, kondisi yang diperlukan untuk F ∈ L adalah bahwa untuk setiap klausul c ∈ F ada tepat 6 klausul lainnya di F yang menggunakan tiga variabel c - memungkinkan panggilan subset 7-klausul tersebut F blok . Perhatikan bahwa setiap blok menyiratkan tugas memuaskan unik untuk variabel-variabelnya. Ketika kondisi yang diperlukan ini terpenuhi, F bisa secara unik memuaskan atau tidak memuaskan. Dua kasus dapat dibedakan dengan menguji apakah penugasan tersirat oleh blok FFl1=1F∈Lc∈FFcF FF bentrokan, yang jelas dapat dilakukan dalam waktu linier.