Consider a (meta-logical) predicate var_in_vars(Var, Vars)
which takes a variable Var
and a list of variables Vars
and succeeds if Var
occurs in Vars
. So we do not need to ensure that Var
is a variable, nor that Vars
is a list of variables.
What is the most compact and canonical way to express this in ISO Prolog? Here is an overview of the built-ins in ISO/IEC 13211-1:1995 including Cor.2:2012.
?- var_in_vars(V, [U,V,W]).
true.
?- var_in_vars(V, [X,Y,Z]).
false.