Defeasible Prolog:实用工具与示例解析
1. 可废止查询与详尽响应
在可废止逻辑编程中,查询 ?- @ Goal (其中 Goal 不含变量)会使 d - Prolog 给出 yes 或 no 的响应。若答案为 yes ,我们并不清楚在推导 Goal 时是否使用了可废止规则;若答案为 no ,也不明确 d - Prolog 能否证明 Goal 为正假(即 ?- @ neg Goal 成功),还是仅仅无法可废止地推导 Goal 。为获取这些信息,我们需要尝试以下四种查询的组合:
1. ?- Goal.
2. ?- neg Goal.
3. ?- @ Goal.
4. ?- @ neg Goal.
为简化这一过程,提供了一个实用谓词。在 DPUTILS.PL 中,第一行是一个查询,它声明了一个新运算符 @@/1 。该运算符用于要求 d - Prolog 对无变量的可废止查询提供详尽响应。由于对于含变量的查询,不同的变量实例化可能需要不同的响应,因此很难给出详尽响应。所以 @@ 定义的第一个子句会检查目标中是否存在未实例化的变量。若存在,会告知用户问
超级会员免费看
订阅专栏 解锁全文
678

被折叠的 条评论
为什么被折叠?



