Input TRS: 1: le(0(),y) -> true() 2: le(s(x),0()) -> false() 3: le(s(x),s(y)) -> le(x,y) 4: minus(0(),y) -> 0() 5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) 6: if_minus(true(),s(x),y) -> 0() 7: if_minus(false(),s(x),y) -> s(minus(x,y)) 8: gcd(0(),y) -> y 9: gcd(s(x),0()) -> s(x) 10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) 11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) 12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) 13: rand(x) ->= x 14: rand(x) ->= rand(s(x)) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Freezing le 1: le❆1_0(y) -> true() 2: le❆1_s(x,0()) -> false() 3: le❆1_s(x,s(y)) -> le(x,y) 4: minus(0(),y) -> 0() 5: minus(s(x),y) -> if_minus(le❆1_s(x,y),s(x),y) 6: if_minus(true(),s(x),y) -> 0() 7: if_minus(false(),s(x),y) -> s(minus(x,y)) 8: gcd(0(),y) -> y 9: gcd(s(x),0()) -> s(x) 10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) 11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) 12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) 13: rand(x) ->= x 14: rand(x) ->= rand(s(x)) 15: le(0(),_1) ->= le❆1_0(_1) 16: le(s(_1),_2) ->= le❆1_s(_1,_2) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #if_gcd(true(),s(x),s(y)) -> #gcd(minus(x,y),s(y)) #2: #if_gcd(true(),s(x),s(y)) -> #minus(x,y) #3: #if_gcd(false(),s(x),s(y)) -> #gcd(minus(y,x),s(x)) #4: #if_gcd(false(),s(x),s(y)) -> #minus(y,x) #5: #if_minus(false(),s(x),y) -> #minus(x,y) #6: #gcd(s(x),s(y)) -> #if_gcd(le(y,x),s(x),s(y)) #7: #gcd(s(x),s(y)) -> #le(y,x) #8: #minus(s(x),y) -> #if_minus(le❆1_s(x,y),s(x),y) #9: #minus(s(x),y) -> #le❆1_s(x,y) #10: #le(s(_1),_2) ->? #le❆1_s(_1,_2) #11: #le❆1_s(x,s(y)) -> #le(x,y) #12: #le(0(),_1) ->? #le❆1_0(_1) Number of SCCs: 3, DPs: 7, edges: 8 SCC { #10 #11 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. le(x1,x2) weight: 0 status: [] precedence above: s #le minus false true le❆1_s 0 #le❆1_s le❆1_0 s(x1) weight: x1 status: [x1] precedence above: le #le minus false true le❆1_s 0 #le❆1_s le❆1_0 #le(x1,x2) weight: (/ 1 2) + x1 status: [x1] precedence above: #le❆1_s minus(x1,x2) weight: max{0, x1} status: x1 gcd(x1,x2) weight: max{(/ 1 2) + x2, (/ 1 2) + x1} status: [] precedence above: le s #le minus false true le❆1_s 0 #le❆1_s if_gcd le❆1_0 false() weight: 0 status: [] precedence above: le s #le minus true le❆1_s 0 #le❆1_s le❆1_0 true() weight: 0 status: [] precedence above: minus rand(x1) weight: (/ 1 2) + x1 status: [] precedence above: #le❆1_0(x1) weight: x1 status: [] precedence above: le❆1_s(x1,x2) weight: 0 status: [] precedence above: le s #le minus false true 0 #le❆1_s le❆1_0 0() weight: 0 status: [] precedence above: minus true le❆1_0 #if_minus(x1,x2,x3) weight: max{(/ 1 2) + x3, (/ 1 2) + x2, (/ 1 2) + x1} status: [x2,x3,x1] precedence above: #le❆1_s(x1,x2) weight: (/ 1 2) + x1 status: [x1] precedence above: #le #minus(x1,x2) weight: max{0, (/ 1 2) + x1} status: [x1] precedence above: if_minus(x1,x2,x3) weight: max{0, x2} status: x2 if_gcd(x1,x2,x3) weight: max{0, (/ 1 2) + x3, (/ 1 2) + x2} status: [] precedence above: le s #le minus gcd false true le❆1_s 0 #le❆1_s le❆1_0 #if_gcd(x1,x2,x3) weight: max{(/ 1 2) + x3, (/ 1 2) + x2, (/ 1 2) + x1} status: [x2,x3,x1] precedence above: le❆1_0(x1) weight: 0 status: [] precedence above: minus true #gcd(x1,x2) weight: max{0, x1} status: [x1] precedence above: Removed DPs: #10 Number of SCCs: 2, DPs: 5, edges: 6 SCC { #5 #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. le(x1,x2) weight: 0 status: [] precedence above: s #le minus false true le❆1_s 0 #le❆1_s le❆1_0 s(x1) weight: x1 status: [x1] precedence above: le #le minus false true le❆1_s 0 #le❆1_s le❆1_0 #le(x1,x2) weight: (/ 1 2) + x1 status: [x1] precedence above: #le❆1_s minus(x1,x2) weight: max{0, x1} status: x1 gcd(x1,x2) weight: max{(/ 1 2) + x2, (/ 1 2) + x1} status: [] precedence above: le s #le minus false true le❆1_s 0 #le❆1_s if_gcd le❆1_0 false() weight: 0 status: [] precedence above: le s #le minus true le❆1_s 0 #le❆1_s le❆1_0 true() weight: 0 status: [] precedence above: minus rand(x1) weight: (/ 1 2) + x1 status: [] precedence above: #le❆1_0(x1) weight: x1 status: [] precedence above: le❆1_s(x1,x2) weight: 0 status: [] precedence above: le s #le minus false true 0 #le❆1_s le❆1_0 0() weight: 0 status: [] precedence above: minus true le❆1_0 #if_minus(x1,x2,x3) weight: max{0, (/ 1 2) + x3, x2} status: [x3,x2] precedence above: minus true #minus le❆1_0 #le❆1_s(x1,x2) weight: (/ 1 2) + x1 status: [x1] precedence above: #le #minus(x1,x2) weight: max{(/ 1 2) + x2, x1} status: [x2,x1] precedence above: minus true #if_minus le❆1_0 if_minus(x1,x2,x3) weight: max{0, x2} status: x2 if_gcd(x1,x2,x3) weight: max{0, (/ 1 2) + x3, (/ 1 2) + x2} status: [] precedence above: le s #le minus gcd false true le❆1_s 0 #le❆1_s le❆1_0 #if_gcd(x1,x2,x3) weight: max{(/ 1 2) + x3, (/ 1 2) + x2, (/ 1 2) + x1} status: [x2,x3,x1] precedence above: le❆1_0(x1) weight: 0 status: [] precedence above: minus true #gcd(x1,x2) weight: max{0, x1} status: [x1] precedence above: Removed DPs: #5 Number of SCCs: 1, DPs: 3, edges: 4 SCC { #1 #3 #6 } 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