prolog - 有没有办法说∃!在序言中?

标签 prolog boolean boolean-logic boolean-expression

在序言中,有没有办法说“恰好存在一个”(∃!)? 我正在考虑做类似的事情

% a predicate which is proven true if there is only one tall person
only_one_tall() :- is_tall(X), is_tall(Y), X\=Y.

然后否定整个事情。 但我认为这行不通。

有人知道吗?

谢谢。

最佳答案

产生类似于标准 Prolog 中的条件的一种方法如下:

only_one_tall() :- findall(X, is_tall(X), List), length(List, 1).

这是一个demo on ideone .

关于prolog - 有没有办法说∃!在序言中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855034/

相关文章:

Java 用户输入必须在范围内/为 20 行生成 10 的整数

php - 数组 AND() ?所有元素的逻辑与

c++ - 如何从单个C++ return语句返回多个值中的一个?

list - 是否可以声明一个升序列表?

prolog - 语法错误: Operator expected in SWI Prolog

prolog - 立即学习Prolog : Why answering true to the first query of exercise 1. 5?

python-3.x - 减少 return 语句的数量

附加列表和原子的序言

jsf - 过滤 primefaces 数据表中的 boolean 值

c++ - 设置私有(private)数据成员