Risposte:
Ecco una soluzione:
Chiaramente Double-SAT appartiene a , poiché un NTM può decidere Double-SAT come segue: su una formula di input booleana ϕ ( x 1 , … , x n ) , indeterminatamente indovinare 2 assegnazioni e verificare se entrambe soddisfano ϕ .
Per mostrare che Double-SAT è Complete, diamo una riduzione da SAT a Double-SAT, come segue:
All'ingresso :
Se appartiene a SAT, allora ϕ ha almeno 1 incarico soddisfacente, e quindi ϕ ′ ( x 1 , … , x n , y ) ha almeno 2 incarichi soddisfacenti in quanto possiamo soddisfare il nuova clausola ( y ∨ ˉ y ) assegnando y = 1 o y = 0 alla nuova variabile y , quindi ϕ ′ ( x , ..., x n , y ) ∈ Double-SAT.
D'altra parte, se , allora chiaramente ϕ ′ ( x 1 , … , x n , y ) = ϕ ( x 1 , … , x n ) ∧ ( y ∨ ˉ y ) non ha neppure un compito soddisfacente, quindi ϕ ′ ( x 1 , … , x .
Pertanto, , e quindi Double-SAT è N P- Complete.