We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).

Strict Trs: { h(f(x, y)) -> f(f(a(), h(h(y))), x) }
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: { h(f(x, y)) -> f(f(a(), h(h(y))), x) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(n^1))

We add the following dependency tuples:

Strict DPs: { h^#(f(x, y)) -> c_1(h^#(h(y)), h^#(y)) }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).

Strict DPs: { h^#(f(x, y)) -> c_1(h^#(h(y)), h^#(y)) }
Weak Trs: { h(f(x, y)) -> f(f(a(), h(h(y))), x) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(n^1))

We use the processor 'matrix interpretation of dimension 2' to
orient following rules strictly.

DPs:
  { 1: h^#(f(x, y)) -> c_1(h^#(h(y)), h^#(y)) }

Sub-proof:
----------
  The following argument positions are usable:
    Uargs(c_1) = {1, 2}
  
  TcT has computed the following constructor-based matrix
  interpretation satisfying not(EDA) and not(IDA(1)).
  
          [h](x1) = [0 1] x1 + [0]           
                    [5 0]      [0]           
                                             
      [f](x1, x2) = [0 0] x1 + [1 1] x2 + [2]
                    [1 1]      [0 0]      [2]
                                             
              [a] = [0]                      
                    [0]                      
                                             
        [h^#](x1) = [1 0] x1 + [0]           
                    [1 0]      [0]           
                                             
    [c_1](x1, x2) = [1 0] x1 + [1 0] x2 + [1]
                    [0 0]      [0 0]      [0]
  
  The order satisfies the following ordering constraints:
  
      [h(f(x, y))] =  [1 1] x + [0 0] y + [2] 
                      [0 0]     [5 5]     [10]
                   >= [1 1] x + [0 0] y + [2] 
                      [0 0]     [5 5]     [6] 
                   =  [f(f(a(), h(h(y))), x)] 
                                              
    [h^#(f(x, y))] =  [1 1] y + [2]           
                      [1 1]     [2]           
                   >  [1 1] y + [1]           
                      [0 0]     [0]           
                   =  [c_1(h^#(h(y)), h^#(y))]
                                              

The strictly oriented rules are moved into the weak component.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Weak DPs: { h^#(f(x, y)) -> c_1(h^#(h(y)), h^#(y)) }
Weak Trs: { h(f(x, y)) -> f(f(a(), h(h(y))), x) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

The following weak DPs constitute a sub-graph of the DG that is
closed under successors. The DPs are removed.

{ h^#(f(x, y)) -> c_1(h^#(h(y)), h^#(y)) }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Weak Trs: { h(f(x, y)) -> f(f(a(), h(h(y))), x) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

No rule is usable, rules are removed from the input problem.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).

Rules: Empty
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

Empty rules are trivially bounded

Hurray, we answered YES(O(1),O(n^1))