Input TRS: 1: while(true(),s(s(s(i)))) -> while(gt(s(s(s(i))),s(|0|())),f(s(s(s(i))))) 2: f(i) -> if(neq(i,s(s(|0|()))),i) 3: gt(s(x),s(y)) -> gt(x,y) 4: gt(s(x),|0|()) -> true() 5: gt(|0|(),|0|()) -> false() 6: gt(|0|(),s(y)) -> false() 7: if(true(),i) -> plus(i,s(|0|())) 8: if(false(),i) -> i 9: neq(s(x),s(y)) -> neq(x,y) 10: neq(|0|(),|0|()) -> false() 11: neq(|0|(),s(y)) -> true() 12: neq(s(x),|0|()) -> true() 13: plus(s(x),y) -> plus(x,s(y)) 14: plus(|0|(),y) -> y Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... failed. Freezing gt 1: while(true(),s(s(s(i)))) -> while(gt❆1_s(s(s(i)),s(|0|())),f(s(s(s(i))))) 2: f(i) -> if(neq(i,s(s(|0|()))),i) 3: gt❆1_s(x,s(y)) -> gt(x,y) 4: gt❆1_s(x,|0|()) -> true() 5: gt❆1_|0|(|0|()) -> false() 6: gt❆1_|0|(s(y)) -> false() 7: if(true(),i) -> plus(i,s(|0|())) 8: if(false(),i) -> i 9: neq(s(x),s(y)) -> neq(x,y) 10: neq(|0|(),|0|()) -> false() 11: neq(|0|(),s(y)) -> true() 12: neq(s(x),|0|()) -> true() 13: plus(s(x),y) -> plus(x,s(y)) 14: plus(|0|(),y) -> y 15: gt(|0|(),_1) ->= gt❆1_|0|(_1) 16: gt(s(_1),_2) ->= gt❆1_s(_1,_2) Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #f(i) -> #if(neq(i,s(s(|0|()))),i) #2: #f(i) -> #neq(i,s(s(|0|()))) #3: #plus(s(x),y) -> #plus(x,s(y)) #4: #neq(s(x),s(y)) -> #neq(x,y) #5: #if(true(),i) -> #plus(i,s(|0|())) #6: #gt(s(_1),_2) ->? #gt❆1_s(_1,_2) #7: #gt❆1_s(x,s(y)) -> #gt(x,y) #8: #while(true(),s(s(s(i)))) -> #while(gt❆1_s(s(s(i)),s(|0|())),f(s(s(s(i))))) #9: #while(true(),s(s(s(i)))) -> #gt❆1_s(s(s(i)),s(|0|())) #10: #while(true(),s(s(s(i)))) -> #f(s(s(s(i)))) #11: #gt(|0|(),_1) ->? #gt❆1_|0|(_1) Number of SCCs: 4, DPs: 5, edges: 5 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 neq(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: 0 #plus(x1,x2) weight: 0 false() weight: 0 #while(x1,x2) weight: 0 true() weight: 0 f(x1) weight: 0 if(x1,x2) weight: 0 while(x1,x2) weight: 0 #neq(x1,x2) weight: x2 gt❆1_|0|(x1) weight: 0 #gt(x1,x2) weight: 0 #f(x1) weight: 0 #gt❆1_s(x1,x2) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2) weight: 0 #gt❆1_|0|(x1) weight: 0 gt❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #4 Number of SCCs: 3, DPs: 4, edges: 4 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 neq(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: 0 #plus(x1,x2) weight: x1 false() weight: 0 #while(x1,x2) weight: 0 true() weight: 0 f(x1) weight: 0 if(x1,x2) weight: 0 while(x1,x2) weight: 0 #neq(x1,x2) weight: 0 gt❆1_|0|(x1) weight: 0 #gt(x1,x2) weight: 0 #f(x1) weight: 0 #gt❆1_s(x1,x2) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2) weight: 0 #gt❆1_|0|(x1) weight: 0 gt❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #3 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #6 #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 neq(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: 0 #plus(x1,x2) weight: 0 false() weight: 0 #while(x1,x2) weight: 0 true() weight: 0 f(x1) weight: 0 if(x1,x2) weight: 0 while(x1,x2) weight: 0 #neq(x1,x2) weight: 0 gt❆1_|0|(x1) weight: 0 #gt(x1,x2) weight: x1 #f(x1) weight: 0 #gt❆1_s(x1,x2) weight: (/ 1 4) + x1 plus(x1,x2) weight: 0 #if(x1,x2) weight: 0 #gt❆1_|0|(x1) weight: 0 gt❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #6 #7 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #8 } 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... failed. MAYBE