Рассмотрим (металогический) предикат var_in_vars(Var, Vars), который принимает переменную Var и список переменных Vars и успешно, если Var встречается в Vars. Поэтому нам не нужно гарантировать, что Var является переменной или что Vars - это список переменных.
Какой самый компактный и канонический способ выразить это в ISO Prolog? Ниже приведен обзор встроенных модулей в ISO/IEC 13211-1:1995, включая Cor.2: 2012.
?- var_in_vars(V, [U,V,W]).
true.
?- var_in_vars(V, [X,Y,Z]).
false.