YES(O(1),O(n^2)) 162.50/60.05 YES(O(1),O(n^2)) 162.50/60.05 162.50/60.05 We are left with following problem, upon which TcT provides the 162.50/60.05 certificate YES(O(1),O(n^2)). 162.50/60.05 162.50/60.05 Strict Trs: 162.50/60.05 { f(a, empty()) -> g(a, empty()) 162.50/60.05 , f(a, cons(x, k)) -> f(cons(x, a), k) 162.50/60.05 , g(empty(), d) -> d 162.50/60.05 , g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 Obligation: 162.50/60.05 derivational complexity 162.50/60.05 Answer: 162.50/60.05 YES(O(1),O(n^2)) 162.50/60.05 162.50/60.05 The weightgap principle applies (using the following nonconstant 162.50/60.05 growth matrix-interpretation) 162.50/60.05 162.50/60.05 TcT has computed the following triangular matrix interpretation. 162.50/60.05 Note that the diagonal of the component-wise maxima of 162.50/60.05 interpretation-entries contains no more than 1 non-zero entries. 162.50/60.05 162.50/60.05 [f](x1, x2) = [1] x1 + [1] x2 + [0] 162.50/60.05 162.50/60.05 [empty] = [0] 162.50/60.05 162.50/60.05 [g](x1, x2) = [1] x1 + [1] x2 + [1] 162.50/60.05 162.50/60.05 [cons](x1, x2) = [1] x1 + [1] x2 + [0] 162.50/60.05 162.50/60.05 The order satisfies the following ordering constraints: 162.50/60.05 162.50/60.05 [f(a, empty())] = [1] a + [0] 162.50/60.05 ? [1] a + [1] 162.50/60.05 = [g(a, empty())] 162.50/60.05 162.50/60.05 [f(a, cons(x, k))] = [1] a + [1] x + [1] k + [0] 162.50/60.05 >= [1] a + [1] x + [1] k + [0] 162.50/60.05 = [f(cons(x, a), k)] 162.50/60.05 162.50/60.05 [g(empty(), d)] = [1] d + [1] 162.50/60.05 > [1] d + [0] 162.50/60.05 = [d] 162.50/60.05 162.50/60.05 [g(cons(x, k), d)] = [1] x + [1] k + [1] d + [1] 162.50/60.05 >= [1] x + [1] k + [1] d + [1] 162.50/60.05 = [g(k, cons(x, d))] 162.50/60.05 162.50/60.05 162.50/60.05 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 162.50/60.05 162.50/60.05 We are left with following problem, upon which TcT provides the 162.50/60.05 certificate YES(O(1),O(n^2)). 162.50/60.05 162.50/60.05 Strict Trs: 162.50/60.05 { f(a, empty()) -> g(a, empty()) 162.50/60.05 , f(a, cons(x, k)) -> f(cons(x, a), k) 162.50/60.05 , g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 Weak Trs: { g(empty(), d) -> d } 162.50/60.05 Obligation: 162.50/60.05 derivational complexity 162.50/60.05 Answer: 162.50/60.05 YES(O(1),O(n^2)) 162.50/60.05 162.50/60.05 We use the processor 'matrix interpretation of dimension 1' to 162.50/60.05 orient following rules strictly. 162.50/60.05 162.50/60.05 Trs: { f(a, empty()) -> g(a, empty()) } 162.50/60.05 162.50/60.05 The induced complexity on above rules (modulo remaining rules) is 162.50/60.05 YES(?,O(n^1)) . These rules are moved into the corresponding weak 162.50/60.05 component(s). 162.50/60.05 162.50/60.05 Sub-proof: 162.50/60.05 ---------- 162.50/60.05 TcT has computed the following triangular matrix interpretation. 162.50/60.05 162.50/60.05 [f](x1, x2) = [1] x1 + [1] x2 + [2] 162.50/60.05 162.50/60.05 [empty] = [2] 162.50/60.05 162.50/60.05 [g](x1, x2) = [1] x1 + [1] x2 + [1] 162.50/60.05 162.50/60.05 [cons](x1, x2) = [1] x1 + [1] x2 + [2] 162.50/60.05 162.50/60.05 The order satisfies the following ordering constraints: 162.50/60.05 162.50/60.05 [f(a, empty())] = [1] a + [4] 162.50/60.05 > [1] a + [3] 162.50/60.05 = [g(a, empty())] 162.50/60.05 162.50/60.05 [f(a, cons(x, k))] = [1] a + [1] x + [1] k + [4] 162.50/60.05 >= [1] a + [1] x + [1] k + [4] 162.50/60.05 = [f(cons(x, a), k)] 162.50/60.05 162.50/60.05 [g(empty(), d)] = [1] d + [3] 162.50/60.05 > [1] d + [0] 162.50/60.05 = [d] 162.50/60.05 162.50/60.05 [g(cons(x, k), d)] = [1] x + [1] k + [1] d + [3] 162.50/60.05 >= [1] x + [1] k + [1] d + [3] 162.50/60.05 = [g(k, cons(x, d))] 162.50/60.05 162.50/60.05 162.50/60.05 We return to the main proof. 162.50/60.05 162.50/60.05 We are left with following problem, upon which TcT provides the 162.50/60.05 certificate YES(O(1),O(n^2)). 162.50/60.05 162.50/60.05 Strict Trs: 162.50/60.05 { f(a, cons(x, k)) -> f(cons(x, a), k) 162.50/60.05 , g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 Weak Trs: 162.50/60.05 { f(a, empty()) -> g(a, empty()) 162.50/60.05 , g(empty(), d) -> d } 162.50/60.05 Obligation: 162.50/60.05 derivational complexity 162.50/60.05 Answer: 162.50/60.05 YES(O(1),O(n^2)) 162.50/60.05 162.50/60.05 We use the processor 'matrix interpretation of dimension 2' to 162.50/60.05 orient following rules strictly. 162.50/60.05 162.50/60.05 Trs: { f(a, cons(x, k)) -> f(cons(x, a), k) } 162.50/60.05 162.50/60.05 The induced complexity on above rules (modulo remaining rules) is 162.50/60.05 YES(?,O(n^2)) . These rules are moved into the corresponding weak 162.50/60.05 component(s). 162.50/60.05 162.50/60.05 Sub-proof: 162.50/60.05 ---------- 162.50/60.05 TcT has computed the following triangular matrix interpretation. 162.50/60.05 162.50/60.05 [f](x1, x2) = [1 0] x1 + [1 1] x2 + [0] 162.50/60.05 [0 1] [0 1] [0] 162.50/60.05 162.50/60.05 [empty] = [0] 162.50/60.05 [0] 162.50/60.05 162.50/60.05 [g](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 162.50/60.05 [0 1] [0 1] [0] 162.50/60.05 162.50/60.05 [cons](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 162.50/60.05 [0 0] [0 1] [1] 162.50/60.05 162.50/60.05 The order satisfies the following ordering constraints: 162.50/60.05 162.50/60.05 [f(a, empty())] = [1 0] a + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 >= [1 0] a + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 = [g(a, empty())] 162.50/60.05 162.50/60.05 [f(a, cons(x, k))] = [1 0] a + [1 0] x + [1 1] k + [1] 162.50/60.05 [0 1] [0 0] [0 1] [1] 162.50/60.05 > [1 0] a + [1 0] x + [1 1] k + [0] 162.50/60.05 [0 1] [0 0] [0 1] [1] 162.50/60.05 = [f(cons(x, a), k)] 162.50/60.05 162.50/60.05 [g(empty(), d)] = [1 0] d + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 >= [1 0] d + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 = [d] 162.50/60.05 162.50/60.05 [g(cons(x, k), d)] = [1 0] x + [1 0] k + [1 0] d + [0] 162.50/60.05 [0 0] [0 1] [0 1] [1] 162.50/60.05 >= [1 0] x + [1 0] k + [1 0] d + [0] 162.50/60.05 [0 0] [0 1] [0 1] [1] 162.50/60.05 = [g(k, cons(x, d))] 162.50/60.05 162.50/60.05 162.50/60.05 We return to the main proof. 162.50/60.05 162.50/60.05 We are left with following problem, upon which TcT provides the 162.50/60.05 certificate YES(O(1),O(n^2)). 162.50/60.05 162.50/60.05 Strict Trs: { g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 Weak Trs: 162.50/60.05 { f(a, empty()) -> g(a, empty()) 162.50/60.05 , f(a, cons(x, k)) -> f(cons(x, a), k) 162.50/60.05 , g(empty(), d) -> d } 162.50/60.05 Obligation: 162.50/60.05 derivational complexity 162.50/60.05 Answer: 162.50/60.05 YES(O(1),O(n^2)) 162.50/60.05 162.50/60.05 We use the processor 'matrix interpretation of dimension 2' to 162.50/60.05 orient following rules strictly. 162.50/60.05 162.50/60.05 Trs: { g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 162.50/60.05 The induced complexity on above rules (modulo remaining rules) is 162.50/60.05 YES(?,O(n^2)) . These rules are moved into the corresponding weak 162.50/60.05 component(s). 162.50/60.05 162.50/60.05 Sub-proof: 162.50/60.05 ---------- 162.50/60.05 TcT has computed the following triangular matrix interpretation. 162.50/60.05 162.50/60.05 [f](x1, x2) = [1 1] x1 + [1 1] x2 + [0] 162.50/60.05 [0 1] [0 1] [0] 162.50/60.05 162.50/60.05 [empty] = [0] 162.50/60.05 [0] 162.50/60.05 162.50/60.05 [g](x1, x2) = [1 1] x1 + [1 0] x2 + [0] 162.50/60.05 [0 1] [0 1] [0] 162.50/60.05 162.50/60.05 [cons](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 162.50/60.05 [0 0] [0 1] [1] 162.50/60.05 162.50/60.05 The order satisfies the following ordering constraints: 162.50/60.05 162.50/60.05 [f(a, empty())] = [1 1] a + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 >= [1 1] a + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 = [g(a, empty())] 162.50/60.05 162.50/60.05 [f(a, cons(x, k))] = [1 1] a + [1 0] x + [1 1] k + [1] 162.50/60.05 [0 1] [0 0] [0 1] [1] 162.50/60.05 >= [1 1] a + [1 0] x + [1 1] k + [1] 162.50/60.05 [0 1] [0 0] [0 1] [1] 162.50/60.05 = [f(cons(x, a), k)] 162.50/60.05 162.50/60.05 [g(empty(), d)] = [1 0] d + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 >= [1 0] d + [0] 162.50/60.05 [0 1] [0] 162.50/60.05 = [d] 162.50/60.05 162.50/60.05 [g(cons(x, k), d)] = [1 0] x + [1 1] k + [1 0] d + [1] 162.50/60.05 [0 0] [0 1] [0 1] [1] 162.50/60.05 > [1 0] x + [1 1] k + [1 0] d + [0] 162.50/60.05 [0 0] [0 1] [0 1] [1] 162.50/60.05 = [g(k, cons(x, d))] 162.50/60.05 162.50/60.05 162.50/60.05 We return to the main proof. 162.50/60.05 162.50/60.05 We are left with following problem, upon which TcT provides the 162.50/60.05 certificate YES(O(1),O(1)). 162.50/60.05 162.50/60.05 Weak Trs: 162.50/60.05 { f(a, empty()) -> g(a, empty()) 162.50/60.05 , f(a, cons(x, k)) -> f(cons(x, a), k) 162.50/60.05 , g(empty(), d) -> d 162.50/60.05 , g(cons(x, k), d) -> g(k, cons(x, d)) } 162.50/60.05 Obligation: 162.50/60.05 derivational complexity 162.50/60.05 Answer: 162.50/60.05 YES(O(1),O(1)) 162.50/60.05 162.50/60.05 Empty rules are trivially bounded 162.50/60.05 162.50/60.05 Hurray, we answered YES(O(1),O(n^2)) 162.50/60.05 EOF