Problem: if(true()) -> X if(false()) -> Y p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) diff(X,Y) -> if(leq(X,Y)) Proof: Fresh Variable Processor: loop length: 1 terms: if(true()) context: [] substitution: X -> if(true()) Qed