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(and(tt(),X)) -> mark(X) 5: active(isNePal(__(I,__(P,I)))) -> mark(tt()) 6: active(__(X1,X2)) -> __(active(X1),X2) 7: active(__(X1,X2)) -> __(X1,active(X2)) 8: active(and(X1,X2)) -> and(active(X1),X2) 9: active(isNePal(X)) -> isNePal(active(X)) 10: __(mark(X1),X2) -> mark(__(X1,X2)) 11: __(X1,mark(X2)) -> mark(__(X1,X2)) 12: and(mark(X1),X2) -> mark(and(X1,X2)) 13: isNePal(mark(X)) -> mark(isNePal(X)) 14: proper(__(X1,X2)) -> __(proper(X1),proper(X2)) 15: proper(nil()) -> ok(nil()) 16: proper(and(X1,X2)) -> and(proper(X1),proper(X2)) 17: proper(tt()) -> ok(tt()) 18: proper(isNePal(X)) -> isNePal(proper(X)) 19: __(ok(X1),ok(X2)) -> ok(__(X1,X2)) 20: and(ok(X1),ok(X2)) -> ok(and(X1,X2)) 21: isNePal(ok(X)) -> ok(isNePal(X)) 22: top(mark(X)) -> top(proper(X)) 23: top(ok(X)) -> top(active(X)) Number of strict rules: 23 Direct Order(PosReal,>,Poly) ... removes: 4 3 5 2 top(x1) weight: x1 and(x1,x2) weight: (/ 1 4) + x1 + x2 isNePal(x1) weight: (/ 1 4) + 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: (/ 148893 4) + x1 + x2 Number of strict rules: 19 Direct Order(PosReal,>,Poly) ... removes: 1 top(x1) weight: x1 and(x1,x2) weight: (/ 1 4) + x1 + x2 isNePal(x1) weight: (/ 1 4) + 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: (/ 148893 4) + 2 * x1 + x2 Number of strict rules: 18 Direct Order(PosReal,>,Poly) ... removes: 22 top(x1) weight: x1 and(x1,x2) weight: x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: 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 + x2 Number of strict rules: 17 Direct Order(PosReal,>,Poly) ... removes: 11 top(x1) weight: x1 and(x1,x2) weight: x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: 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: 16 Direct Order(PosReal,>,Poly) ... removes: 8 7 6 top(x1) weight: 2 * x1 and(x1,x2) weight: (/ 1 4) + 2 * x1 + x2 isNePal(x1) weight: (/ 1 8) + 2 * x1 proper(x1) weight: (/ 1 8) + 2 * x1 ok(x1) weight: (/ 1 8) + 2 * x1 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: (/ 1 8) + 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 1 8) + x1 + x2 Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... removes: 23 9 top(x1) weight: 2 * x1 and(x1,x2) weight: 65321 + 2 * x1 + x2 isNePal(x1) weight: (/ 65321 2) + 2 * x1 proper(x1) weight: (/ 65321 2) + 2 * x1 ok(x1) weight: (/ 65321 2) + 2 * x1 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: (/ 1 4) + 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 65321 2) + x1 + x2 Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... removes: 13 top(x1) weight: x1 and(x1,x2) weight: 41979 + x1 + x2 isNePal(x1) weight: 41979 + 2 * x1 proper(x1) weight: 41979 + 2 * x1 ok(x1) weight: 41979 + 2 * x1 nil() weight: 0 mark(x1) weight: 19503 + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: 41979 + x1 + x2 Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... removes: 12 top(x1) weight: x1 and(x1,x2) weight: 101343 + 2 * x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: (/ 101343 2) + 2 * x1 ok(x1) weight: (/ 101343 2) + 2 * x1 nil() weight: 0 mark(x1) weight: (/ 105913 4) + x1 active(x1) weight: (/ 1 4) + 2 * x1 tt() weight: 0 __(x1,x2) weight: 101343 + x1 + 2 * x2 Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... removes: 10 top(x1) weight: x1 and(x1,x2) weight: x1 + x2 isNePal(x1) weight: (/ 1 4) + x1 proper(x1) weight: x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 105913 4) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: 2 * x1 + x2 Number of strict rules: 8 Direct Order(PosReal,>,Poly) ... removes: 15 17 top(x1) weight: x1 and(x1,x2) weight: 5680 + x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: 5680 + 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: 26479 + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: 5680 + x1 + x2 Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 16 top(x1) weight: x1 and(x1,x2) weight: 2488 + x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: (/ 4975 2) + 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 52957 2) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 4975 2) + x1 + x2 Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... removes: 14 top(x1) weight: x1 and(x1,x2) weight: 4687 + x1 + x2 isNePal(x1) weight: x1 proper(x1) weight: (/ 4975 2) + 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 52957 2) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: 2488 + x1 + x2 Number of strict rules: 4 Direct Order(PosReal,>,Poly) ... removes: 18 top(x1) weight: x1 and(x1,x2) weight: (/ 9373 2) + x1 + x2 isNePal(x1) weight: (/ 1 4) + x1 proper(x1) weight: (/ 9949 4) + 2 * x1 ok(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 105913 4) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 4975 2) + x1 + x2 Number of strict rules: 3 Direct Order(PosReal,>,Poly) ... removes: 19 20 top(x1) weight: x1 and(x1,x2) weight: (/ 75553 16) + 2 * x1 + 2 * x2 isNePal(x1) weight: x1 proper(x1) weight: 2 * x1 ok(x1) weight: (/ 1 16) + x1 nil() weight: 0 mark(x1) weight: (/ 423649 16) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + 2 * x1 + x2 Number of strict rules: 1 Direct Order(PosReal,>,Poly) ... removes: 21 top(x1) weight: x1 and(x1,x2) weight: (/ 18889 4) + x1 + x2 isNePal(x1) weight: 2 * x1 proper(x1) weight: 2 * x1 ok(x1) weight: (/ 1 4) + x1 nil() weight: 0 mark(x1) weight: (/ 105913 4) + x1 active(x1) weight: 2 * x1 tt() weight: 0 __(x1,x2) weight: x1 + x2 Number of strict rules: 0 YES