Input TRS: 1: p(0()) -> 0() 2: p(s(X)) -> X 3: leq(0(),Y) -> true() 4: leq(s(X),0()) -> false() 5: leq(s(X),s(Y)) -> leq(X,Y) 6: if(true(),X,Y) -> X 7: if(false(),X,Y) -> Y 8: diff(X,Y) -> if(leq(X,Y),0(),s(diff(p(X),Y))) Number of strict rules: 8 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #leq(s(X),s(Y)) -> #leq(X,Y) #2: #diff(X,Y) -> #if(leq(X,Y),0(),s(diff(p(X),Y))) #3: #diff(X,Y) -> #leq(X,Y) #4: #diff(X,Y) -> #diff(p(X),Y) #5: #diff(X,Y) -> #p(X) Number of SCCs: 2, DPs: 2, edges: 2 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... found. #diff(X,Y_{1}) -#4-> #diff(p(X),Y_{1}) --->* #diff(p(X),Y_{1}) Looping with: [ Y_{1} := Y_{1}; X := p(X); ] NO