Input TRS: 1: active(f(g(X),Y)) -> mark(f(X,f(g(X),Y))) 2: active(f(X1,X2)) -> f(active(X1),X2) 3: active(g(X)) -> g(active(X)) 4: f(mark(X1),X2) -> mark(f(X1,X2)) 5: g(mark(X)) -> mark(g(X)) 6: proper(f(X1,X2)) -> f(proper(X1),proper(X2)) 7: proper(g(X)) -> g(proper(X)) 8: f(ok(X1),ok(X2)) -> ok(f(X1,X2)) 9: g(ok(X)) -> ok(g(X)) 10: top(mark(X)) -> top(proper(X)) 11: top(ok(X)) -> top(active(X)) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... removes: 8 1 10 11 2 top(x1) weight: x1 f(x1,x2) weight: (/ 1 8) + x1 + x2 proper(x1) weight: x1 ok(x1) weight: (/ 3 8) + 2 * x1 mark(x1) weight: (/ 1 8) + x1 active(x1) weight: (/ 1 4) + 2 * x1 g(x1) weight: x1 Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 9 top(x1) weight: x1 f(x1,x2) weight: (/ 1 8) + x1 + x2 proper(x1) weight: x1 ok(x1) weight: (/ 1 8) + x1 mark(x1) weight: x1 active(x1) weight: x1 g(x1) weight: 2 * x1 Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... removes: 6 top(x1) weight: x1 f(x1,x2) weight: (/ 1 8) + x1 + x2 proper(x1) weight: 2 * x1 ok(x1) weight: (/ 1 8) + x1 mark(x1) weight: (/ 1 8) + x1 active(x1) weight: x1 g(x1) weight: x1 Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 4 top(x1) weight: x1 f(x1,x2) weight: (/ 1 8) + 2 * x1 + x2 proper(x1) weight: 2 * x1 ok(x1) weight: (/ 1 8) + x1 mark(x1) weight: (/ 1 8) + x1 active(x1) weight: x1 g(x1) weight: x1 Number of strict rules: 3 Direct Order(PosReal,>,Poly) ... removes: 5 top(x1) weight: x1 f(x1,x2) weight: (/ 1 8) + 2 * x1 + x2 proper(x1) weight: x1 ok(x1) weight: (/ 1 8) + x1 mark(x1) weight: (/ 1 8) + x1 active(x1) weight: x1 g(x1) weight: 2 * x1 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 3 top(x1) weight: x1 f(x1,x2) weight: (/ 1 16) + 2 * x1 + x2 proper(x1) weight: (/ 1 16) + x1 ok(x1) weight: (/ 1 16) + x1 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: (/ 1 16) + 2 * x1 g(x1) weight: (/ 1 16) + x1 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 7 top(x1) weight: x1 f(x1,x2) weight: (/ 1 16) + 2 * x1 + x2 proper(x1) weight: (/ 1 16) + 2 * x1 ok(x1) weight: (/ 1 16) + x1 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: (/ 1 16) + 2 * x1 g(x1) weight: (/ 1 16) + x1 Number of strict rules: 0 YES