YES(O(1),O(1)) 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Strict Trs: 12.22/4.86 { g(X) -> u(h(X), h(X), X) 12.22/4.86 , u(d(), c(Y), X) -> k(Y) 12.22/4.86 , h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) 12.22/4.86 , f(k(a()), k(b()), X) -> f(X, X, X) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 We add the following weak dependency pairs: 12.22/4.86 12.22/4.86 Strict DPs: 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 12.22/4.86 and mark the set of starting terms. 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Strict DPs: 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 Strict Trs: 12.22/4.86 { g(X) -> u(h(X), h(X), X) 12.22/4.86 , u(d(), c(Y), X) -> k(Y) 12.22/4.86 , h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) 12.22/4.86 , f(k(a()), k(b()), X) -> f(X, X, X) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 We replace rewrite rules by usable rules: 12.22/4.86 12.22/4.86 Strict Usable Rules: 12.22/4.86 { h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) } 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Strict DPs: 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 Strict Trs: 12.22/4.86 { h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 The weightgap principle applies (using the following constant 12.22/4.86 growth matrix-interpretation) 12.22/4.86 12.22/4.86 The following argument positions are usable: 12.22/4.86 Uargs(c_1) = {1}, Uargs(u^#) = {1, 2} 12.22/4.86 12.22/4.86 TcT has computed the following constructor-restricted matrix 12.22/4.86 interpretation. 12.22/4.86 12.22/4.86 [h](x1) = [2] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [d] = [0] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [c](x1) = [0] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [k](x1) = [0] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [a] = [0] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [b] = [0] 12.22/4.86 [0] 12.22/4.86 12.22/4.86 [g^#](x1) = [2 1] x1 + [1] 12.22/4.86 [1 1] [1] 12.22/4.86 12.22/4.86 [c_1](x1) = [1 0] x1 + [0] 12.22/4.86 [0 1] [2] 12.22/4.86 12.22/4.86 [u^#](x1, x2, x3) = [1 0] x1 + [2 0] x2 + [0 0] x3 + [1] 12.22/4.86 [1 1] [0 0] [1 1] [2] 12.22/4.86 12.22/4.86 [c_2] = [1] 12.22/4.86 [1] 12.22/4.86 12.22/4.86 [h^#](x1) = [1 1] x1 + [2] 12.22/4.86 [1 1] [2] 12.22/4.86 12.22/4.86 [c_3] = [1] 12.22/4.86 [1] 12.22/4.86 12.22/4.86 [c_4] = [1] 12.22/4.86 [2] 12.22/4.86 12.22/4.86 [f^#](x1, x2, x3) = [1] 12.22/4.86 [1] 12.22/4.86 12.22/4.86 [c_5](x1) = [2] 12.22/4.86 [2] 12.22/4.86 12.22/4.86 The order satisfies the following ordering constraints: 12.22/4.86 12.22/4.86 [h(d())] = [2] 12.22/4.86 [0] 12.22/4.86 > [0] 12.22/4.86 [0] 12.22/4.86 = [c(a())] 12.22/4.86 12.22/4.86 [h(d())] = [2] 12.22/4.86 [0] 12.22/4.86 > [0] 12.22/4.86 [0] 12.22/4.86 = [c(b())] 12.22/4.86 12.22/4.86 [g^#(X)] = [2 1] X + [1] 12.22/4.86 [1 1] [1] 12.22/4.86 ? [0 0] X + [7] 12.22/4.86 [1 1] [6] 12.22/4.86 = [c_1(u^#(h(X), h(X), X))] 12.22/4.86 12.22/4.86 [u^#(d(), c(Y), X)] = [0 0] X + [1] 12.22/4.86 [1 1] [2] 12.22/4.86 >= [1] 12.22/4.86 [1] 12.22/4.86 = [c_2()] 12.22/4.86 12.22/4.86 [h^#(d())] = [2] 12.22/4.86 [2] 12.22/4.86 > [1] 12.22/4.86 [1] 12.22/4.86 = [c_3()] 12.22/4.86 12.22/4.86 [h^#(d())] = [2] 12.22/4.86 [2] 12.22/4.86 > [1] 12.22/4.86 [2] 12.22/4.86 = [c_4()] 12.22/4.86 12.22/4.86 [f^#(k(a()), k(b()), X)] = [1] 12.22/4.86 [1] 12.22/4.86 ? [2] 12.22/4.86 [2] 12.22/4.86 = [c_5(f^#(X, X, X))] 12.22/4.86 12.22/4.86 12.22/4.86 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Strict DPs: 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 Weak DPs: 12.22/4.86 { h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() } 12.22/4.86 Weak Trs: 12.22/4.86 { h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 We estimate the number of application of {1,2,3} by applications of 12.22/4.86 Pre({1,2,3}) = {}. Here rules are labeled as follows: 12.22/4.86 12.22/4.86 DPs: 12.22/4.86 { 1: g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , 2: u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , 3: f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) 12.22/4.86 , 4: h^#(d()) -> c_3() 12.22/4.86 , 5: h^#(d()) -> c_4() } 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Weak DPs: 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 Weak Trs: 12.22/4.86 { h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 The following weak DPs constitute a sub-graph of the DG that is 12.22/4.86 closed under successors. The DPs are removed. 12.22/4.86 12.22/4.86 { g^#(X) -> c_1(u^#(h(X), h(X), X)) 12.22/4.86 , u^#(d(), c(Y), X) -> c_2() 12.22/4.86 , h^#(d()) -> c_3() 12.22/4.86 , h^#(d()) -> c_4() 12.22/4.86 , f^#(k(a()), k(b()), X) -> c_5(f^#(X, X, X)) } 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Weak Trs: 12.22/4.86 { h(d()) -> c(a()) 12.22/4.86 , h(d()) -> c(b()) } 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 No rule is usable, rules are removed from the input problem. 12.22/4.86 12.22/4.86 We are left with following problem, upon which TcT provides the 12.22/4.86 certificate YES(O(1),O(1)). 12.22/4.86 12.22/4.86 Rules: Empty 12.22/4.86 Obligation: 12.22/4.86 innermost runtime complexity 12.22/4.86 Answer: 12.22/4.86 YES(O(1),O(1)) 12.22/4.86 12.22/4.86 Empty rules are trivially bounded 12.22/4.86 12.22/4.86 Hurray, we answered YES(O(1),O(1)) 12.22/4.86 EOF