【发布时间】:2020-04-14 16:58:59
【问题描述】:
以下序言逻辑
memberd(X, [X|_T]).
memberd(X, [Y| T]) :- dif(X,Y), memberd(X, T).
会产生
?- memberd(a, [a, b, a]).
true
?- memberd(X, [a, b, a]).
X = a ;
X = b ;
false.
?- memberd(X, [a, b, a, c, a, d, b]).
X = a ;
X = b ;
X = c ;
X = d ;
false.
是否有 prolog 逻辑可用于在不使用 when() 或 dif() 函数或加载的 prolog 库中的任何内容的情况下产生相同的结果。只用纯逻辑?
【问题讨论】:
-
dif/2是纯逻辑! -
@GuyCoder:见this。
-
使用本站前,需要先get informed。
-
我将您的问题回滚到版本 1。如果您想提出后续问题,请随时提出,但不要将问题的内容更改为(可能)无效的地步已经给出了有效的答案。