YES(?,O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) , cons(X1, X2) -> n__cons(X1, X2) , activate(X) -> X , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) , activate(n__from(X)) -> from(activate(X)) , activate(n__s(X)) -> s(activate(X)) , from(X) -> cons(X, n__from(n__s(X))) , from(X) -> n__from(X) , s(X) -> n__s(X) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) Arguments of following rules are not normal-forms: { 2nd(cons(X, n__cons(Y, Z))) -> activate(Y) } All above mentioned rules can be savely removed. We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { cons(X1, X2) -> n__cons(X1, X2) , activate(X) -> X , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) , activate(n__from(X)) -> from(activate(X)) , activate(n__s(X)) -> s(activate(X)) , from(X) -> cons(X, n__from(n__s(X))) , from(X) -> n__from(X) , s(X) -> n__s(X) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(2nd) = {}, safe(cons) = {1, 2}, safe(n__cons) = {1, 2}, safe(activate) = {}, safe(from) = {1}, safe(n__from) = {1}, safe(n__s) = {1}, safe(s) = {1} and precedence activate > cons, activate > from, activate > s, from > cons, s > cons, from ~ s . Following symbols are considered recursive: {activate} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: cons(; X1, X2) > n__cons(; X1, X2) activate(X;) > X activate(n__cons(; X1, X2);) > cons(; activate(X1;), X2) activate(n__from(; X);) > from(; activate(X;)) activate(n__s(; X);) > s(; activate(X;)) from(; X) > cons(; X, n__from(; n__s(; X))) from(; X) > n__from(; X) s(; X) > n__s(; X) Hurray, we answered YES(?,O(n^1))