Problem SK90 2.31

interpretations

Execution Time (secs)
-
Answer
YES(?,O(n^1))
InputSK90 2.31
YES(?,O(n^1))

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

Strict Trs:
  { not(true()) -> false()
  , not(false()) -> true()
  , odd(0()) -> false()
  , odd(s(x)) -> not(odd(x))
  , +(x, 0()) -> x
  , +(x, s(y)) -> s(+(x, y))
  , +(s(x), y) -> s(+(x, y)) }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

The following argument positions are usable:
  Uargs(not) = {1}, Uargs(odd) = {}, Uargs(s) = {1}, Uargs(+) = {}

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

    [not](x1) = [1] x1 + [1]
                            
       [true] = [0]
                   
      [false] = [0]
                   
    [odd](x1) = [2] x1 + [0]
                            
          [0] = [2]
                   
      [s](x1) = [1] x1 + [2]
                            
  [+](x1, x2) = [3] x1 + [3] x2 + [2]

This order satisfies following ordering constraints

   [not(true())] = [1]                
                 > [0]                
                 = [false()]          
                                      
  [not(false())] = [1]                
                 > [0]                
                 = [true()]           
                                      
      [odd(0())] = [4]                
                 > [0]                
                 = [false()]          
                                      
     [odd(s(x))] = [2] x + [4]        
                 > [2] x + [1]        
                 = [not(odd(x))]      
                                      
     [+(x, 0())] = [3] x + [8]        
                 > [1] x + [0]        
                 = [x]                
                                      
    [+(x, s(y))] = [3] x + [3] y + [8]
                 > [3] x + [3] y + [4]
                 = [s(+(x, y))]       
                                      
    [+(s(x), y)] = [3] x + [3] y + [8]
                 > [3] x + [3] y + [4]
                 = [s(+(x, y))]       
                                      

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

lmpo

Execution Time (secs)
-
Answer
YES(?,ELEMENTARY)
InputSK90 2.31
YES(?,ELEMENTARY)

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

Strict Trs:
  { not(true()) -> false()
  , not(false()) -> true()
  , odd(0()) -> false()
  , odd(s(x)) -> not(odd(x))
  , +(x, 0()) -> x
  , +(x, s(y)) -> s(+(x, y))
  , +(s(x), y) -> s(+(x, y)) }
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(not) = {1}, safe(true) = {}, safe(false) = {}, safe(odd) = {},
 safe(0) = {}, safe(s) = {1}, safe(+) = {}

and precedence

 odd > not .

Following symbols are considered recursive:

 {not, odd, +}

The recursion depth is 2.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { not(; true()) -> false()
   , not(; false()) -> true()
   , odd(0();) -> false()
   , odd(s(; x);) -> not(; odd(x;))
   , +(x,  0();) -> x
   , +(x,  s(; y);) -> s(; +(x,  y;))
   , +(s(; x),  y;) -> s(; +(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,ELEMENTARY)

mpo

Execution Time (secs)
-
Answer
YES(?,PRIMREC)
InputSK90 2.31
YES(?,PRIMREC)

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

Strict Trs:
  { not(true()) -> false()
  , not(false()) -> true()
  , odd(0()) -> false()
  , odd(s(x)) -> not(odd(x))
  , +(x, 0()) -> x
  , +(x, s(y)) -> s(+(x, y))
  , +(s(x), y) -> s(+(x, y)) }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,PRIMREC)

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

 not > true, not > false, 0 > false, s > not, s > odd, + > s .

Hurray, we answered YES(?,PRIMREC)

popstar

Execution Time (secs)
0.128
Answer
YES(?,POLY)
InputSK90 2.31
YES(?,POLY)

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

Strict Trs:
  { not(true()) -> false()
  , not(false()) -> true()
  , odd(0()) -> false()
  , odd(s(x)) -> not(odd(x))
  , +(x, 0()) -> x
  , +(x, s(y)) -> s(+(x, y))
  , +(s(x), y) -> s(+(x, y)) }
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(not) = {1}, safe(true) = {}, safe(false) = {}, safe(odd) = {},
 safe(0) = {}, safe(s) = {1}, safe(+) = {}

and precedence

 odd > not .

Following symbols are considered recursive:

 {not, odd, +}

The recursion depth is 2.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { not(; true()) -> false()
   , not(; false()) -> true()
   , odd(0();) -> false()
   , odd(s(; x);) -> not(; odd(x;))
   , +(x,  0();) -> x
   , +(x,  s(; y);) -> s(; +(x,  y;))
   , +(s(; x),  y;) -> s(; +(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)

popstar-ps

Execution Time (secs)
0.170
Answer
YES(?,POLY)
InputSK90 2.31
YES(?,POLY)

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

Strict Trs:
  { not(true()) -> false()
  , not(false()) -> true()
  , odd(0()) -> false()
  , odd(s(x)) -> not(odd(x))
  , +(x, 0()) -> x
  , +(x, s(y)) -> s(+(x, y))
  , +(s(x), y) -> s(+(x, y)) }
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(not) = {1}, safe(true) = {}, safe(false) = {}, safe(odd) = {},
 safe(0) = {}, safe(s) = {1}, safe(+) = {}

and precedence

 odd > not .

Following symbols are considered recursive:

 {not, odd, +}

The recursion depth is 2.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { not(; true()) -> false()
   , not(; false()) -> true()
   , odd(0();) -> false()
   , odd(s(; x);) -> not(; odd(x;))
   , +(x,  0();) -> x
   , +(x,  s(; y);) -> s(; +(x,  y;))
   , +(s(; x),  y;) -> s(; +(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)