Kepuasan yang sama dapat dicapai dengan cara berikut (pengurangan dari 2SAT menjadi HornSAT). Jadi juga dapat direduksi menjadi formula Horn dengan cara ini. Terima kasih kepada Joshua Gorchow karena menunjukkan pengurangan ini.( p ∨ q)
Input: A 2-SAT rumus , dengan klausa C 1 , ..., C k pada variabel x 1 , ..., .ϕC1Ckx1xn
Buat formula Horn sebagai berikut:Q
Akan ada 4 ( pilih ) variabel baru, satu untuk setiap kemungkinan
yang mungkin klausul 2-CNF pada variabel dengan paling banyak 2 literal ( Tidak hanya itu klausul dalam ) - ini adalah termasuk klausa unit dan klausa kosong .. Variabel baru yang sesuai dengan klausa akan dilambangkan dengan .n 2 + 2 n + 1 x C i ϕ D z D×n2+ 2 n + 1xCsayaϕDzD
4 ( pilih ) berasal dari fakta bahwa setiap pasangan
memunculkan empat klausa 2-cnf. The berasal dari fakta bahwa setiap dapat membuat 2 Unit klausa. Dan akhirnya "satu" berasal dari klausa kosong .. Jadi jumlah total klausa 2-cnf yang mungkin adalah
4 ( pilih ) .n 2 ( x i , x j ) 2 n x i = × n 2 + 2 n + 1×n2( xsaya, x j)2 nxi=×n2+2n+1
Jika klausa 2-cnf mengikuti dari dua klausa 2-cnf lainnya dan dengan langkah resolusi tunggal, maka kami menambahkan klausa Horn
ke ... Sekali lagi, kami melakukan ini untuk memungkinkan klausa 2-CNF - semua 4 (
pilih ) dari mereka - bukan hanya yang .D E ( z D ∧ z E → z F ) Q × n 2 + 2 n + 1 C iFDE(zD∧zE→zF)Q×n2+2n+1Ci
Kemudian kita tambahkan unit klausul ke , untuk setiap klausul
muncul di input ... Akhirnya, kita menambahkan unit klausul ke . Q C i ϕ ( ¬ z e m p t y ) QzCiQCiϕ(¬zempty)Q
Rumus Tanduk sekarang lengkap. Perhatikan bahwa variabel yang digunakan dalam benar-benar berbeda dari yang digunakan dalam .Q ϕQQϕ