We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { +(0(), y) -> y , +(s(x), 0()) -> s(x) , +(s(x), s(y)) -> s(+(s(x), +(y, 0()))) } Obligation: runtime complexity Answer: YES(O(1),O(n^1)) The input is overlay and right-linear. Switching to innermost rewriting. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { +(0(), y) -> y , +(s(x), 0()) -> s(x) , +(s(x), s(y)) -> s(+(s(x), +(y, 0()))) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { +(0(), y) -> y , +(s(x), 0()) -> s(x) , +(s(x), s(y)) -> s(+(s(x), +(y, 0()))) } 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 following argument positions are usable: Uargs(+) = {2}, Uargs(s) = {1} TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [+](x1, x2) = [1] x1 + [2] x2 + [1] [0] = [0] [s](x1) = [1] x1 + [4] The order satisfies the following ordering constraints: [+(0(), y)] = [2] y + [1] > [1] y + [0] = [y] [+(s(x), 0())] = [1] x + [5] > [1] x + [4] = [s(x)] [+(s(x), s(y))] = [2] y + [1] x + [13] > [2] y + [1] x + [11] = [s(+(s(x), +(y, 0())))] 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: { +(0(), y) -> y , +(s(x), 0()) -> s(x) , +(s(x), s(y)) -> s(+(s(x), +(y, 0()))) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))