什么是有限失败的推导? 在数学意义上,反驳与矛盾是否相同? 通用逻辑程序和确定性逻辑程序之间有什么区别?

===============>>#1 票数:5 已采纳

没有有限失败的推导。 仅失败的派生树和有限失败的派生树。 失败的派生是以失败结束的派生。 例如:

p :- q.
p :- p.
q :- fail.

由p的第一个规则和q的唯一规则组成的推导是失败的推导。 派生可能不仅因为诸如undefined之类的未定义谓词而失败,而且还因为某些首部统一不能完全成功。

现在什么是有限失败的派生树。 好吧,如果您查看所有推导,就会得到一棵树。 在有限失败的派生树中,树是有限的,每个派生都失败。 有限失败的派生树具有以下不错的属性:

- The interpreter terminates.
- The interpreter does not produce any answer substitution.

在实际的Prolog系统中,这意味着提出问题后不久,您将获得No(在某些Prolog系统中显示为false)。 有趣的是,以上程序不会针对查询p终止。 它是无限派生树的实例,其中每个派生均失败。 派生为:

p - q - fail
p - p - q - fail
p - p - p - q - fail
Etc..

有限失败的派生树的概念是为确定的Prolog程序定义的。 现在,可以将Prolog程序的概念扩展为一般的Prolog程序。 在一般的Prolog程序中,主体可能包含否定文字。 想法是,解释器回归到检查这些文字的有限失败的派生树。

一个重要的问题是有限失败的推导树与数学推导之间的关系。 在什么数学语义下目标应该失败? 以及我们如何构建实现该语义的解释器? 一类特殊的语义是基于反驳方法的。 在这里,我们将派生解释为建立矛盾:

   P, ~G |= f => P |- G   

这或多或少地暗示着双重否定消除,从而暗示了经典逻辑。 但是其他逻辑也可以发挥作用。 首先,您可能需要查阅以下书籍:

应用逻辑
Anil Nerode,Richard A.Shore
第2位。 版,1997年,施普林格

再见

  ask by atx translate from so

未解决问题?本站智能推荐: