Input TRS: 1: minus(x,0()) -> x 2: minus(s(x),s(y)) -> minus(x,y) 3: double(0()) -> 0() 4: double(s(x)) -> s(s(double(x))) 5: plus(0(),y) -> y 6: plus(s(x),y) -> s(plus(x,y)) 7: plus(s(x),y) -> plus(x,s(y)) 8: plus(s(x),y) -> s(plus(minus(x,y),double(y))) 9: plus(s(plus(x,y)),z) -> s(plus(plus(x,y),z)) 10: rand(x) ->= x 11: rand(x) ->= rand(s(x)) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #minus(s(x),s(y)) -> #minus(x,y) #2: #plus(s(x),y) -> #plus(x,y) #3: #plus(s(plus(x,y)),z) -> #plus(plus(x,y),z) #4: #plus(s(x),y) -> #plus(x,s(y)) #5: #plus(s(x),y) -> #plus(minus(x,y),double(y)) #6: #plus(s(x),y) -> #minus(x,y) #7: #plus(s(x),y) -> #double(y) #8: #double(s(x)) -> #double(x) Number of SCCs: 3, DPs: 6, edges: 18 SCC { #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{0, x1} status: [x1] precedence above: rand(x1) weight: (/ 1 2) + x1 status: [] precedence above: 0() weight: (/ 1 2) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1,x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s double Removed DPs: #8 Number of SCCs: 2, DPs: 5, edges: 17 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{0, x1} status: [x1] precedence above: rand(x1) weight: (/ 1 2) + x1 status: [] precedence above: 0() weight: (/ 1 2) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: x2 status: [x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s double Removed DPs: #1 Number of SCCs: 1, DPs: 4, edges: 16 SCC { #2..5 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} status: [x1] precedence above: s double plus rand(x1) weight: (/ 1 4) + x1 status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: x2 status: [x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s double Removed DPs: #4 Number of SCCs: 1, DPs: 3, edges: 9 SCC { #2 #3 #5 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} status: [x1] precedence above: s double plus rand(x1) weight: (/ 1 4) + x1 status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: x2 status: [x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s double Removed DPs: #5 Number of SCCs: 1, DPs: 2, edges: 4 SCC { #2 #3 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} status: [x1] precedence above: s double plus rand(x1) weight: (/ 1 4) + x1 status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: x2 status: [x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s double Removed DPs: #2 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus(x1,x2) weight: max{0, x1} status: x1 #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} status: [x1] precedence above: s double plus rand(x1) weight: (/ 1 4) + x1 status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: #double(x1) weight: x1 status: [x1] precedence above: double(x1) weight: x1 status: [x1] precedence above: s #minus(x1,x2) weight: x2 status: [x2] precedence above: plus(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s #plus double Removed DPs: #3 Number of SCCs: 0, DPs: 0, edges: 0 YES