Hi everybody, I just want to check to make sure I did this problem right. I know the answer I just need to make sure I did it formally.(adsbygoogle = window.adsbygoogle || []).push({});

1. The problem statement, all variables and given/known data

The problem goes like this: a logician is on an island with two groups of people truth-tellers and liars. He meets three individuals, A, B and C. A says something he can't understand, B says "A said he is a liar" and C says "B is telling a lie." Truth-tellers only tell the truth and liars only lie. I was asked to answer this question: Which category do B and C belong? Can you tell anything about the category A fits in?

My solution, is this correct?

Here ] = negation/not, -> is implication(if/then), and ^ is logical and.

Propositions I came up with:

A: I am a liar

B: A said he is a liar

C: B is the liar

I thought it out beforehand and C is telling the truth. If A said he is a liar and this is true then he is a truth-teller which means he isn't a liar(a contradiction) and hence B is wrong and therefore C is correct.

I formalized it has such:

( (A -> ]A) ^ (B -> (A ^ ]C)) ^ (C -> (]A ^ ]B))

I did a truth table and besides one impossible answer I got C to work out right and nothing else to be true. But is this the right formula afterall?

I do not want any answers I just want to know if I'm doing it right. And maybe if your feeling kind you can tell me where to look next if I'm doing it wrong.

Again, I know the answer I just need help formalizing it or rather checking my answer.

Thanks for all of your time!

**Physics Forums | Science Articles, Homework Help, Discussion**

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Homework Help: Did I do this CS logic problem right?

**Physics Forums | Science Articles, Homework Help, Discussion**