Problem TCT 09 addmult

interpretations

Execution Time (secs)
-
Answer
YES(?,O(n^2))
InputTCT 09 addmult
YES(?,O(n^2))

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

Strict Trs:
  { add(0(), x) -> x
  , add(s(x), y) -> s(add(x, y))
  , mult(0(), x) -> 0()
  , mult(s(x), y) -> add(y, mult(x, y)) }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^2))

The following argument positions are usable:
  Uargs(add) = {2}, Uargs(s) = {1}, Uargs(mult) = {}
TcT has computed following constructor-restricted polynomial
interpretation.
 [add](x1, x2) = 2*x1 + x2            
                                      
         [0]() = 2                    
                                      
       [s](x1) = 3 + x1               
                                      
[mult](x1, x2) = 1 + x1 + 3*x1*x2 + x2
                                      

This order satisfies following ordering constraints

    [add(0(), x)] = 4 + x               
                  > x                   
                  = [x]                 
                                        
   [add(s(x), y)] = 6 + 2*x + y         
                  > 3 + 2*x + y         
                  = [s(add(x, y))]      
                                        
   [mult(0(), x)] = 3 + 7*x             
                  > 2                   
                  = [0()]               
                                        
  [mult(s(x), y)] = 4 + x + 10*y + 3*x*y
                  > 3*y + 1 + x + 3*x*y 
                  = [add(y, mult(x, y))]
                                        

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

lmpo

Execution Time (secs)
-
Answer
YES(?,ELEMENTARY)
InputTCT 09 addmult
YES(?,ELEMENTARY)

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

Strict Trs:
  { add(0(), x) -> x
  , add(s(x), y) -> s(add(x, y))
  , mult(0(), x) -> 0()
  , mult(s(x), y) -> add(y, mult(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(add) = {2}, safe(0) = {}, safe(s) = {1}, safe(mult) = {}

and precedence

 mult > add .

Following symbols are considered recursive:

 {add, mult}

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:
   { add(0(); x) -> x
   , add(s(; x); y) -> s(; add(x; y))
   , mult(0(),  x;) -> 0()
   , mult(s(; x),  y;) -> add(y; mult(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,ELEMENTARY)

mpo

Execution Time (secs)
-
Answer
YES(?,PRIMREC)
InputTCT 09 addmult
YES(?,PRIMREC)

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

Strict Trs:
  { add(0(), x) -> x
  , add(s(x), y) -> s(add(x, y))
  , mult(0(), x) -> 0()
  , mult(s(x), y) -> add(y, mult(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

 add > s, mult > add .

Hurray, we answered YES(?,PRIMREC)

popstar

Execution Time (secs)
0.236
Answer
YES(?,POLY)
InputTCT 09 addmult
YES(?,POLY)

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

Strict Trs:
  { add(0(), x) -> x
  , add(s(x), y) -> s(add(x, y))
  , mult(0(), x) -> 0()
  , mult(s(x), y) -> add(y, mult(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(add) = {2}, safe(0) = {}, safe(s) = {1}, safe(mult) = {}

and precedence

 mult > add .

Following symbols are considered recursive:

 {add, mult}

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:
   { add(0(); x) -> x
   , add(s(; x); y) -> s(; add(x; y))
   , mult(0(),  x;) -> 0()
   , mult(s(; x),  y;) -> add(y; mult(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)

popstar-ps

Execution Time (secs)
0.165
Answer
YES(?,POLY)
InputTCT 09 addmult
YES(?,POLY)

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

Strict Trs:
  { add(0(), x) -> x
  , add(s(x), y) -> s(add(x, y))
  , mult(0(), x) -> 0()
  , mult(s(x), y) -> add(y, mult(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(add) = {2}, safe(0) = {}, safe(s) = {1}, safe(mult) = {}

and precedence

 mult > add .

Following symbols are considered recursive:

 {add, mult}

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:
   { add(0(); x) -> x
   , add(s(; x); y) -> s(; add(x; y))
   , mult(0(),  x;) -> 0()
   , mult(s(; x),  y;) -> add(y; mult(x,  y;)) }
 Weak Trs  : 

Hurray, we answered YES(?,POLY)