Input TRS: 1: active(__(__(X,Y),Z)) -> mark(__(X,__(Y,Z))) 2: active(__(X,nil())) -> mark(X) 3: active(__(nil(),X)) -> mark(X) 4: active(U11(tt())) -> mark(U12(tt())) 5: active(U12(tt())) -> mark(tt()) 6: active(isNePal(__(I,__(P,I)))) -> mark(U11(tt())) 7: active(__(X1,X2)) -> __(active(X1),X2) 8: active(__(X1,X2)) -> __(X1,active(X2)) 9: active(U11(X)) -> U11(active(X)) 10: active(U12(X)) -> U12(active(X)) 11: active(isNePal(X)) -> isNePal(active(X)) 12: __(mark(X1),X2) -> mark(__(X1,X2)) 13: __(X1,mark(X2)) -> mark(__(X1,X2)) 14: U11(mark(X)) -> mark(U11(X)) 15: U12(mark(X)) -> mark(U12(X)) 16: isNePal(mark(X)) -> mark(isNePal(X)) 17: proper(__(X1,X2)) -> __(proper(X1),proper(X2)) 18: proper(nil()) -> ok(nil()) 19: proper(U11(X)) -> U11(proper(X)) 20: proper(tt()) -> ok(tt()) 21: proper(U12(X)) -> U12(proper(X)) 22: proper(isNePal(X)) -> isNePal(proper(X)) 23: __(ok(X1),ok(X2)) -> ok(__(X1,X2)) 24: U11(ok(X)) -> ok(U11(X)) 25: U12(ok(X)) -> ok(U12(X)) 26: isNePal(ok(X)) -> ok(isNePal(X)) 27: top(mark(X)) -> top(proper(X)) 28: top(ok(X)) -> top(active(X)) Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... removes: 4 3 5 6 2 U11(x1) weight: (/ 1 8) + x1 top(x1) weight: x1 isNePal(x1) weight: (/ 1 16) + x1 U12(x1) weight: (/ 1 16) + x1 proper(x1) weight: x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + x1 + x2 Number of strict rules: 23 Direct Order(PosReal,>,Poly) ... removes: 15 1 16 27 12 U11(x1) weight: (/ 1 8) + x1 top(x1) weight: x1 isNePal(x1) weight: (/ 288297 8) + 2 * x1 U12(x1) weight: (/ 1 8) + 2 * x1 proper(x1) weight: x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 3 8) + 2 * x1 + x2 Number of strict rules: 18 Direct Order(PosReal,>,Poly) ... removes: 21 19 17 22 U11(x1) weight: (/ 1 8) + x1 top(x1) weight: x1 isNePal(x1) weight: (/ 288297 8) + x1 U12(x1) weight: (/ 1 8) + 2 * x1 proper(x1) weight: 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 3 8) + 2 * x1 + x2 Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... removes: 14 U11(x1) weight: (/ 1 8) + 2 * x1 top(x1) weight: x1 isNePal(x1) weight: (/ 288297 8) + x1 U12(x1) weight: (/ 1 8) + 2 * x1 proper(x1) weight: 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 22393 4) + 2 * x1 + x2 Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... removes: 18 20 U11(x1) weight: (/ 1 8) + x1 top(x1) weight: x1 isNePal(x1) weight: (/ 288297 8) + x1 U12(x1) weight: (/ 1 8) + 2 * x1 proper(x1) weight: (/ 1 8) + 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 66693 4) + x1 + x2 Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... removes: 13 U11(x1) weight: x1 top(x1) weight: x1 isNePal(x1) weight: x1 U12(x1) weight: x1 proper(x1) weight: (/ 1 4) + x1 ok(x1) weight: 2 * x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: x1 + 2 * x2 Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... removes: 8 26 28 10 7 25 23 11 U11(x1) weight: x1 top(x1) weight: x1 isNePal(x1) weight: (/ 1 16) + 2 * x1 U12(x1) weight: (/ 1 16) + 2 * x1 proper(x1) weight: (/ 3 32) + x1 ok(x1) weight: (/ 3 32) + 2 * x1 nil() weight: 0 mark(x1) weight: (/ 15 16) + x1 active(x1) weight: (/ 1 32) + 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + 2 * x1 + 2 * x2 Number of strict rules: 2 Direct Order(PosReal,>,Poly) ... removes: 9 U11(x1) weight: (/ 1 16) + x1 top(x1) weight: x1 isNePal(x1) weight: (/ 1 16) + 2 * x1 U12(x1) weight: (/ 1 16) + 2 * x1 proper(x1) weight: (/ 3 16) + x1 ok(x1) weight: (/ 3 16) + x1 nil() weight: 0 mark(x1) weight: (/ 15 16) + x1 active(x1) weight: (/ 1 16) + 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + 2 * x1 + 2 * x2 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 24 U11(x1) weight: (/ 1 16) + 2 * x1 top(x1) weight: x1 isNePal(x1) weight: (/ 1 16) + 2 * x1 U12(x1) weight: (/ 1 16) + 2 * x1 proper(x1) weight: (/ 1 16) + x1 ok(x1) weight: (/ 1 16) + x1 nil() weight: 0 mark(x1) weight: (/ 15 16) + x1 active(x1) weight: (/ 1 16) + 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + 2 * x1 + 2 * x2 Number of strict rules: 0 YES