3

我很难掌握关系从句逻辑,我不确定这是否是要问的地方,但如果有人能就以下问题提供指导,那将对我的修改有很大帮助。

设 P 为程序:

academic(X); student(X); other_staff(X):-
      works_in(X, university).
:-student(john).
:-other_staff(john).
works_in(john, university)

问题:P 的 Herbrand 解释是什么?

4

1 回答 1

1

这不是常规的 Prolog 语法:ISO Prolog 不允许“;” 头部中的运算符,在“:-”的左侧。我猜这意味着“因为 p 是学术、学生、其他员工中的每一个p(X) :- works_in(X, university)”。

P 的 Herbrand 解释,称为 Herb(P) 是由程序中的谓词和原子组成的一组句子,它是在程序推理下闭合的最少的一组句子。这包含在 P 中断言的事实:在这种情况下,有两个一位谓词,以及可从应用该子句派生的句子:这里有两个适用的推论,都给出相同的结论,一个两位谓词。这给出了一个包含三个元素的集合 Herb(P)。

于 2010-05-31T11:55:15.627 回答