Problem AG01 3.35

interpretations

Execution Time (secs)
-
Answer
YES(?,O(n^1))
InputAG01 3.35
YES(?,O(n^1))

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

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

The following argument positions are usable:
  Uargs(g) = {}, Uargs(s) = {1}, Uargs(f) = {}

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

  [g](x1) = [2] x1 + [0]
                        
  [s](x1) = [1] x1 + [2]
                        
  [f](x1) = [2] x1 + [1]
                        
      [0] = [2]

This order satisfies following ordering constraints

  [g(s(x))] = [2] x + [4] 
            > [2] x + [1] 
            = [f(x)]      
                          
   [g(0())] = [4]         
            > [2]         
            = [0()]       
                          
  [f(s(x))] = [2] x + [5] 
            > [2] x + [4] 
            = [s(s(g(x)))]
                          
   [f(0())] = [5]         
            > [4]         
            = [s(0())]    
                          

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

lmpo

Execution Time (secs)
-
Answer
YES(?,ELEMENTARY)
InputAG01 3.35
YES(?,ELEMENTARY)

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

Strict Trs:
  { g(s(x)) -> f(x)
  , f(0()) -> s(0())
  , f(s(x)) -> s(s(g(x)))
  , g(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,ELEMENTARY)

The input was oriented with the instance of 'Lightweight Multiset
Path Order' as induced by the safe mapping

 safe(g) = {}, safe(s) = {1}, safe(f) = {}, safe(0) = {}

and precedence

 g ~ f .

Following symbols are considered recursive:

 {g, f}

The recursion depth is 1.

For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { g(s(; x);) -> f(x;)
   , f(0();) -> s(; 0())
   , f(s(; x);) -> s(; s(; g(x;)))
   , g(0();) -> 0() }
 Weak Trs  : 

Hurray, we answered YES(?,ELEMENTARY)

mpo

Execution Time (secs)
-
Answer
YES(?,PRIMREC)
InputAG01 3.35
YES(?,PRIMREC)

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

Strict Trs:
  { g(s(x)) -> f(x)
  , f(0()) -> s(0())
  , f(s(x)) -> s(s(g(x)))
  , g(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,PRIMREC)

The input was oriented with the instance of'multiset path orders'
as induced by the precedence

 f > s, g ~ f .

Hurray, we answered YES(?,PRIMREC)

popstar

Execution Time (secs)
0.118
Answer
YES(?,POLY)
InputAG01 3.35
YES(?,POLY)

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

Strict Trs:
  { g(s(x)) -> f(x)
  , f(0()) -> s(0())
  , f(s(x)) -> s(s(g(x)))
  , g(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,POLY)

The input was oriented with the instance of 'Polynomial Path Order'
as induced by the safe mapping

 safe(g) = {}, safe(s) = {1}, safe(f) = {}, safe(0) = {}

and precedence

 g ~ f .

Following symbols are considered recursive:

 {g, f}

The recursion depth is 1.

For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { g(s(; x);) -> f(x;)
   , f(0();) -> s(; 0())
   , f(s(; x);) -> s(; s(; g(x;)))
   , g(0();) -> 0() }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)

popstar-ps

Execution Time (secs)
0.112
Answer
YES(?,POLY)
InputAG01 3.35
YES(?,POLY)

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

Strict Trs:
  { g(s(x)) -> f(x)
  , f(0()) -> s(0())
  , f(s(x)) -> s(s(g(x)))
  , g(0()) -> 0() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,POLY)

The input was oriented with the instance of 'Polynomial Path Order
(PS)' as induced by the safe mapping

 safe(g) = {}, safe(s) = {1}, safe(f) = {}, safe(0) = {}

and precedence

 g ~ f .

Following symbols are considered recursive:

 {g, f}

The recursion depth is 1.

For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { g(s(; x);) -> f(x;)
   , f(0();) -> s(; 0())
   , f(s(; x);) -> s(; s(; g(x;)))
   , g(0();) -> 0() }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)