Problem Rubio 04 division

interpretations

Execution Time (secs)
-
Answer
YES(?,O(n^3))
InputRubio 04 division
YES(?,O(n^3))

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

Strict Trs:
  { le(0(), Y) -> true()
  , le(s(X), 0()) -> false()
  , le(s(X), s(Y)) -> le(X, Y)
  , minus(0(), Y) -> 0()
  , minus(s(X), Y) -> ifMinus(le(s(X), Y), s(X), Y)
  , ifMinus(true(), s(X), Y) -> 0()
  , ifMinus(false(), s(X), Y) -> s(minus(X, Y))
  , quot(0(), s(Y)) -> 0()
  , quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^3))

The following argument positions are usable:
  Uargs(le) = {}, Uargs(s) = {1}, Uargs(minus) = {},
  Uargs(ifMinus) = {1}, Uargs(quot) = {1}

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

                          [0 1 0]      [0]
           [le](x1, x2) = [0 0 1] x1 + [0]
                          [0 0 0]      [0]
                                          
                          [0]
                    [0] = [1]
                          [0]
                             
                          [0]
                 [true] = [0]
                          [0]
                             
                          [1 1 3]      [1]
                [s](x1) = [0 1 0] x1 + [2]
                          [0 1 1]      [0]
                                          
                          [0]
                [false] = [0]
                          [0]
                             
                          [1 2 1]      [3]
        [minus](x1, x2) = [0 1 0] x1 + [0]
                          [0 0 1]      [0]
                                          
                          [1 0 3]      [1 1 1]      [2]
  [ifMinus](x1, x2, x3) = [0 0 0] x1 + [0 1 0] x2 + [0]
                          [0 0 0]      [0 0 1]      [0]
                                                       
                          [2 3 3]      [3 2 2]      [0]
         [quot](x1, x2) = [0 1 0] x1 + [0 0 0] x2 + [0]
                          [0 0 1]      [0 0 0]      [0]

This order satisfies following ordering constraints

                 [le(0(), Y)] = [1]                            
                                [0]                            
                                [0]                            
                              > [0]                            
                                [0]                            
                                [0]                            
                              = [true()]                       
                                                               
              [le(s(X), 0())] = [0 1 0]     [2]                
                                [0 1 1] X + [0]                
                                [0 0 0]     [0]                
                              > [0]                            
                                [0]                            
                                [0]                            
                              = [false()]                      
                                                               
             [le(s(X), s(Y))] = [0 1 0]     [2]                
                                [0 1 1] X + [0]                
                                [0 0 0]     [0]                
                              > [0 1 0]     [0]                
                                [0 0 1] X + [0]                
                                [0 0 0]     [0]                
                              = [le(X, Y)]                     
                                                               
              [minus(0(), Y)] = [5]                            
                                [1]                            
                                [0]                            
                              > [0]                            
                                [1]                            
                                [0]                            
                              = [0()]                          
                                                               
             [minus(s(X), Y)] = [1 4 4]     [8]                
                                [0 1 0] X + [2]                
                                [0 1 1]     [0]                
                              > [1 4 4]     [7]                
                                [0 1 0] X + [2]                
                                [0 1 1]     [0]                
                              = [ifMinus(le(s(X), Y), s(X), Y)]
                                                               
   [ifMinus(true(), s(X), Y)] = [1 3 4]     [5]                
                                [0 1 0] X + [2]                
                                [0 1 1]     [0]                
                              > [0]                            
                                [1]                            
                                [0]                            
                              = [0()]                          
                                                               
  [ifMinus(false(), s(X), Y)] = [1 3 4]     [5]                
                                [0 1 0] X + [2]                
                                [0 1 1]     [0]                
                              > [1 3 4]     [4]                
                                [0 1 0] X + [2]                
                                [0 1 1]     [0]                
                              = [s(minus(X, Y))]               
                                                               
            [quot(0(), s(Y))] = [3 7 11]     [10]              
                                [0 0  0] Y + [1]               
                                [0 0  0]     [0]               
                              > [0]                            
                                [1]                            
                                [0]                            
                              = [0()]                          
                                                               
           [quot(s(X), s(Y))] = [3 7 11]     [2 8 9]     [15]  
                                [0 0  0] Y + [0 1 0] X + [2]   
                                [0 0  0]     [0 1 1]     [0]   
                              > [3 7 11]     [2 8 8]     [14]  
                                [0 0  0] Y + [0 1 0] X + [2]   
                                [0 0  0]     [0 1 1]     [0]   
                              = [s(quot(minus(X, Y), s(Y)))]   
                                                               

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

lmpo

Execution Time (secs)
-
Answer
MAYBE
InputRubio 04 division
MAYBE

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

Strict Trs:
  { le(0(), Y) -> true()
  , le(s(X), 0()) -> false()
  , le(s(X), s(Y)) -> le(X, Y)
  , minus(0(), Y) -> 0()
  , minus(s(X), Y) -> ifMinus(le(s(X), Y), s(X), Y)
  , ifMinus(true(), s(X), Y) -> 0()
  , ifMinus(false(), s(X), Y) -> s(minus(X, Y))
  , quot(0(), s(Y)) -> 0()
  , quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..

mpo

Execution Time (secs)
-
Answer
MAYBE
InputRubio 04 division
MAYBE

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

Strict Trs:
  { le(0(), Y) -> true()
  , le(s(X), 0()) -> false()
  , le(s(X), s(Y)) -> le(X, Y)
  , minus(0(), Y) -> 0()
  , minus(s(X), Y) -> ifMinus(le(s(X), Y), s(X), Y)
  , ifMinus(true(), s(X), Y) -> 0()
  , ifMinus(false(), s(X), Y) -> s(minus(X, Y))
  , quot(0(), s(Y)) -> 0()
  , quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..

popstar

Execution Time (secs)
0.280
Answer
MAYBE
InputRubio 04 division
MAYBE

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

Strict Trs:
  { le(0(), Y) -> true()
  , le(s(X), 0()) -> false()
  , le(s(X), s(Y)) -> le(X, Y)
  , minus(0(), Y) -> 0()
  , minus(s(X), Y) -> ifMinus(le(s(X), Y), s(X), Y)
  , ifMinus(true(), s(X), Y) -> 0()
  , ifMinus(false(), s(X), Y) -> s(minus(X, Y))
  , quot(0(), s(Y)) -> 0()
  , quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..

popstar-ps

Execution Time (secs)
0.258
Answer
MAYBE
InputRubio 04 division
MAYBE

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

Strict Trs:
  { le(0(), Y) -> true()
  , le(s(X), 0()) -> false()
  , le(s(X), s(Y)) -> le(X, Y)
  , minus(0(), Y) -> 0()
  , minus(s(X), Y) -> ifMinus(le(s(X), Y), s(X), Y)
  , ifMinus(true(), s(X), Y) -> 0()
  , ifMinus(false(), s(X), Y) -> s(minus(X, Y))
  , quot(0(), s(Y)) -> 0()
  , quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..