关于单调谓词的推理
**** 可以通过应用声明性推理来调试单调谓词。
在纯 Prolog 中,编程错误可能导致以下一种或所有现象:
- 谓语不正确成功的情况下,它应该会失败
- 谓语错误失败的情况下,它应该获得成功
- 谓词意外地循环,它应该只产生一组有限的答案。
作为一个例子,考虑如何通过声明性推理调试 case(2)
:我们可以系统地删除谓词的子句的目标,并查看查询是否仍然失败。在单调代码中,删除目标最多可以使得结果程序更加通用。因此,我们可以通过查看哪些目标导致意外故障来查明错误。
**** 可以通过应用声明性推理来调试单调谓词。
在纯 Prolog 中,编程错误可能导致以下一种或所有现象:
作为一个例子,考虑如何通过声明性推理调试 case(2)
:我们可以系统地删除谓词的子句的目标,并查看查询是否仍然失败。在单调代码中,删除目标最多可以使得结果程序更加通用。因此,我们可以通过查看哪些目标导致意外故障来查明错误。