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: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) 7: mark(nil()) -> active(nil()) 8: mark(and(X1,X2)) -> active(and(mark(X1),X2)) 9: mark(tt()) -> active(tt()) 10: mark(isNePal(X)) -> active(isNePal(mark(X))) 11: __(mark(X1),X2) -> __(X1,X2) 12: __(X1,mark(X2)) -> __(X1,X2) 13: __(active(X1),X2) -> __(X1,X2) 14: __(X1,active(X2)) -> __(X1,X2) 15: and(mark(X1),X2) -> and(X1,X2) 16: and(X1,mark(X2)) -> and(X1,X2) 17: and(active(X1),X2) -> and(X1,X2) 18: and(X1,active(X2)) -> and(X1,X2) 19: isNePal(mark(X)) -> isNePal(X) 20: isNePal(active(X)) -> isNePal(X) Number of strict rules: 20 Direct Order(PosReal,>,Poly) ... removes: 4 3 5 2 and(x1,x2) weight: (/ 127565 4) + x1 + x2 isNePal(x1) weight: (/ 1 4) + 2 * x1 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 86621 4) + x1 + x2 Number of strict rules: 16 Direct Order(PosReal,>,Poly) ... removes: 1 and(x1,x2) weight: (/ 1 8) + x1 + x2 isNePal(x1) weight: (/ 21977 8) + x1 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 8) + 2 * x1 + x2 Number of strict rules: 15 Direct Order(PosReal,>,Poly) ... removes: 10 6 and(x1,x2) weight: x1 + x2 isNePal(x1) weight: (/ 133385 8) + x1 nil() weight: 0 mark(x1) weight: 2 * x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 8) + 2 * x1 + x2 Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... removes: 15 16 19 7 12 11 9 and(x1,x2) weight: (/ 1 16) + x1 + x2 isNePal(x1) weight: (/ 1 16) + x1 nil() weight: 0 mark(x1) weight: (/ 1 8) + x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + x1 + 2 * x2 Number of strict rules: 6 Direct Order(PosReal,>,Poly) ... removes: 8 and(x1,x2) weight: (/ 1 16) + x1 + x2 isNePal(x1) weight: (/ 1 16) + x1 nil() weight: 0 mark(x1) weight: (/ 1 8) + 2 * x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + x1 + 2 * x2 Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... removes: 18 17 20 14 13 and(x1,x2) weight: (/ 1 16) + x1 + 2 * x2 isNePal(x1) weight: (/ 1 4) + 2 * x1 nil() weight: 0 mark(x1) weight: (/ 3 16) + 2 * x1 active(x1) weight: (/ 1 16) + x1 tt() weight: 0 __(x1,x2) weight: (/ 1 16) + x1 + 2 * x2 Number of strict rules: 0 YES