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