YES(O(1),O(n^1)) 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) 0.00/0.50 , quot(0(), s(y)) -> 0() 0.00/0.50 , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 We add the following weak dependency pairs: 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(x, 0()) -> c_1() 0.00/0.50 , minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(0(), s(y)) -> c_3() 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 0.00/0.50 and mark the set of starting terms. 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(x, 0()) -> c_1() 0.00/0.50 , minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(0(), s(y)) -> c_3() 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Strict Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) 0.00/0.50 , quot(0(), s(y)) -> 0() 0.00/0.50 , quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 We replace rewrite rules by usable rules: 0.00/0.50 0.00/0.50 Strict Usable Rules: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(x, 0()) -> c_1() 0.00/0.50 , minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(0(), s(y)) -> c_3() 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Strict Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 The weightgap principle applies (using the following constant 0.00/0.50 growth matrix-interpretation) 0.00/0.50 0.00/0.50 The following argument positions are usable: 0.00/0.50 Uargs(c_2) = {1}, Uargs(quot^#) = {1}, Uargs(c_4) = {1} 0.00/0.50 0.00/0.50 TcT has computed the following constructor-restricted matrix 0.00/0.50 interpretation. 0.00/0.50 0.00/0.50 [minus](x1, x2) = [1 1] x1 + [2] 0.00/0.50 [1 1] [0] 0.00/0.50 0.00/0.50 [0] = [0] 0.00/0.50 [0] 0.00/0.50 0.00/0.50 [s](x1) = [1 1] x1 + [0] 0.00/0.50 [0 0] [2] 0.00/0.50 0.00/0.50 [minus^#](x1, x2) = [0 0] x1 + [0 0] x2 + [2] 0.00/0.50 [1 1] [1 1] [2] 0.00/0.50 0.00/0.50 [c_1] = [1] 0.00/0.50 [1] 0.00/0.50 0.00/0.50 [c_2](x1) = [1 0] x1 + [1] 0.00/0.50 [0 1] [1] 0.00/0.50 0.00/0.50 [quot^#](x1, x2) = [1 0] x1 + [0] 0.00/0.50 [0 0] [0] 0.00/0.50 0.00/0.50 [c_3] = [1] 0.00/0.50 [0] 0.00/0.50 0.00/0.50 [c_4](x1) = [1 0] x1 + [2] 0.00/0.50 [0 1] [2] 0.00/0.50 0.00/0.50 The order satisfies the following ordering constraints: 0.00/0.50 0.00/0.50 [minus(x, 0())] = [1 1] x + [2] 0.00/0.50 [1 1] [0] 0.00/0.50 > [1 0] x + [0] 0.00/0.50 [0 1] [0] 0.00/0.50 = [x] 0.00/0.50 0.00/0.50 [minus(s(x), s(y))] = [1 1] x + [4] 0.00/0.50 [1 1] [2] 0.00/0.50 > [1 1] x + [2] 0.00/0.50 [1 1] [0] 0.00/0.50 = [minus(x, y)] 0.00/0.50 0.00/0.50 [minus^#(x, 0())] = [0 0] x + [2] 0.00/0.50 [1 1] [2] 0.00/0.50 > [1] 0.00/0.50 [1] 0.00/0.50 = [c_1()] 0.00/0.50 0.00/0.50 [minus^#(s(x), s(y))] = [0 0] x + [0 0] y + [2] 0.00/0.50 [1 1] [1 1] [6] 0.00/0.50 ? [0 0] x + [0 0] y + [3] 0.00/0.50 [1 1] [1 1] [3] 0.00/0.50 = [c_2(minus^#(x, y))] 0.00/0.50 0.00/0.50 [quot^#(0(), s(y))] = [0] 0.00/0.50 [0] 0.00/0.50 ? [1] 0.00/0.50 [0] 0.00/0.50 = [c_3()] 0.00/0.50 0.00/0.50 [quot^#(s(x), s(y))] = [1 1] x + [0] 0.00/0.50 [0 0] [0] 0.00/0.50 ? [1 1] x + [4] 0.00/0.50 [0 0] [2] 0.00/0.50 = [c_4(quot^#(minus(x, y), s(y)))] 0.00/0.50 0.00/0.50 0.00/0.50 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(0(), s(y)) -> c_3() 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Weak DPs: { minus^#(x, 0()) -> c_1() } 0.00/0.50 Weak Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 We estimate the number of application of {2} by applications of 0.00/0.50 Pre({2}) = {3}. Here rules are labeled as follows: 0.00/0.50 0.00/0.50 DPs: 0.00/0.50 { 1: minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , 2: quot^#(0(), s(y)) -> c_3() 0.00/0.50 , 3: quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) 0.00/0.50 , 4: minus^#(x, 0()) -> c_1() } 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Weak DPs: 0.00/0.50 { minus^#(x, 0()) -> c_1() 0.00/0.50 , quot^#(0(), s(y)) -> c_3() } 0.00/0.50 Weak Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 The following weak DPs constitute a sub-graph of the DG that is 0.00/0.50 closed under successors. The DPs are removed. 0.00/0.50 0.00/0.50 { minus^#(x, 0()) -> c_1() 0.00/0.50 , quot^#(0(), s(y)) -> c_3() } 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(n^1)). 0.00/0.50 0.00/0.50 Strict DPs: 0.00/0.50 { minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Weak Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(n^1)) 0.00/0.50 0.00/0.50 We use the processor 'Small Polynomial Path Order (PS,1-bounded)' 0.00/0.50 to orient following rules strictly. 0.00/0.50 0.00/0.50 DPs: 0.00/0.50 { 1: minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , 2: quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Trs: { minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 0.00/0.50 Sub-proof: 0.00/0.50 ---------- 0.00/0.50 The input was oriented with the instance of 'Small Polynomial Path 0.00/0.50 Order (PS,1-bounded)' as induced by the safe mapping 0.00/0.50 0.00/0.50 safe(minus) = {}, safe(0) = {}, safe(s) = {1}, safe(minus^#) = {2}, 0.00/0.50 safe(c_2) = {}, safe(quot^#) = {2}, safe(c_4) = {} 0.00/0.50 0.00/0.50 and precedence 0.00/0.50 0.00/0.50 minus > minus^#, minus ~ quot^# . 0.00/0.50 0.00/0.50 Following symbols are considered recursive: 0.00/0.50 0.00/0.50 {minus^#, quot^#} 0.00/0.50 0.00/0.50 The recursion depth is 1. 0.00/0.50 0.00/0.50 Further, following argument filtering is employed: 0.00/0.50 0.00/0.50 pi(minus) = 1, pi(0) = [], pi(s) = [1], pi(minus^#) = [1], 0.00/0.50 pi(c_2) = [1], pi(quot^#) = [1], pi(c_4) = [1] 0.00/0.50 0.00/0.50 Usable defined function symbols are a subset of: 0.00/0.50 0.00/0.50 {minus, minus^#, quot^#} 0.00/0.50 0.00/0.50 For your convenience, here are the satisfied ordering constraints: 0.00/0.50 0.00/0.50 pi(minus^#(s(x), s(y))) = minus^#(s(; x);) 0.00/0.50 > c_2(minus^#(x;);) 0.00/0.50 = pi(c_2(minus^#(x, y))) 0.00/0.50 0.00/0.50 pi(quot^#(s(x), s(y))) = quot^#(s(; x);) 0.00/0.50 > c_4(quot^#(x;);) 0.00/0.50 = pi(c_4(quot^#(minus(x, y), s(y)))) 0.00/0.50 0.00/0.50 pi(minus(x, 0())) = x 0.00/0.50 >= x 0.00/0.50 = pi(x) 0.00/0.50 0.00/0.50 pi(minus(s(x), s(y))) = s(; x) 0.00/0.50 > x 0.00/0.50 = pi(minus(x, y)) 0.00/0.50 0.00/0.50 0.00/0.50 The strictly oriented rules are moved into the weak component. 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(1)). 0.00/0.50 0.00/0.50 Weak DPs: 0.00/0.50 { minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 Weak Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(1)) 0.00/0.50 0.00/0.50 The following weak DPs constitute a sub-graph of the DG that is 0.00/0.50 closed under successors. The DPs are removed. 0.00/0.50 0.00/0.50 { minus^#(s(x), s(y)) -> c_2(minus^#(x, y)) 0.00/0.50 , quot^#(s(x), s(y)) -> c_4(quot^#(minus(x, y), s(y))) } 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(1)). 0.00/0.50 0.00/0.50 Weak Trs: 0.00/0.50 { minus(x, 0()) -> x 0.00/0.50 , minus(s(x), s(y)) -> minus(x, y) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(1)) 0.00/0.50 0.00/0.50 No rule is usable, rules are removed from the input problem. 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(O(1),O(1)). 0.00/0.50 0.00/0.50 Rules: Empty 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(O(1),O(1)) 0.00/0.50 0.00/0.50 Empty rules are trivially bounded 0.00/0.50 0.00/0.50 Hurray, we answered YES(O(1),O(n^1)) 0.00/0.51 EOF