:- 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).