YES(O(1),O(n^1)) 56.35/24.04 YES(O(1),O(n^1)) 56.35/24.04 56.35/24.04 We are left with following problem, upon which TcT provides the 56.35/24.04 certificate YES(O(1),O(n^1)). 56.35/24.04 56.35/24.04 Strict Trs: 56.35/24.04 { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N)) 56.35/24.04 , U12(tt(), M, N) -> s(plus(activate(N), activate(M))) 56.35/24.04 , activate(X) -> X 56.35/24.04 , plus(N, s(M)) -> U11(tt(), M, N) 56.35/24.04 , plus(N, 0()) -> N } 56.35/24.04 Obligation: 56.35/24.04 innermost runtime complexity 56.35/24.04 Answer: 56.35/24.04 YES(O(1),O(n^1)) 56.35/24.04 56.35/24.04 The weightgap principle applies (using the following nonconstant 56.35/24.04 growth matrix-interpretation) 56.35/24.04 56.35/24.04 The following argument positions are usable: 56.35/24.04 Uargs(U12) = {2, 3}, Uargs(s) = {1}, Uargs(plus) = {1, 2} 56.35/24.04 56.35/24.04 TcT has computed the following matrix interpretation satisfying 56.35/24.04 not(EDA) and not(IDA(1)). 56.35/24.04 56.35/24.04 [U11](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [7] 56.35/24.04 56.35/24.04 [tt] = [7] 56.35/24.04 56.35/24.04 [U12](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [1] 56.35/24.04 56.35/24.04 [activate](x1) = [1] x1 + [3] 56.35/24.04 56.35/24.04 [s](x1) = [1] x1 + [2] 56.35/24.04 56.35/24.04 [plus](x1, x2) = [1] x1 + [1] x2 + [7] 56.35/24.04 56.35/24.04 [0] = [7] 56.35/24.04 56.35/24.04 The order satisfies the following ordering constraints: 56.35/24.04 56.35/24.04 [U11(tt(), M, N)] = [1] M + [1] N + [14] 56.35/24.04 >= [1] M + [1] N + [14] 56.35/24.04 = [U12(tt(), activate(M), activate(N))] 56.35/24.04 56.35/24.04 [U12(tt(), M, N)] = [1] M + [1] N + [8] 56.35/24.04 ? [1] M + [1] N + [15] 56.35/24.04 = [s(plus(activate(N), activate(M)))] 56.35/24.04 56.35/24.04 [activate(X)] = [1] X + [3] 56.35/24.04 > [1] X + [0] 56.35/24.04 = [X] 56.35/24.04 56.35/24.04 [plus(N, s(M))] = [1] M + [1] N + [9] 56.35/24.04 ? [1] M + [1] N + [14] 56.35/24.04 = [U11(tt(), M, N)] 56.35/24.04 56.35/24.04 [plus(N, 0())] = [1] N + [14] 56.35/24.04 > [1] N + [0] 56.35/24.04 = [N] 56.35/24.04 56.35/24.04 56.35/24.04 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 56.35/24.04 56.35/24.04 We are left with following problem, upon which TcT provides the 56.35/24.04 certificate YES(O(1),O(n^1)). 56.35/24.04 56.35/24.04 Strict Trs: 56.35/24.04 { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N)) 56.35/24.04 , U12(tt(), M, N) -> s(plus(activate(N), activate(M))) 56.35/24.04 , plus(N, s(M)) -> U11(tt(), M, N) } 56.35/24.04 Weak Trs: 56.35/24.04 { activate(X) -> X 56.35/24.04 , plus(N, 0()) -> N } 56.35/24.04 Obligation: 56.35/24.04 innermost runtime complexity 56.35/24.04 Answer: 56.35/24.04 YES(O(1),O(n^1)) 56.35/24.04 56.35/24.04 The weightgap principle applies (using the following nonconstant 56.35/24.04 growth matrix-interpretation) 56.35/24.04 56.35/24.04 The following argument positions are usable: 56.35/24.04 Uargs(U12) = {2, 3}, Uargs(s) = {1}, Uargs(plus) = {1, 2} 56.35/24.04 56.35/24.04 TcT has computed the following matrix interpretation satisfying 56.35/24.04 not(EDA) and not(IDA(1)). 56.35/24.04 56.35/24.04 [U11](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [4] 56.35/24.04 56.35/24.04 [tt] = [4] 56.35/24.04 56.35/24.04 [U12](x1, x2, x3) = [1] x2 + [1] x3 + [0] 56.35/24.04 56.35/24.04 [activate](x1) = [1] x1 + [0] 56.35/24.04 56.35/24.04 [s](x1) = [1] x1 + [0] 56.35/24.04 56.35/24.04 [plus](x1, x2) = [1] x1 + [1] x2 + [0] 56.35/24.04 56.35/24.04 [0] = [7] 56.35/24.04 56.35/24.04 The order satisfies the following ordering constraints: 56.35/24.04 56.35/24.04 [U11(tt(), M, N)] = [1] M + [1] N + [8] 56.35/24.04 > [1] M + [1] N + [0] 56.35/24.04 = [U12(tt(), activate(M), activate(N))] 56.35/24.04 56.35/24.04 [U12(tt(), M, N)] = [1] M + [1] N + [0] 56.35/24.04 >= [1] M + [1] N + [0] 56.35/24.04 = [s(plus(activate(N), activate(M)))] 56.35/24.04 56.35/24.04 [activate(X)] = [1] X + [0] 56.35/24.04 >= [1] X + [0] 56.35/24.04 = [X] 56.35/24.04 56.35/24.04 [plus(N, s(M))] = [1] M + [1] N + [0] 56.35/24.04 ? [1] M + [1] N + [8] 56.35/24.04 = [U11(tt(), M, N)] 56.35/24.04 56.35/24.04 [plus(N, 0())] = [1] N + [7] 56.35/24.04 > [1] N + [0] 56.35/24.04 = [N] 56.35/24.04 56.35/24.04 56.35/24.04 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 56.35/24.04 56.35/24.04 We are left with following problem, upon which TcT provides the 56.35/24.04 certificate YES(O(1),O(n^1)). 56.35/24.04 56.35/24.04 Strict Trs: 56.35/24.04 { U12(tt(), M, N) -> s(plus(activate(N), activate(M))) 56.35/24.04 , plus(N, s(M)) -> U11(tt(), M, N) } 56.35/24.04 Weak Trs: 56.35/24.04 { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N)) 56.35/24.04 , activate(X) -> X 56.35/24.04 , plus(N, 0()) -> N } 56.35/24.04 Obligation: 56.35/24.04 innermost runtime complexity 56.35/24.04 Answer: 56.35/24.04 YES(O(1),O(n^1)) 56.35/24.04 56.35/24.04 The weightgap principle applies (using the following nonconstant 56.35/24.04 growth matrix-interpretation) 56.35/24.04 56.35/24.04 The following argument positions are usable: 56.35/24.04 Uargs(U12) = {2, 3}, Uargs(s) = {1}, Uargs(plus) = {1, 2} 56.35/24.04 56.35/24.04 TcT has computed the following matrix interpretation satisfying 56.35/24.04 not(EDA) and not(IDA(1)). 56.35/24.04 56.35/24.04 [U11](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [0] 56.35/24.04 56.35/24.04 [tt] = [0] 56.35/24.04 56.35/24.04 [U12](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [0] 56.35/24.04 56.35/24.04 [activate](x1) = [1] x1 + [0] 56.35/24.04 56.35/24.04 [s](x1) = [1] x1 + [0] 56.35/24.04 56.35/24.04 [plus](x1, x2) = [1] x1 + [1] x2 + [1] 56.35/24.04 56.35/24.04 [0] = [7] 56.35/24.04 56.35/24.04 The order satisfies the following ordering constraints: 56.35/24.04 56.35/24.04 [U11(tt(), M, N)] = [1] M + [1] N + [0] 56.35/24.04 >= [1] M + [1] N + [0] 56.35/24.04 = [U12(tt(), activate(M), activate(N))] 56.35/24.04 56.35/24.04 [U12(tt(), M, N)] = [1] M + [1] N + [0] 56.35/24.04 ? [1] M + [1] N + [1] 56.35/24.04 = [s(plus(activate(N), activate(M)))] 56.35/24.04 56.35/24.04 [activate(X)] = [1] X + [0] 56.35/24.04 >= [1] X + [0] 56.35/24.04 = [X] 56.35/24.04 56.35/24.04 [plus(N, s(M))] = [1] M + [1] N + [1] 56.35/24.04 > [1] M + [1] N + [0] 56.35/24.04 = [U11(tt(), M, N)] 56.35/24.04 56.35/24.04 [plus(N, 0())] = [1] N + [8] 56.35/24.04 > [1] N + [0] 56.35/24.04 = [N] 56.35/24.04 56.35/24.04 56.35/24.04 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 56.35/24.04 56.35/24.04 We are left with following problem, upon which TcT provides the 56.35/24.04 certificate YES(O(1),O(n^1)). 56.35/24.04 56.35/24.04 Strict Trs: 56.35/24.04 { U12(tt(), M, N) -> s(plus(activate(N), activate(M))) } 56.35/24.04 Weak Trs: 56.35/24.04 { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N)) 56.35/24.04 , activate(X) -> X 56.35/24.04 , plus(N, s(M)) -> U11(tt(), M, N) 56.35/24.04 , plus(N, 0()) -> N } 56.35/24.04 Obligation: 56.35/24.04 innermost runtime complexity 56.35/24.04 Answer: 56.35/24.04 YES(O(1),O(n^1)) 56.35/24.04 56.35/24.04 We use the processor 'matrix interpretation of dimension 1' to 56.35/24.04 orient following rules strictly. 56.35/24.04 56.35/24.04 Trs: { U12(tt(), M, N) -> s(plus(activate(N), activate(M))) } 56.35/24.04 56.35/24.04 The induced complexity on above rules (modulo remaining rules) is 56.35/24.04 YES(?,O(n^1)) . These rules are moved into the corresponding weak 56.35/24.04 component(s). 56.35/24.04 56.35/24.04 Sub-proof: 56.35/24.04 ---------- 56.35/24.04 The following argument positions are usable: 56.35/24.04 Uargs(U12) = {2, 3}, Uargs(s) = {1}, Uargs(plus) = {1, 2} 56.35/24.04 56.35/24.04 TcT has computed the following constructor-based matrix 56.35/24.04 interpretation satisfying not(EDA). 56.35/24.04 56.35/24.04 [U11](x1, x2, x3) = [2] x1 + [2] x2 + [1] x3 + [0] 56.35/24.04 56.35/24.04 [tt] = [4] 56.35/24.04 56.35/24.04 [U12](x1, x2, x3) = [2] x1 + [2] x2 + [1] x3 + [0] 56.35/24.04 56.35/24.04 [activate](x1) = [1] x1 + [0] 56.35/24.04 56.35/24.04 [s](x1) = [1] x1 + [4] 56.35/24.04 56.35/24.04 [plus](x1, x2) = [1] x1 + [2] x2 + [0] 56.35/24.04 56.35/24.04 [0] = [4] 56.35/24.04 56.35/24.04 The order satisfies the following ordering constraints: 56.35/24.04 56.35/24.04 [U11(tt(), M, N)] = [2] M + [1] N + [8] 56.35/24.04 >= [2] M + [1] N + [8] 56.35/24.04 = [U12(tt(), activate(M), activate(N))] 56.35/24.04 56.35/24.04 [U12(tt(), M, N)] = [2] M + [1] N + [8] 56.35/24.04 > [2] M + [1] N + [4] 56.35/24.04 = [s(plus(activate(N), activate(M)))] 56.35/24.04 56.35/24.04 [activate(X)] = [1] X + [0] 56.35/24.04 >= [1] X + [0] 56.35/24.04 = [X] 56.35/24.04 56.35/24.04 [plus(N, s(M))] = [2] M + [1] N + [8] 56.35/24.04 >= [2] M + [1] N + [8] 56.35/24.04 = [U11(tt(), M, N)] 56.35/24.04 56.35/24.04 [plus(N, 0())] = [1] N + [8] 56.35/24.04 > [1] N + [0] 56.35/24.04 = [N] 56.35/24.04 56.35/24.04 56.35/24.04 We return to the main proof. 56.35/24.04 56.35/24.04 We are left with following problem, upon which TcT provides the 56.35/24.04 certificate YES(O(1),O(1)). 56.35/24.04 56.35/24.04 Weak Trs: 56.35/24.04 { U11(tt(), M, N) -> U12(tt(), activate(M), activate(N)) 56.35/24.04 , U12(tt(), M, N) -> s(plus(activate(N), activate(M))) 56.35/24.04 , activate(X) -> X 56.35/24.04 , plus(N, s(M)) -> U11(tt(), M, N) 56.35/24.04 , plus(N, 0()) -> N } 56.35/24.04 Obligation: 56.35/24.04 innermost runtime complexity 56.35/24.04 Answer: 56.35/24.04 YES(O(1),O(1)) 56.35/24.04 56.35/24.04 Empty rules are trivially bounded 56.35/24.04 56.35/24.04 Hurray, we answered YES(O(1),O(n^1)) 56.35/24.05 EOF