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:
  { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N))
  , U12(tt(), M, N) -> s(plus(activate(N), activate(M)))
  , activate(X) -> X
  , plus(N, s(M)) -> U11(tt(), M, N)
  , plus(N, 0()) -> N }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(n^1))

We add following weak dependency pairs:

Strict DPs:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N))
  , plus^#(N, 0()) -> c_5()
  , activate^#(X) -> c_3() }

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:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N))
  , plus^#(N, 0()) -> c_5()
  , activate^#(X) -> c_3() }
Strict Trs:
  { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N))
  , U12(tt(), M, N) -> s(plus(activate(N), activate(M)))
  , activate(X) -> X
  , plus(N, s(M)) -> U11(tt(), M, N)
  , plus(N, 0()) -> N }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(n^1))

We replace rewrite rules by usable rules:

  Strict Usable Rules: { activate(X) -> X }

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

Strict DPs:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N))
  , plus^#(N, 0()) -> c_5()
  , activate^#(X) -> c_3() }
Strict Trs: { activate(X) -> X }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),O(n^1))

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

The following argument positions are usable:
  Uargs(c_1) = {1}, Uargs(U12^#) = {2, 3}, Uargs(c_2) = {1},
  Uargs(plus^#) = {1, 2}, Uargs(c_4) = {1}

TcT has computed following constructor-restricted matrix
interpretation.

                 [tt] = [2]                           
                                                      
       [activate](x1) = [1] x1 + [2]                  
                                                      
              [s](x1) = [1] x1 + [2]                  
                                                      
                  [0] = [2]                           
                                                      
  [U11^#](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [2]
                                                      
            [c_1](x1) = [1] x1 + [0]                  
                                                      
  [U12^#](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [1]
                                                      
            [c_2](x1) = [1] x1 + [1]                  
                                                      
     [plus^#](x1, x2) = [1] x1 + [1] x2 + [2]         
                                                      
     [activate^#](x1) = [1]                           
                                                      
                [c_3] = [1]                           
                                                      
            [c_4](x1) = [1] x1 + [2]                  
                                                      
                [c_5] = [2]                           

This order satisfies following ordering constraints:

  [activate(X)] = [1] X + [2]
                > [1] X + [0]
                = [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(n^1)).

Strict DPs:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N))
  , activate^#(X) -> c_3() }
Weak DPs: { plus^#(N, 0()) -> c_5() }
Weak Trs: { activate(X) -> X }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

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

  DPs:
    { 1: U11^#(tt(), M, N) ->
         c_1(U12^#(tt(), activate(M), activate(N)))
    , 2: U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
    , 3: plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N))
    , 4: activate^#(X) -> c_3()
    , 5: plus^#(N, 0()) -> c_5() }

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

Strict DPs:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N)) }
Weak DPs:
  { plus^#(N, 0()) -> c_5()
  , activate^#(X) -> c_3() }
Weak Trs: { activate(X) -> X }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

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

{ plus^#(N, 0()) -> c_5()
, activate^#(X) -> c_3() }

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

Strict DPs:
  { U11^#(tt(), M, N) -> c_1(U12^#(tt(), activate(M), activate(N)))
  , U12^#(tt(), M, N) -> c_2(plus^#(activate(N), activate(M)))
  , plus^#(N, s(M)) -> c_4(U11^#(tt(), M, N)) }
Weak Trs: { activate(X) -> X }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

The following argument positions are usable:
  Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_4) = {1}

TcT has computed following constructor-based matrix interpretation
satisfying not(EDA).

                 [tt] = [2]                  
                                             
       [activate](x1) = [1] x1 + [0]         
                                             
              [s](x1) = [1] x1 + [2]         
                                             
  [U11^#](x1, x2, x3) = [1] x1 + [2] x2 + [0]
                                             
            [c_1](x1) = [1] x1 + [0]         
                                             
  [U12^#](x1, x2, x3) = [2] x2 + [1]         
                                             
            [c_2](x1) = [1] x1 + [0]         
                                             
     [plus^#](x1, x2) = [2] x2 + [0]         
                                             
            [c_4](x1) = [1] x1 + [1]         

This order satisfies following ordering constraints:

        [activate(X)] =  [1] X + [0]                                 
                      >= [1] X + [0]                                 
                      =  [X]                                         
                                                                     
  [U11^#(tt(), M, N)] =  [2] M + [2]                                 
                      >  [2] M + [1]                                 
                      =  [c_1(U12^#(tt(), activate(M), activate(N)))]
                                                                     
  [U12^#(tt(), M, N)] =  [2] M + [1]                                 
                      >  [2] M + [0]                                 
                      =  [c_2(plus^#(activate(N), activate(M)))]     
                                                                     
    [plus^#(N, s(M))] =  [2] M + [4]                                 
                      >  [2] M + [3]                                 
                      =  [c_4(U11^#(tt(), M, N))]                    
                                                                     

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