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: mark(__(X1,X2)) -> active(__(mark(X1),mark(X2))) 8: mark(nil()) -> active(nil()) 9: mark(U11(X)) -> active(U11(mark(X))) 10: mark(tt()) -> active(tt()) 11: mark(U12(X)) -> active(U12(mark(X))) 12: mark(isNePal(X)) -> active(isNePal(mark(X))) 13: __(mark(X1),X2) -> __(X1,X2) 14: __(X1,mark(X2)) -> __(X1,X2) 15: __(active(X1),X2) -> __(X1,X2) 16: __(X1,active(X2)) -> __(X1,X2) 17: U11(mark(X)) -> U11(X) 18: U11(active(X)) -> U11(X) 19: U12(mark(X)) -> U12(X) 20: U12(active(X)) -> U12(X) 21: isNePal(mark(X)) -> isNePal(X) 22: isNePal(active(X)) -> isNePal(X) Number of strict rules: 22 Direct Order(PosReal,>,Poly) ... removes: 4 1 3 5 6 2 U11(x1) weight: (/ 1125 4) + x1 isNePal(x1) weight: (/ 9137 8) + x1 U12(x1) weight: (/ 2249 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: 16 Direct Order(PosReal,>,Poly) ... removes: 7 12 11 9 U11(x1) weight: (/ 49545 4) + x1 isNePal(x1) weight: (/ 198177 8) + x1 U12(x1) weight: (/ 99091 16) + x1 nil() weight: 0 mark(x1) weight: 2 * x1 active(x1) weight: x1 tt() weight: 0 __(x1,x2) weight: (/ 1 8) + x1 + x2 Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... removes: 18 15 8 16 21 19 17 22 10 20 14 13 U11(x1) weight: (/ 198183 16) + 2 * x1 isNePal(x1) weight: (/ 198177 8) + x1 U12(x1) weight: (/ 198183 32) + 2 * x1 nil() weight: 0 mark(x1) weight: (/ 1 4) + 2 * x1 active(x1) weight: (/ 1 8) + x1 tt() weight: 0 __(x1,x2) weight: (/ 3 8) + x1 + x2 Number of strict rules: 0 YES