Problem: 2ndspos(s(N),cons(X)) -> rcons(posrecip(Y),2ndsneg(N,Z)) 2ndsneg(s(N),cons(X)) -> rcons(negrecip(Y),2ndspos(N,Z)) from(X) -> cons(X) 2ndspos(0(),Z) -> rnil() 2ndsneg(0(),Z) -> rnil() pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) Proof: Fresh Variable Processor: loop length: 1 terms: 2ndspos(s(N),cons(X)) context: rcons(posrecip([]),2ndsneg(N,Z)) substitution: Y -> 2ndspos(s(N),cons(X)) Qed