已知他们中只有一人说了真话。问:谁是小偷?
ai推理逻辑
step 1:形式化四人的供词
我们先把他们的供词转成逻辑命题:
人物
供词内容
逻辑表达(t = 真话,f = 假话)
张三
“不是我”
s(张三)
李四
“是张三”
s(张三)
王二
“不是我”
s(王二)
麻子
“是李四”
s(李四)
其中 s(x) 表示“x是小偷”,s(x) 表示“x不是小偷”。
step 2:枚举可能的说真话的人
我们知道 只有一人说了真话,我们就枚举这四人谁说真话,其他三人说假话。
对每种情况,我们验证是否自洽。
case 1:张三说真话
张三:不是我 → 真话 → 张三不是小偷
李四:是张三 → 假话 → 张三不是
王二:不是我 → 假话 → 王二是小偷
麻子:李四是 → 假话 → 李四不是
只有王二是小偷,其余都不是,且只有张三说了真话
符合所有条件
case 2:李四说真话
李四:张三是 → 真话 → 张三是小偷
张三:不是我 → 假话 → 张三是
王二:不是我 → 假话 → 王二是小偷 (冲突)
麻子:李四是 → 假话 → 李四不是
矛盾:两个小偷(张三和王二)→ 不成立
case 3:王二说真话
王二:不是我 → 真话 → 王二不是小偷
张三:不是我 → 假话 → 张三是小偷
李四:张三是 → 假话 → 张三不是 (矛盾)
麻子:李四是 → 假话 → 李四不是
矛盾:张三既是也不是 → 不成立
case 4:麻子说真话
麻子:李四是 → 真话 →