1

I'm writing down the truth table for the OR-gate in a circuit satisfiability problem (this has to do with reduction of the 3-satisfiability problem).

I have:

a  b  c    c = (a OR b)
1  1  1    1
1  1  0    0
1  0  1    1
1  0  0    0
0  1  1    1
0  1  0    0
0  0  1    0
0  0  0    1

So if I take the rows with 0 in the column c = (a OR b), and negate the a,b,c then i get the four clauses:

!a AND !b AND c
a AND !b AND !c
a AND !b and c
a AND b AND !c

I'm trying to minimize these clauses. I know that the right answer is:

c OR !a
c OR !b
c OR !a or !b

How do I minimize those four clauses? is there a program online? I used wolfram, but it didn't output the right answer, so if anyone has a second to help that would be amazing

user2303557
  • 225
  • 1
  • 6
  • 15

1 Answers1

0

It is easy to see that the last column is almost the same as c column except two last rows. And for the two last rows it have values from column c swapped. So we can write as:

if (a ∨ b) then c else ¬c

if c then t else f can be represented as CNF (c ∨ t) ∧ (¬c ∨ f) so the formula above will look like:

(a ∨ b ∨ ¬c) ∧ (¬(a ∨ b) ∨ c)
= (a ∨ b ∨ ¬c) ∧ ((¬a ∧ ¬b) ∨ c)
= (a ∨ b ∨ ¬c) ∧ (¬a ∨ c) ∧ (¬b ∨ c)

And the last one is exactly what you want.

max taldykin
  • 12,459
  • 5
  • 45
  • 64