use*_*809 7 prolog existential-type universal quantifiers
如何在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.
Run Code Online (Sandbox Code Playgroud)
假设您有一个包含以下事实的数据库:
mammals(cat).
mammals(dog).
...
spider(blackwidow).
...
Run Code Online (Sandbox Code Playgroud)
现在,您可以将您的句子重写为prolog查询非常简单:
¬∃x(哺乳动物(X)∧蜘蛛(X))//哺乳动物不是蜘蛛的情况
?- \+((mammals(X), spider(X))).
true.
Run Code Online (Sandbox Code Playgroud)
和
∀X(哺乳动物(X)⇒蜘蛛(X))//所有哺乳动物都是非蜘蛛.
?- forall(mammals(X), \+spider(X)).
true.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3831 次 |
| 最近记录: |