Verification of a solution to a mathematical logic problem

discrete mathematicslogicpuzzlesolution-verification

The question is as follows:

A detective has interviewed four witnesses to a crime. The detective has concluded the following based on how those interviews went :

  1. If the butler is telling the truth, the cook is doing so too.
  2. The cook and the gardener can't both be telling the truth.
  3. The gardener and the handyman aren't both lying.
  4. If the handyman is telling the truth, the cook must be lying.

The question is, can the detective figure out whether each of the individuals is lying or not? Explain the reasoning.


Answer:

We're here only considering whether someone is truthful or not. So we can just take a variable, that's either True or False in any of the possible cases, and walk ourselves back from there. cook is one such variable [True means that specific person is telling the truth, and False means the exact opposite].

If we consider cook to be True, handyman must be False (Statement #4). According to statement #3, gardener and handyman can't both be False at the same time, as we already know handyman is False (i.e. lying), gardener has to be True.

If gardener is True, according to statement #2, cook has to be False. This contradicts our first assumption, that is cook is True, i.e. telling the truth. Which leaves us to cook being False.

We can't straight out just say that cook is False and the case is solved. That's because if cook is False, then handyman is True. But this branches statement #3 into two different routes.

gardener and handyman aren't both False, which means either either one of them is True, or both are. As handyman is True, let's first consider gardener is False. Now we're again in the same situation where either either of them is False or both are. If cook is True, we'll be contradicting our initial assumption, so cook can't be True. Which leaves us to cook being False`. This gives us the first set of logically correct assumptions. Let's note it down.

cook = False
handyman = True
gardener = False
butler = False

Now we'll be considering gardener to be True. If gardener is True, cook has to be False. So now we have another solution set

cook = False
handyman = True
gardener = True
butler = False

Comparing the two logically correct solutions we can easily come to the assumption that the detective can't determine whether the each individual is lying or not, as there are more than one possible cases.


Is the method too tedious? Is there any other method of achieving the same? Everything is self taught, so use of different terminologies are alien to me right now, if anyone can point me to the right direction I'd be grateful.

Best Answer

Premise.
b implies c
not-c or not-g
g or h
h implies not-c

Assume not-g. Thus
h; not-c: not-b.

Assune g. Thus
not-c: not-b.

Conclusion.
The cook and the butler are lying.
Either the cook or the handyman are telling the truth.
It cannot be determined if either of them are lying.

Related Question