# Finding Boolean/Logical Expressions for truth tables

I need to find the Boolean expression for the truth table below where $P$, $Q$, $R$ are inputs, and $S$ is the output. Does anyone have a cool easy way of solving such problems please? Your help will be appreciated.

$$\begin{array}{c|c|c||c} P & Q & R & S\\ \hline 1 & 1 & 1 & 1\\ \hline 1 & 1 & 0 & 0\\ \hline 1 & 0 & 1 & 1\\ \hline 1 & 0 & 0 & 0\\ \hline 0 & 1 & 1 & 1\\ \hline 0 & 1 & 0 & 1\\ \hline 0 & 0 & 1 & 0\\ \hline 0 & 0 & 0 & 0 \end{array}$$

-
I'm sorry, but how is what you gave meant to be interpreted? I would have guessed that each xxx y is meant to be that the row corresponding the the assigments xxx has y as the output, but you have four variables (P, Q, R, and S), and only three inputs. – Arturo Magidin May 10 '11 at 21:20
Thanks @Quanta. @Arturo, yes, I have 3 inputs and 1 output, S – user10695 May 10 '11 at 21:26
While boolean algebra and discrete mathematics would fit, logic is really the proper tag. Mathematical physics? Not at all... – Asaf Karagila May 10 '11 at 21:54
Karnaugh map (en.wikipedia.org/wiki/Karnaugh_map) is the simplest way to go. – Brandon Carter May 10 '11 at 22:14
Looks to me like your expression is just $\text{if}(P, R, Q)$. – DanielV Dec 4 '15 at 13:22

A mechanical way of getting an expression that has a desired truth table is to take the disjunction of the formulas that determine the rows you want with 1s.

For example, for a truth table on P, Q, and R that has $$\begin{array}{c|c|c||c} P & Q & R & \text{Table}\\ \hline 1 & 1 & 1 & 1\\ \hline 1 & 1 & 0 & 0\\ \hline 1 & 0 & 1 & 1\\ \hline 1 & 0 & 0 & 0\\ \hline 0 & 1 & 1 & 1\\ \hline 0 & 1 & 0 & 1\\ \hline 0 & 0 & 1 & 0\\ \hline 0 & 0 & 0 & 0 \end{array}$$ we note that the rows corresponding to $1$s are: $P\land Q\land R$, $P\land \neg Q\land R$, $\neg P\land Q\land R$, and $\neg P\land Q\land\neg R$. So a formula that has the desired truth table is $$(P\land Q\land R)\lor (P\land\neg Q\land R)\lor (\neg P\land Q\land R) \lor (\neg P\land Q\land \neg R).$$ This is, of course, unlikely to be the simplest formula that works, and may be simplified later.

-
Awesome!! thanks! – user10695 May 10 '11 at 21:33
This can by easily simplified, for example the $$(P \land Q \land R)$$ and $$(P \land \neg Q \land R)$$ clauses only differ by the $$Q$$ and $$\neg Q$$ so they can be condensed to a single $$(P \land R)$$. This is the type of simplification that the Karnaugh map does for you. – tolomea May 10 '11 at 23:19
Note: this is also a very convenient way to write a formula in disjunctive normal form. – amWhy May 11 '11 at 20:22

You can just render the thing as a bunch of OR-ed together clauses, one checking for each case where the output is 1. If you want a simpler expression, you can use a Karnaugh map.

-
If you do the Karnaugh map the resulting expression is $$(P \land R) \lor (\neg P \land Q)$$ – tolomea May 10 '11 at 23:15

Try a free program called Logic Friday...works standalone...you push new truth table, the number of inputs, then it creates a generic tt with all zeros out. Then you double click on each output you want to change to 1. Then you push Truth Table-->Submit and it will give you the Boolean. Then you push Equation-->Factor to get the factored Boolean.

-