Problem Transformed CSR 04 Ex2 Luc03b L

interpretations

Execution Time (secs)
-
Answer
YES(?,O(n^1))
InputTransformed CSR 04 Ex2 Luc03b L
YES(?,O(n^1))

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(), cons(Y)) -> cons(Y)
  , from(X) -> cons(X)
  , add(0(), X) -> X
  , add(s(), Y) -> s()
  , len(nil()) -> 0()
  , len(cons(X)) -> s() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

The following argument positions are usable:
  Uargs(fst) = {}, Uargs(cons) = {}, Uargs(from) = {},
  Uargs(add) = {}, Uargs(len) = {}

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

  [fst](x1, x2) = [2] x1 + [0]
                              
            [0] = [2]
                     
          [nil] = [1]
                     
            [s] = [2]
                     
     [cons](x1) = [0]
                     
     [from](x1) = [1] x1 + [3]
                              
  [add](x1, x2) = [2] x1 + [1] x2 + [0]
                                       
      [len](x1) = [2] x1 + [3]

This order satisfies following ordering constraints

        [fst(0(), Z)] = [4]        
                      > [1]        
                      = [nil()]    
                                   
  [fst(s(), cons(Y))] = [4]        
                      > [0]        
                      = [cons(Y)]  
                                   
            [from(X)] = [1] X + [3]
                      > [0]        
                      = [cons(X)]  
                                   
        [add(0(), X)] = [1] X + [4]
                      > [1] X + [0]
                      = [X]        
                                   
        [add(s(), Y)] = [1] Y + [4]
                      > [2]        
                      = [s()]      
                                   
         [len(nil())] = [5]        
                      > [2]        
                      = [0()]      
                                   
       [len(cons(X))] = [3]        
                      > [2]        
                      = [s()]      
                                   

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

lmpo

Execution Time (secs)
-
Answer
YES(?,ELEMENTARY)
InputTransformed CSR 04 Ex2 Luc03b L
YES(?,ELEMENTARY)

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(), cons(Y)) -> cons(Y)
  , from(X) -> cons(X)
  , add(0(), X) -> X
  , add(s(), Y) -> s()
  , len(nil()) -> 0()
  , len(cons(X)) -> s() }
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
 safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}

and precedence

 empty .

Following symbols are considered recursive:

 {}

The recursion depth is 0.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { fst(0(); Z) -> nil()
   , fst(s(); cons(; Y)) -> cons(; Y)
   , from(; X) -> cons(; X)
   , add(0(),  X;) -> X
   , add(s(),  Y;) -> s()
   , len(nil();) -> 0()
   , len(cons(; X);) -> s() }
 Weak Trs  : 

Hurray, we answered YES(?,ELEMENTARY)

mpo

Execution Time (secs)
-
Answer
YES(?,PRIMREC)
InputTransformed CSR 04 Ex2 Luc03b L
YES(?,PRIMREC)

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(), cons(Y)) -> cons(Y)
  , from(X) -> cons(X)
  , add(0(), X) -> X
  , add(s(), Y) -> s()
  , len(nil()) -> 0()
  , len(cons(X)) -> s() }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,PRIMREC)

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

 nil > 0, from > cons, len > s, fst ~ nil .

Hurray, we answered YES(?,PRIMREC)

popstar

Execution Time (secs)
0.125
Answer
YES(?,POLY)
InputTransformed CSR 04 Ex2 Luc03b L
YES(?,POLY)

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(), cons(Y)) -> cons(Y)
  , from(X) -> cons(X)
  , add(0(), X) -> X
  , add(s(), Y) -> s()
  , len(nil()) -> 0()
  , len(cons(X)) -> s() }
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
 safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}

and precedence

 empty .

Following symbols are considered recursive:

 {}

The recursion depth is 0.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { fst(0(); Z) -> nil()
   , fst(s(); cons(; Y)) -> cons(; Y)
   , from(; X) -> cons(; X)
   , add(0(),  X;) -> X
   , add(s(),  Y;) -> s()
   , len(nil();) -> 0()
   , len(cons(; X);) -> s() }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)

popstar-ps

Execution Time (secs)
0.118
Answer
YES(?,POLY)
InputTransformed CSR 04 Ex2 Luc03b L
YES(?,POLY)

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

Strict Trs:
  { fst(0(), Z) -> nil()
  , fst(s(), cons(Y)) -> cons(Y)
  , from(X) -> cons(X)
  , add(0(), X) -> X
  , add(s(), Y) -> s()
  , len(nil()) -> 0()
  , len(cons(X)) -> s() }
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
 safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}

and precedence

 empty .

Following symbols are considered recursive:

 {}

The recursion depth is 0.

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

 Strict DPs: 
 Weak DPs  : 
 Strict Trs:
   { fst(0(); Z) -> nil()
   , fst(s(); cons(; Y)) -> cons(; Y)
   , from(; X) -> cons(; X)
   , add(0(),  X;) -> X
   , add(s(),  Y;) -> s()
   , len(nil();) -> 0()
   , len(cons(; X);) -> s() }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)