MAYBE

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(a(), 0(), y) -> c_3()
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , half^#(s(0())) -> c_6(half^#(0()))
  , half^#(0()) -> c_7(double^#(0()))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , exp^#(0()) -> c_9()
  , double^#(s(x)) -> c_10(double^#(x))
  , double^#(0()) -> c_11() }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(a(), 0(), y) -> c_3()
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , half^#(s(0())) -> c_6(half^#(0()))
  , half^#(0()) -> c_7(double^#(0()))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , exp^#(0()) -> c_9()
  , double^#(s(x)) -> c_10(double^#(x))
  , double^#(0()) -> c_11() }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We estimate the number of application of {3,9,11} by applications
of Pre({3,9,11}) = {1,4,7,8,10}. Here rules are labeled as follows:

  DPs:
    { 1: tower^#(x) -> c_1(f^#(a(), x, s(0())))
    , 2: f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
    , 3: f^#(a(), 0(), y) -> c_3()
    , 4: f^#(b(), y, x) ->
         c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
    , 5: half^#(s(s(x))) -> c_5(half^#(x))
    , 6: half^#(s(0())) -> c_6(half^#(0()))
    , 7: half^#(0()) -> c_7(double^#(0()))
    , 8: exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
    , 9: exp^#(0()) -> c_9()
    , 10: double^#(s(x)) -> c_10(double^#(x))
    , 11: double^#(0()) -> c_11() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , half^#(s(0())) -> c_6(half^#(0()))
  , half^#(0()) -> c_7(double^#(0()))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak DPs:
  { f^#(a(), 0(), y) -> c_3()
  , exp^#(0()) -> c_9()
  , double^#(0()) -> c_11() }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

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

  DPs:
    { 1: tower^#(x) -> c_1(f^#(a(), x, s(0())))
    , 2: f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
    , 3: f^#(b(), y, x) ->
         c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
    , 4: half^#(s(s(x))) -> c_5(half^#(x))
    , 5: half^#(s(0())) -> c_6(half^#(0()))
    , 6: half^#(0()) -> c_7(double^#(0()))
    , 7: exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
    , 8: double^#(s(x)) -> c_10(double^#(x))
    , 9: f^#(a(), 0(), y) -> c_3()
    , 10: exp^#(0()) -> c_9()
    , 11: double^#(0()) -> c_11() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , half^#(s(0())) -> c_6(half^#(0()))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak DPs:
  { f^#(a(), 0(), y) -> c_3()
  , half^#(0()) -> c_7(double^#(0()))
  , exp^#(0()) -> c_9()
  , double^#(0()) -> c_11() }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

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

  DPs:
    { 1: tower^#(x) -> c_1(f^#(a(), x, s(0())))
    , 2: f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
    , 3: f^#(b(), y, x) ->
         c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
    , 4: half^#(s(s(x))) -> c_5(half^#(x))
    , 5: half^#(s(0())) -> c_6(half^#(0()))
    , 6: exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
    , 7: double^#(s(x)) -> c_10(double^#(x))
    , 8: f^#(a(), 0(), y) -> c_3()
    , 9: half^#(0()) -> c_7(double^#(0()))
    , 10: exp^#(0()) -> c_9()
    , 11: double^#(0()) -> c_11() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak DPs:
  { f^#(a(), 0(), y) -> c_3()
  , half^#(s(0())) -> c_6(half^#(0()))
  , half^#(0()) -> c_7(double^#(0()))
  , exp^#(0()) -> c_9()
  , double^#(0()) -> c_11() }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

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

{ f^#(a(), 0(), y) -> c_3()
, half^#(s(0())) -> c_6(half^#(0()))
, half^#(0()) -> c_7(double^#(0()))
, exp^#(0()) -> c_9()
, double^#(0()) -> c_11() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { tower^#(x) -> c_1(f^#(a(), x, s(0())))
  , f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Consider the dependency graph

  1: tower^#(x) -> c_1(f^#(a(), x, s(0())))
     -->_1 f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x))) :2
  
  2: f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
     -->_1 f^#(b(), y, x) ->
           c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y)) :3
  
  3: f^#(b(), y, x) ->
     c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
     -->_3 exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x)) :5
     -->_2 half^#(s(s(x))) -> c_5(half^#(x)) :4
     -->_1 f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x))) :2
  
  4: half^#(s(s(x))) -> c_5(half^#(x))
     -->_1 half^#(s(s(x))) -> c_5(half^#(x)) :4
  
  5: exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
     -->_1 double^#(s(x)) -> c_10(double^#(x)) :6
     -->_2 exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x)) :5
  
  6: double^#(s(x)) -> c_10(double^#(x))
     -->_1 double^#(s(x)) -> c_10(double^#(x)) :6
  

Following roots of the dependency graph are removed, as the
considered set of starting terms is closed under reduction with
respect to these rules (modulo compound contexts).

  { tower^#(x) -> c_1(f^#(a(), x, s(0()))) }


We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak Trs:
  { tower(x) -> f(a(), x, s(0()))
  , f(a(), s(x), y) -> f(b(), y, s(x))
  , f(a(), 0(), y) -> y
  , f(b(), y, x) -> f(a(), half(x), exp(y))
  , half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We replace rewrite rules by usable rules:

  Weak Usable Rules:
    { half(s(s(x))) -> s(half(x))
    , half(s(0())) -> half(0())
    , half(0()) -> double(0())
    , exp(s(x)) -> double(exp(x))
    , exp(0()) -> s(0())
    , double(s(x)) -> s(s(double(x)))
    , double(0()) -> 0() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { f^#(a(), s(x), y) -> c_2(f^#(b(), y, s(x)))
  , f^#(b(), y, x) ->
    c_4(f^#(a(), half(x), exp(y)), half^#(x), exp^#(y))
  , half^#(s(s(x))) -> c_5(half^#(x))
  , exp^#(s(x)) -> c_8(double^#(exp(x)), exp^#(x))
  , double^#(s(x)) -> c_10(double^#(x)) }
Weak Trs:
  { half(s(s(x))) -> s(half(x))
  , half(s(0())) -> half(0())
  , half(0()) -> double(0())
  , exp(s(x)) -> double(exp(x))
  , exp(0()) -> s(0())
  , double(s(x)) -> s(s(double(x)))
  , double(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

None of the processors succeeded.

Details of failed attempt(s):
-----------------------------
1) 'matrices' failed due to the following reason:
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'matrix interpretation of dimension 4' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   2) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   3) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   4) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   5) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   6) 'matrix interpretation of dimension 1' failed due to the
      following reason:
      
      The input cannot be shown compatible
   

2) 'empty' failed due to the following reason:
   
   Empty strict component of the problem is NOT empty.


Arrrr..