设已知: (1)能阅读的人是识字的。 (2)海豚不识字。 (3)有些海豚是很聪明的。 用输
设已知: (1)能阅读的人是识字的。 (2)海豚不识字。 (3)有些海豚是很聪明的。 用输入归结策略证明:有些很聪明的人并不识字。
请帮忙给出正确答案和分析,谢谢!
-
正确答案:证明:第一步:定义谓词并将已知条件用谓词公式表示出来并化成子句集。 (1)定义谓词和常量: Read(x)表示x是能阅读的; Know(y)表示y是识字的; Wise(z)表示z是很聪明的; 用r表示人类用h表示海豚。 (2)将已知事实用谓词公式表示出来。 能阅读的人是识字的:(?r)(Read(r)→Know(r)) 海豚不识字: (?h)(~Know(h)) 有些海豚是很聪明的:(?h)(Wise(h)) (3)将要证明的目标转化为谓词 有些很聪明的人并不识字:(?r)(Wise(r)∧~Know(r)) 第二步:将它们化成子句集。 ①~Read(r)∨Know(r) ②~Know(h) ③Wise(a) ④~Wise(r)∨Know(r) 第三步:对以上子句集进行归结。 ⑤Know(a) ③、④归结σ={a/r} ⑥NIL ②、⑤归结σ={a/h} 从而命题得证。
证明:第一步:定义谓词,并将已知条件用谓词公式表示出来,并化成子句集。(1)定义谓词和常量:Read(x)表示x是能阅读的;Know(y)表示y是识字的;Wise(z)表示z是很聪明的;用r表示人类,用h表示海豚。(2)将已知事实用谓词公式表示出来。能阅读的人是识字的:(?r)(Read(r)→Know(r))海豚不识字:(?h)(~Know(h))有些海豚是很聪明的:(?h)(Wise(h))(3)将要证明的目标转化为谓词有些很聪明的人并不识字:(?r)(Wise(r)∧~Know(r))第二步:将它们化成子句集。①~Read(r)∨Know(r)②~Know(h)③Wise(a)④~Wise(r)∨Know(r)第三步:对以上子句集进行归结。⑤Know(a)③、④归结σ={a/r}⑥NIL②、⑤归结σ={a/h}从而命题得证。
