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