Reduction from Circuit-Sat to 3-Sat

2.8k Views Asked by At

I'm reading the following notes on reduction from circuit-sat to 3-sat http://www.cs.cmu.edu/~avrim/451f11/lectures/lect1108.pdf

On the third page i'm unsure how they arrived at the following

In particular we just replace each statement of the form

$y_{3}=\mathrm{NAND}(y_{1},y_{2})$ as

$(y_{1} \cup y_{2} \cup y_{3})\cap(y_{1} \cup y_{2}' \cup y_{3})\cap(y_{1}' \cup y_{2} \cup y_{3}) \cap (y_{1}' \cap y_{2}' \cap y_{3}')$

I'm quite new to propositional logic, i've read a little bit about how to convert things to CNF so i thougt we should have $y_{3}=(y_{1}' \cup y_{2}')$. I'd appreciate any help on the reasoning behind how they replace the statement.

1

There are 1 best solutions below

1
On

One way to go about it is to just write down the truth table for both expressions and verify that they are equal (noting that in the first NAND expression, $y_3$ must be equal to the value of NAND$(y_1,y_2)$ or else the statement is false). There are only 8 possible ways to assign 3 variables, you just need to verify in each case that the values of the two Boolean expressions are equal.