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