Input TRS: 1: tests(0()) -> true() 2: tests(s(x)) -> and(test(rands(rand(0()),nil())),x) 3: test(done(y)) -> eq(f(y),g(y)) 4: eq(x,x) -> true() 5: rands(0(),y) -> done(y) 6: rands(s(x),y) -> rands(x,::(rand(0()),y)) 7: rand(x) ->= x 8: rand(x) ->= rand(s(x)) Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 4 1 3 5 2 rands(x1,x2) weight: (/ 1 4) + x2 + x1 tests(x1) weight: (/ 417553 8) + x1 test(x1) weight: (/ 208773 4) + 2 * x1 s(x1) weight: x1 done(x1) weight: (/ 1 8) + x1 and(x1,x2) weight: x2 + x1 eq(x1,x2) weight: (/ 1 8) + x2 + x1 ::(x1,x2) weight: x2 + x1 true() weight: 0 rand(x1) weight: x1 f(x1) weight: (/ 417545 8) + x1 0() weight: 0 nil() weight: (/ 1 8) g(x1) weight: (/ 1 8) + x1 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #rands(s(x),y) -> #rands(x,::(rand(0()),y)) Number of SCCs: 1, DPs: 1, edges: 1 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. rands(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: 0 tests(x1) weight: x1 status: [] precedence above: test(x1) weight: (/ 1 4) status: [] precedence above: s(x1) weight: x1 status: [x1] precedence above: :: rand #rands 0 done(x1) weight: x1 status: [] precedence above: and(x1,x2) weight: (/ 1 4) + x2 + x1 status: [x1,x2] precedence above: eq(x1,x2) weight: (/ 1 4) + x2 + x1 status: [x2,x1] precedence above: ::(x1,x2) weight: x2 status: [] precedence above: s rand #rands 0 true() weight: 0 status: [] precedence above: rand(x1) weight: (/ 1 2) + x1 status: [] precedence above: s :: #rands 0 f(x1) weight: x1 status: [] precedence above: #rands(x1,x2) weight: x1 status: [x1] precedence above: s :: rand 0 0() weight: 0 status: [] precedence above: nil() weight: 0 status: [] precedence above: g(x1) weight: x1 status: [] precedence above: Removed DPs: #1 Number of SCCs: 0, DPs: 0, edges: 0 YES