I've been traversing the practice exercises in Kenneth Rosen's Discrete Math and Its Applications in preparation for an upcoming class that is heavily proofs-based.

Constructing truth tables from propositions has been relatively simple up to this point, but now I am having to use them to solve logic puzzles and I am struggling. I can, for the most part, reason through many of the problems with words, but I am specifically instructed to solve them using truth tables and I find this to be very difficult.

Translating statements into logical expressions is particularly challenging for me. For example, given the following puzzle:

"The police have three suspects for the murder of Mr. Cooper: Mr. Smith, Mr. Jones, and Mr. Williams. Smith, Jones, and Williams each declare that they did not kill Cooper. Smith also states that Cooper was a friend of Jones and that Williams disliked him. Jones also states that he did not know Cooper and that he was out of town the day Cooper was killed. Williams also states that he saw both Smith and Jones with Cooper the day of the killing and that either Smith or Jones must have killed him. Can you determine who the murderer was if one of the three men is guilty, the two innocent men are telling the truth, but the statements of the guilty man may or may not be true?"

how do I know what information to populate my truth table with? How am I supposed to represent a statement like

"Smith also states that Cooper was a friend of Jones and that Williams disliked him."

using propositional logic? The fact that two people are friends, or that one person dislikes another, doesn't give me any concrete information that I can use to inform decisions, and I am worried that any assumptions I make (e.g. if person A likes person B, he would not kill him) could be incorrect and invalidate any further reasoning. I could construct truth table after truth table, but if the propositions I am evaluating are irrelevant, it renders the entire process useless.

Any general advice on solving these kinds of problems would be greatly appreciated.

  • $\begingroup$ The usual idea is to try the various cases. Pick two of the suspects and assume that they are telling the strict truth. See if that leads to a contradiction. Repeat for all choices of the innocent pair. Note, for instance, that $S$ says that $J$ and $C$ were friends but $J$ says he didn't know $C$. That's a contradiction right there. $\endgroup$
    – lulu
    Jan 6, 2021 at 23:08
  • $\begingroup$ For a more literal transcription to propositional logic, you could start with the link between innocence and truth, and say for example $[\lnot Killer(Smith)] \rightarrow [Friend(Cooper, Jones) \land Disliked(Williams, Cooper)]$. But then you would also have to encode some of the implicit dependencies, such as that being a friend or disliking both are in contradiction with "not knowing" somebody. You also have the assumption $Killer(Smith) \lor Killer(Jones) \lor Killer(Williams)$. $\endgroup$ Jan 7, 2021 at 0:02

1 Answer 1



If 2 of the 3 men contradict each other, then the 3rd man must be innocent, and therefore must be truthful in all of this statements.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .