Input TRS: 1: fst(0(),Z) -> nil() 2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) 3: from(X) -> cons(X,n__from(s(X))) 4: add(0(),X) -> X 5: add(s(X),Y) -> s(n__add(activate(X),Y)) 6: len(nil()) -> 0() 7: len(cons(X,Z)) -> s(n__len(activate(Z))) 8: fst(X1,X2) -> n__fst(X1,X2) 9: from(X) -> n__from(X) 10: add(X1,X2) -> n__add(X1,X2) 11: len(X) -> n__len(X) 12: activate(n__fst(X1,X2)) -> fst(X1,X2) 13: activate(n__from(X)) -> from(X) 14: activate(n__add(X1,X2)) -> add(X1,X2) 15: activate(n__len(X)) -> len(X) 16: activate(X) -> X Number of strict rules: 16 Direct Order(PosReal,>,Poly) ... removes: 4 15 8 1 3 16 5 10 7 14 12 11 9 13 6 2 s(x1) weight: 23613 + x1 activate(x1) weight: 35421 + 2 * x1 n__from(x1) weight: x1 fst(x1,x2) weight: (/ 23619 2) + 2 * x1 + 2 * x2 n__add(x1,x2) weight: x1 + 2 * x2 0() weight: 0 from(x1) weight: (/ 70841 2) + 2 * x1 nil() weight: 0 n__len(x1) weight: x1 n__fst(x1,x2) weight: x1 + x2 cons(x1,x2) weight: 11807 + x1 + x2 add(x1,x2) weight: (/ 23617 2) + 2 * x1 + 2 * x2 len(x1) weight: (/ 70841 2) + 2 * x1 Number of strict rules: 0 YES