The task is to implement a Boolean function using NOR gates only. After minimization what I end up with is the following equation:

$$f(a,b,c,d) = {\overline {b} \overline {c}} + {a \overline {c}} + {c \overline {d}} $$

I tried to do something like this:

$$f(a,b,c,d) = \overline{\overline{\overline {b} \overline {c}}} + \overline{\overline{a \overline {c}}} + \overline{\overline{c \overline {d}}} $$ using De Morgan's Laws:

$$f(a,b,c,d) = \overline{b+c} + \overline{\overline{a} +c} + \overline{\overline{c} +d} $$

Textbook solution suggested to deduce the minimized CNF form and transform it a bit: enter image description here

I wanted to find out is my solution any good, but Logic Friday created two different truth tables for the two expressions:

enter image description here

What interests me is where did I go wrong in my solution? Do we generally must use CNF to get to the function with only NOR operations?

EDIT: The function is given by: $$f(1)={1,2,6,9,10,13,14}$$ and $$f(*)={0,8,12}$$

For minimization I used a K-map.

  • \$\begingroup\$ the truth tables are incomplete. Are they displaying the positive rows only? \$\endgroup\$
    – Eugene Sh.
    Commented Dec 14, 2015 at 19:39
  • \$\begingroup\$ Also I see some don't-cares in the k-map, which I don't understand how derived from the function you are giving. It looks like you are not telling us everything. \$\endgroup\$
    – Eugene Sh.
    Commented Dec 14, 2015 at 19:42
  • \$\begingroup\$ @EugeneSh. I edited the post. I thought that the original truth table can be deduced from the K-map above. The way I usually do that is by considering all the values that are not * or 0 to be 1. I made a K-map with 1 in those fields and did the minimization. \$\endgroup\$
    – 0lt
    Commented Dec 14, 2015 at 19:58
  • \$\begingroup\$ so your function is incorrect. Row 3 can't be 1. It is neither in f(1) nor in f(*). Updat: Oh, wait.. you tables are mixing up the variables order.. can you arrange them in the order matching the function definition? \$\endgroup\$
    – Eugene Sh.
    Commented Dec 14, 2015 at 19:59
  • \$\begingroup\$ I used WolframAlpha this time and it turns out that my solution as well as the textbook solution both create truth tables that match the truth table the function was defined with. Thank you so much for your input and pointing out that variable order was mixed up. How can I award your comment as the best answer? \$\endgroup\$
    – 0lt
    Commented Dec 14, 2015 at 20:32

2 Answers 2


Don't care conditions are greedy. Your answer will be different from the textbook.

$$\overline {\overline {X}} = X$$

So they have:

$$(\overline {c} + \overline {d})(c+d)(a+\overline {b}+\overline {d})$$

Double negation:

$$\overline{\overline{(\overline {c} + \overline {d})(c+d)(a+\overline {b}+\overline {d})}}$$

Take DeMorgan's on lower bar. $$\overline{\overline{(\overline {c} + \overline {d})}+\overline{(c+d)}+\overline{(a+\overline {b}+\overline {d})}}$$

All NOR gates.

You have:

$${\overline {b} \overline {c}} + {a \overline {c}} + {c \overline {d}} $$

AND - OR. Take DeMorgan's. $$(\overline{\overline {b} \overline {c}}) (\overline{a \overline {c}}) (\overline {c \overline {d}})$$

NAND - AND. Take DeMorgan's on terms. $$(b + c) (\overline{a} + c) (\overline {c}+ d)$$

OR - AND. Take DeMorgan's. $$\overline{\overline{(b + c)} + \overline{(\overline{a} + c)} + \overline{(\overline {c}+ d)}}$$


Your answer is just as valid as the textbook because you used the Don't Cares in a different way.

Edit... The textbook solution is not minimal. They attempt to include all Don't Cares. This makes yours better (less gates/connections).

$$(\overline {c} + \overline {d})(a+\overline {b}+ c)$$ which makes the answer: $$\overline{\overline{(\overline {c} + \overline {d})}+\overline{(a+\overline {b}+c)}}$$

That should be equivalent to your answer, with Don't Care states.


When I input "evaluate (¬b&&¬c)||(a&&¬c)||(c&&¬d)" into WolframAlpha, it came back with the NOR minimal form:


where ¬ is logical NOT and ↓ is the NOR symbol (a.k.a. Peirce's arrow).

However I don't know the process the program used to come up with the answer. You might try writing out the truth table from their answer and see if that gives you any ideas.

If you're not able to use inverters, you can create those from NOR gates also.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.