YES(O(1),O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { duplicate(Cons(x, xs)) -> Cons(x, Cons(x, duplicate(xs))) , duplicate(Nil()) -> Nil() , goal(x) -> duplicate(x) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) The weightgap principle applies (using the following nonconstant growth matrix-interpretation) The following argument positions are usable: Uargs(Cons) = {2} TcT has computed the following matrix interpretation satisfying not(EDA) and not(IDA(1)). [duplicate](x1) = [1] x1 + [3] [Cons](x1, x2) = [1] x2 + [3] [Nil] = [3] [goal](x1) = [1] x1 + [7] The following symbols are considered usable {duplicate, goal} The order satisfies the following ordering constraints: [duplicate(Cons(x, xs))] = [1] xs + [6] ? [1] xs + [9] = [Cons(x, Cons(x, duplicate(xs)))] [duplicate(Nil())] = [6] > [3] = [Nil()] [goal(x)] = [1] x + [7] > [1] x + [3] = [duplicate(x)] Further, it can be verified that all rules not oriented are covered by the weightgap condition. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { duplicate(Cons(x, xs)) -> Cons(x, Cons(x, duplicate(xs))) } Weak Trs: { duplicate(Nil()) -> Nil() , goal(x) -> duplicate(x) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'Small Polynomial Path Order (PS,1-bounded)' to orient following rules strictly. Trs: { duplicate(Cons(x, xs)) -> Cons(x, Cons(x, duplicate(xs))) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(duplicate) = {}, safe(Cons) = {1, 2}, safe(Nil) = {}, safe(goal) = {} and precedence duplicate ~ goal . Following symbols are considered recursive: {duplicate} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: duplicate(Cons(; x, xs);) > Cons(; x, Cons(; x, duplicate(xs;))) duplicate(Nil();) > Nil() goal(x;) >= duplicate(x;) We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(1)). Weak Trs: { duplicate(Cons(x, xs)) -> Cons(x, Cons(x, duplicate(xs))) , duplicate(Nil()) -> Nil() , goal(x) -> duplicate(x) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))