Prolog中的通用和存在量词



如何在prolog中实现以下规则。

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

¬∃x(mammals(X) ∧ spider(X) ) //It is not the case that mammals are spider
∀X(mammals(X) ⇒ ¬spider(X)) //All mammals are non-spider.

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

mammals(cat).
mammals(dog).
 ...
spider(blackwidow).
 ...

现在,您可以非常简单地将句子重写为prolog查询:

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新