10

如何在序言中实施以下规则。

我把“没有蜘蛛是哺乳动物”这句话写成存在的和普遍的:

¬∃x(mammals(X) ∧ spider(X) ) //It is not the case that mammals are spider

∀X(mammals(X) ⇒ ¬spider(X)) //All mammals are non-spider.
4

1 回答 1

7

假设您有一个包含以下事实的数据库:

mammals(cat).
mammals(dog).
 ...

spider(blackwidow).
 ...

现在您可以非常简单地将您的句子重写为序言查询:

¬∃x(mammals(X) ∧ spider(X) ) //哺乳动物不是蜘蛛

?- \+((mammals(X), spider(X))).
true.

∀X(mammals(X) ⇒ ¬spider(X)) //所有哺乳动物都不是蜘蛛。

?- forall(mammals(X), \+spider(X)).
true.
于 2015-01-29T17:29:37.643 回答