Input TRS: 1: ge(0(),0()) -> true() 2: ge(s(x),0()) -> ge(x,0()) 3: ge(0(),s(0())) -> false() 4: ge(0(),s(s(x))) -> ge(0(),s(x)) 5: ge(s(x),s(y)) -> ge(x,y) 6: minus(0(),0()) -> 0() 7: minus(0(),s(x)) -> minus(0(),x) 8: minus(s(x),0()) -> s(minus(x,0())) 9: minus(s(x),s(y)) -> minus(x,y) 10: plus(0(),0()) -> 0() 11: plus(0(),s(x)) -> s(plus(0(),x)) 12: plus(s(x),y) -> s(plus(x,y)) 13: div(x,y) -> ify(ge(y,s(0())),x,y) 14: ify(false(),x,y) -> divByZeroError() 15: ify(true(),x,y) -> if(ge(x,y),x,y) 16: if(false(),x,y) -> 0() 17: if(true(),x,y) -> s(div(minus(x,y),y)) Number of strict rules: 17 Direct Order(PosReal,>,Poly) ... failed. Freezing minus ge plus 1: ge❆1_0(0()) -> true() 2: ge❆1_s(x,0()) -> ge(x,0()) 3: ge❆1_0(s(0())) -> false() 4: ge❆1_0(s(s(x))) -> ge❆1_0(s(x)) 5: ge❆1_s(x,s(y)) -> ge(x,y) 6: minus❆1_0(0()) -> 0() 7: minus❆1_0(s(x)) -> minus❆1_0(x) 8: minus❆1_s(x,0()) -> s(minus(x,0())) 9: minus❆1_s(x,s(y)) -> minus(x,y) 10: plus❆1_0(0()) -> 0() 11: plus❆1_0(s(x)) -> s(plus❆1_0(x)) 12: plus❆1_s(x,y) -> s(plus(x,y)) 13: div(x,y) -> ify(ge(y,s(0())),x,y) 14: ify(false(),x,y) -> divByZeroError() 15: ify(true(),x,y) -> if(ge(x,y),x,y) 16: if(false(),x,y) -> 0() 17: if(true(),x,y) -> s(div(minus(x,y),y)) 18: plus(0(),_1) ->= plus❆1_0(_1) 19: plus(s(_1),_2) ->= plus❆1_s(_1,_2) 20: ge(0(),_1) ->= ge❆1_0(_1) 21: ge(s(_1),_2) ->= ge❆1_s(_1,_2) 22: minus(0(),_1) ->= minus❆1_0(_1) 23: minus(s(_1),_2) ->= minus❆1_s(_1,_2) Number of strict rules: 17 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #ge❆1_s(x,0()) -> #ge(x,0()) #2: #div(x,y) -> #ify(ge(y,s(0())),x,y) #3: #div(x,y) -> #ge(y,s(0())) #4: #minus❆1_s(x,s(y)) -> #minus(x,y) #5: #plus❆1_0(s(x)) -> #plus❆1_0(x) #6: #minus(s(_1),_2) ->? #minus❆1_s(_1,_2) #7: #plus❆1_s(x,y) -> #plus(x,y) #8: #ge(0(),_1) ->? #ge❆1_0(_1) #9: #minus❆1_0(s(x)) -> #minus❆1_0(x) #10: #ge❆1_s(x,s(y)) -> #ge(x,y) #11: #minus(0(),_1) ->? #minus❆1_0(_1) #12: #if(true(),x,y) -> #div(minus(x,y),y) #13: #if(true(),x,y) -> #minus(x,y) #14: #plus(s(_1),_2) ->? #plus❆1_s(_1,_2) #15: #ge(s(_1),_2) ->? #ge❆1_s(_1,_2) #16: #minus❆1_s(x,0()) -> #minus(x,0()) #17: #ify(true(),x,y) -> #if(ge(x,y),x,y) #18: #ify(true(),x,y) -> #ge(x,y) #19: #ge❆1_0(s(s(x))) -> #ge❆1_0(s(x)) #20: #plus(0(),_1) ->? #plus❆1_0(_1) Number of SCCs: 7, DPs: 14, edges: 16 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: x1 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: 0 #plus❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #5 Number of SCCs: 6, DPs: 13, edges: 15 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: x1 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: 0 #plus❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 5, DPs: 12, edges: 14 SCC { #19 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: x1 #ge❆1_s(x1,x2) weight: 0 #plus❆1_s(x1,x2) weight: 0 Usable rules: { } Removed DPs: #19 Number of SCCs: 4, DPs: 11, edges: 13 SCC { #7 #14 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: x1 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: 0 #plus❆1_s(x1,x2) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #7 #14 Number of SCCs: 3, DPs: 9, edges: 11 SCC { #1 #10 #15 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: x2 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: x2 #plus❆1_s(x1,x2) weight: (/ 1 4) Usable rules: { } Removed DPs: #10 Number of SCCs: 3, DPs: 8, edges: 9 SCC { #1 #15 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: x1 #minus❆1_s(x1,x2) weight: 0 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: 0 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: (/ 1 4) + x1 #plus❆1_s(x1,x2) weight: (/ 1 4) Usable rules: { } Removed DPs: #1 #15 Number of SCCs: 2, DPs: 6, edges: 7 SCC { #4 #6 #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. minus❆1_s(x1,x2) weight: 0 #div(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 divByZeroError() weight: 0 minus(x1,x2) weight: 0 #ify(x1,x2,x3) weight: 0 #plus(x1,x2) weight: 0 plus❆1_0(x1) weight: 0 false() weight: 0 div(x1,x2) weight: 0 #ge(x1,x2) weight: 0 #minus❆1_s(x1,x2) weight: (/ 1 4) + x1 true() weight: 0 ge❆1_0(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 ge(x1,x2) weight: 0 minus❆1_0(x1) weight: 0 #plus❆1_0(x1) weight: 0 ge❆1_s(x1,x2) weight: 0 ify(x1,x2,x3) weight: 0 #minus(x1,x2) weight: x1 #minus❆1_0(x1) weight: 0 plus(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 plus❆1_s(x1,x2) weight: 0 #ge❆1_0(x1) weight: 0 #ge❆1_s(x1,x2) weight: (/ 1 4) #plus❆1_s(x1,x2) weight: (/ 1 4) Usable rules: { } Removed DPs: #4 #6 #16 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #2 #12 #17 } 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