eq(start(A),1,[eval(A,B,C),loop_cont_eval(C)],[B=0]). eq(start(A),1,[eval(A,B,C)],[B=1]). eq(eval(A,B,C),1,[eval(2*D,B,C)],[2*D>=0,A=1+2*D]). eq(eval(A,B,A),0,[],[B=1]).