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 |0|() weight: 0 s(x1) weight: (/ 1 8) + x1 activate(x1) weight: (/ 1 8) + 2 * x1 n__from(x1) weight: (/ 35 64) + x1 fst(x1,x2) weight: (/ 86621 4) + 2 * x1 + 2 * x2 n__add(x1,x2) weight: (/ 1 8) + x1 + 2 * x2 from(x1) weight: (/ 35 32) + 2 * x1 nil() weight: 0 n__len(x1) weight: (/ 255129 8) + x1 n__fst(x1,x2) weight: (/ 173241 8) + x1 + x2 cons(x1,x2) weight: (/ 19 64) + x1 + x2 add(x1,x2) weight: (/ 1 4) + 2 * x1 + 2 * x2 len(x1) weight: (/ 127565 4) + 2 * x1 Number of strict rules: 0 YES