Input TRS: 1: minus(x,y) -> if(gt(x,y),x,y) 2: if(true(),x,y) -> s(minus(p(x),y)) 3: if(false(),x,y) -> 0() 4: p(0()) -> 0() 5: p(s(x)) -> x 6: ge(x,0()) -> true() 7: ge(0(),s(x)) -> false() 8: ge(s(x),s(y)) -> ge(x,y) 9: gt(0(),y) -> false() 10: gt(s(x),0()) -> true() 11: gt(s(x),s(y)) -> gt(x,y) 12: div(x,y) -> if1(ge(x,y),x,y) 13: if1(true(),x,y) -> if2(gt(y,0()),x,y) 14: if1(false(),x,y) -> 0() 15: if2(true(),x,y) -> s(div(minus(x,y),y)) 16: if2(false(),x,y) -> 0() Number of strict rules: 16 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #if(true(),x,y) -> #minus(p(x),y) #2: #if(true(),x,y) -> #p(x) #3: #if1(true(),x,y) -> #if2(gt(y,0()),x,y) #4: #if1(true(),x,y) -> #gt(y,0()) #5: #gt(s(x),s(y)) -> #gt(x,y) #6: #div(x,y) -> #if1(ge(x,y),x,y) #7: #div(x,y) -> #ge(x,y) #8: #minus(x,y) -> #if(gt(x,y),x,y) #9: #minus(x,y) -> #gt(x,y) #10: #ge(s(x),s(y)) -> #ge(x,y) #11: #if2(true(),x,y) -> #div(minus(x,y),y) #12: #if2(true(),x,y) -> #minus(x,y) Number of SCCs: 4, DPs: 7, edges: 7 SCC { #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: 0 minus(x1,x2) weight: 0 if1(x1,x2,x3) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: x2 #p(x1) weight: 0 true() weight: 0 #if1(x1,x2,x3) weight: 0 if2(x1,x2,x3) weight: 0 p(x1) weight: 0 if(x1,x2,x3) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 #gt(x1,x2) weight: 0 #minus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 #if2(x1,x2,x3) weight: 0 Usable rules: { } Removed DPs: #10 Number of SCCs: 3, DPs: 6, edges: 6 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: 0 minus(x1,x2) weight: 0 if1(x1,x2,x3) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #p(x1) weight: 0 true() weight: 0 #if1(x1,x2,x3) weight: 0 if2(x1,x2,x3) weight: 0 p(x1) weight: 0 if(x1,x2,x3) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 #gt(x1,x2) weight: x2 #minus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 #if2(x1,x2,x3) weight: 0 Usable rules: { } Removed DPs: #5 Number of SCCs: 2, DPs: 5, edges: 5 SCC { #1 #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. #div(x1,x2) weight: 0 s(x1) weight: max{0, (/ 1 2) + x1} gt(x1,x2) weight: max{0, (/ 1 4) + x1} minus(x1,x2) weight: 0 if1(x1,x2,x3) weight: 0 false() weight: (/ 1 4) div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #p(x1) weight: 0 true() weight: (/ 1 2) #if1(x1,x2,x3) weight: 0 if2(x1,x2,x3) weight: 0 p(x1) weight: max{0, (- (/ 1 2)) + x1} if(x1,x2,x3) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 #gt(x1,x2) weight: 0 #minus(x1,x2) weight: max{0, (/ 1 4) + x1} #if(x1,x2,x3) weight: max{0, x1, (/ 1 4) + x2} #if2(x1,x2,x3) weight: 0 Usable rules: { 4 5 9..11 } Removed DPs: #1 Number of SCCs: 1, DPs: 3, edges: 3 SCC { #3 #6 #11 } 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