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