:- lib(ic).
:- lib(ic_search).
bool_vector(X,T) :- dim(X,[T]), term_variables(X, Xlist), Xlist :: [0,1].
search_func(L) :- search(L,0,input_order,indomain,complete,[]).
% X[1..8], Y[1..8], X[2..3] == "11" & Y[1] == '1' & Y[1] == X[4]
simple :- (X_SIZE #= 8),
(Y_SIZE #= 8),
bool_vector(X,X_SIZE),
bool_vector(Y,Y_SIZE),
(X[2] #= 1) and (X[3] #= 1) and (Y[1] #= 1) and (Y[1] #= X[4]),
X =.. [_|Var_X], search_func(Var_X),
Y =.. [_|Var_Y], search_func(Var_Y),
write("X: "), writeln(X),
write("Y: "), writeln(Y).