1

Double-SAT = {: has at least two satisfying truth assignments}. Hint: reduce from SAT. Start with a formula and modify it to get a formula so that is satisfibale if and only if has at least two satisfying truth assignments. If is not satisfiable, then also needs to be unsatisfiable.

How do I the problem lies in NP, and show that some NPcomplete problem reduces to it

Jay
  • 21
  • 1

1 Answers1

1

Proof that Double-SAT is NP

For a formula, given 2 valid solutions, we can verify that those 2 assignments satisfy the formula in linear time.

Proof that Double-SAT is NP-Hard

So we will reduce from SAT to Double-SAT (a.k.a. Twice-SAT).

Hidden variable

Just declaring one hidden variable is enough as a valid Double-SAT instance will have a solution with the hidden variable $true$ or $false$.

(hiddenVariable or not hiddenVariable)

You can put the hidden variable in a new clause if you want $(hiddenVariable \lor \lnot hiddenVariable)$.

Splitting a clause

Reduce one clause like this: $$(a \lor \lnot b \lor \lnot c) => (a \lor \lnot b \lor \lnot c \lor hiddenVariable) \land (a \lor \lnot b \lor \lnot c \lor \lnot hiddenVariable)$$

Splitting all the clauses

Reduce all the clauses with the same hidden variable: $$\left. \begin{array}{11} (a \lor \lnot b \lor \lnot c)\text{ }\land\\ ...\\ (p \lor \lnot w \lor \lnot z) \end{array} \bigg\} => \right. \bigg\{ \begin{array}{11} (a \lor \lnot b \lor \lnot c \lor hiddenVariable)\text{ }\land\\ (a \lor \lnot b \lor \lnot c \lor \lnot hiddenVariable)\text{ }\land\\ ...\\ (p \lor \lnot w \lor \lnot z \lor hiddenVariable)\text{ }\land\\ (p \lor \lnot w \lor \lnot z \lor \lnot hiddenVariable) \end{array}$$

This is useless compared to the previous reduction.