If there are only truth teller and liar, I used to solve with BooleanConvert
or SatisfiabilityInstances
. However for this one, how could I use Mathematica to solve?
Mr. Lee is a senior programmer, but there is something wrong with the three robots he recently designed: the one always tells the truth, the one always lies, and the other sometimes tells the truth, sometimes lies. Mr. Lee asked Dr. Gao for help to distinguish them. Dr. Gao took a look and asked 3 questions with them. The questions are shown below:
For the robot on the left side, Dr. Gao: Who is sitting next to you? Robot replied: A truth teller.
For the robot in the middle, Dr. Gao: Who are you? Robot replied: The guy always hesitant.
For the robot on the right side, Dr. Gao: Who is sitting next to you? Robot replied: A liar.
According to the above three question and answers to distinguish these robots.
I also tried BooleanTable
, since I marked both liar and joker as false. But it seems this way is not general and succinct.