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

Strict Trs:
  { g(x, y) -> x
  , g(x, y) -> y
  , f(s(x), y, y) -> f(y, x, s(x)) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

We add the following weak dependency pairs:

Strict DPs:
  { g^#(x, y) -> c_1()
  , g^#(x, y) -> c_2()
  , f^#(s(x), y, y) -> c_3(f^#(y, x, s(x))) }

and mark the set of starting terms.

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

Strict DPs:
  { g^#(x, y) -> c_1()
  , g^#(x, y) -> c_2()
  , f^#(s(x), y, y) -> c_3(f^#(y, x, s(x))) }
Strict Trs:
  { g(x, y) -> x
  , g(x, y) -> y
  , f(s(x), y, y) -> f(y, x, s(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)).

Strict DPs:
  { g^#(x, y) -> c_1()
  , g^#(x, y) -> c_2()
  , f^#(s(x), y, y) -> c_3(f^#(y, x, s(x))) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

The weightgap principle applies (using the following constant
growth matrix-interpretation)

The following argument positions are usable:
  none

TcT has computed the following constructor-restricted matrix
interpretation.

            [s](x1) = [0]
                      [0]
                         
      [g^#](x1, x2) = [2]
                      [0]
                         
              [c_1] = [0]
                      [0]
                         
              [c_2] = [0]
                      [0]
                         
  [f^#](x1, x2, x3) = [0]
                      [0]
                         
          [c_3](x1) = [0]
                      [0]

The order satisfies the following ordering constraints:

        [g^#(x, y)] =  [2]                   
                       [0]                   
                    >  [0]                   
                       [0]                   
                    =  [c_1()]               
                                             
        [g^#(x, y)] =  [2]                   
                       [0]                   
                    >  [0]                   
                       [0]                   
                    =  [c_2()]               
                                             
  [f^#(s(x), y, y)] =  [0]                   
                       [0]                   
                    >= [0]                   
                       [0]                   
                    =  [c_3(f^#(y, x, s(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(1)).

Strict DPs: { f^#(s(x), y, y) -> c_3(f^#(y, x, s(x))) }
Weak DPs:
  { g^#(x, y) -> c_1()
  , g^#(x, y) -> c_2() }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(1))

We estimate the number of application of {1} by applications of
Pre({1}) = {}. Here rules are labeled as follows:

  DPs:
    { 1: f^#(s(x), y, y) -> c_3(f^#(y, x, s(x)))
    , 2: g^#(x, y) -> c_1()
    , 3: g^#(x, y) -> c_2() }

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

Weak DPs:
  { g^#(x, y) -> c_1()
  , g^#(x, y) -> c_2()
  , f^#(s(x), y, y) -> c_3(f^#(y, x, s(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.

{ g^#(x, y) -> c_1()
, g^#(x, y) -> c_2()
, f^#(s(x), y, y) -> c_3(f^#(y, x, s(x))) }

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(1))