2

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

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

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

有人知道吗?

谢谢。

4

1 回答 1

2

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

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

这是关于 ideone 的演示

于 2013-04-06T19:41:53.677 回答