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