序言检查列表中是否存在元素

prolog check element existence in list

对于问题 "how to check if the 3 is member of a list" 我定义了以下谓词

member(E,[E|_]).
member(E,[_|R] :- member(E,R).

isthreeinlist(L) :- member(3,L).

但是如何"check whether 3 OR 4 is member of a list"?

有什么提示吗?

(虽然 3 和 4 很简单)。

;/2

is or predicate in prolog, 检查描述 here

例如

threeorfor(X):- member(3,X); member(4,X).
    threeorfor([1,2,5]).
false

threeorfor([1,2,3]).
true
false
threeorfor([1,2,4]).
true