YES(O(1),O(n^1)) 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 The input is overlay and right-linear. Switching to innermost 77.56/24.05 rewriting. 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 We add the following dependency tuples: 77.56/24.05 77.56/24.05 Strict DPs: 77.56/24.05 { a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , a__f^#(X1, X2) -> c_2() 77.56/24.05 , a__b^#() -> c_3() 77.56/24.05 , a__b^#() -> c_4() 77.56/24.05 , mark^#(a()) -> c_5() 77.56/24.05 , mark^#(b()) -> c_6(a__b^#()) 77.56/24.05 , mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 77.56/24.05 and mark the set of starting terms. 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: 77.56/24.05 { a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , a__f^#(X1, X2) -> c_2() 77.56/24.05 , a__b^#() -> c_3() 77.56/24.05 , a__b^#() -> c_4() 77.56/24.05 , mark^#(a()) -> c_5() 77.56/24.05 , mark^#(b()) -> c_6(a__b^#()) 77.56/24.05 , mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 Weak Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 We estimate the number of application of {2,3,4,5} by applications 77.56/24.05 of Pre({2,3,4,5}) = {1,6,7}. Here rules are labeled as follows: 77.56/24.05 77.56/24.05 DPs: 77.56/24.05 { 1: a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , 2: a__f^#(X1, X2) -> c_2() 77.56/24.05 , 3: a__b^#() -> c_3() 77.56/24.05 , 4: a__b^#() -> c_4() 77.56/24.05 , 5: mark^#(a()) -> c_5() 77.56/24.05 , 6: mark^#(b()) -> c_6(a__b^#()) 77.56/24.05 , 7: mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: 77.56/24.05 { a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , mark^#(b()) -> c_6(a__b^#()) 77.56/24.05 , mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 Weak DPs: 77.56/24.05 { a__f^#(X1, X2) -> c_2() 77.56/24.05 , a__b^#() -> c_3() 77.56/24.05 , a__b^#() -> c_4() 77.56/24.05 , mark^#(a()) -> c_5() } 77.56/24.05 Weak Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 We estimate the number of application of {1,2} by applications of 77.56/24.05 Pre({1,2}) = {3}. Here rules are labeled as follows: 77.56/24.05 77.56/24.05 DPs: 77.56/24.05 { 1: a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , 2: mark^#(b()) -> c_6(a__b^#()) 77.56/24.05 , 3: mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) 77.56/24.05 , 4: a__f^#(X1, X2) -> c_2() 77.56/24.05 , 5: a__b^#() -> c_3() 77.56/24.05 , 6: a__b^#() -> c_4() 77.56/24.05 , 7: mark^#(a()) -> c_5() } 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: 77.56/24.05 { mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 Weak DPs: 77.56/24.05 { a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , a__f^#(X1, X2) -> c_2() 77.56/24.05 , a__b^#() -> c_3() 77.56/24.05 , a__b^#() -> c_4() 77.56/24.05 , mark^#(a()) -> c_5() 77.56/24.05 , mark^#(b()) -> c_6(a__b^#()) } 77.56/24.05 Weak Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 The following weak DPs constitute a sub-graph of the DG that is 77.56/24.05 closed under successors. The DPs are removed. 77.56/24.05 77.56/24.05 { a__f^#(X, X) -> c_1(a__f^#(a(), b())) 77.56/24.05 , a__f^#(X1, X2) -> c_2() 77.56/24.05 , a__b^#() -> c_3() 77.56/24.05 , a__b^#() -> c_4() 77.56/24.05 , mark^#(a()) -> c_5() 77.56/24.05 , mark^#(b()) -> c_6(a__b^#()) } 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: 77.56/24.05 { mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 Weak Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 Due to missing edges in the dependency-graph, the right-hand sides 77.56/24.05 of following rules could be simplified: 77.56/24.05 77.56/24.05 { mark^#(f(X1, X2)) -> c_7(a__f^#(mark(X1), X2), mark^#(X1)) } 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: { mark^#(f(X1, X2)) -> c_1(mark^#(X1)) } 77.56/24.05 Weak Trs: 77.56/24.05 { a__f(X, X) -> a__f(a(), b()) 77.56/24.05 , a__f(X1, X2) -> f(X1, X2) 77.56/24.05 , a__b() -> a() 77.56/24.05 , a__b() -> b() 77.56/24.05 , mark(a()) -> a() 77.56/24.05 , mark(b()) -> a__b() 77.56/24.05 , mark(f(X1, X2)) -> a__f(mark(X1), X2) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 No rule is usable, rules are removed from the input problem. 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(n^1)). 77.56/24.05 77.56/24.05 Strict DPs: { mark^#(f(X1, X2)) -> c_1(mark^#(X1)) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(n^1)) 77.56/24.05 77.56/24.05 We use the processor 'Small Polynomial Path Order (PS,1-bounded)' 77.56/24.05 to orient following rules strictly. 77.56/24.05 77.56/24.05 DPs: 77.56/24.05 { 1: mark^#(f(X1, X2)) -> c_1(mark^#(X1)) } 77.56/24.05 77.56/24.05 Sub-proof: 77.56/24.05 ---------- 77.56/24.05 The input was oriented with the instance of 'Small Polynomial Path 77.56/24.05 Order (PS,1-bounded)' as induced by the safe mapping 77.56/24.05 77.56/24.05 safe(f) = {1, 2}, safe(mark^#) = {}, safe(c_1) = {} 77.56/24.05 77.56/24.05 and precedence 77.56/24.05 77.56/24.05 empty . 77.56/24.05 77.56/24.05 Following symbols are considered recursive: 77.56/24.05 77.56/24.05 {mark^#} 77.56/24.05 77.56/24.05 The recursion depth is 1. 77.56/24.05 77.56/24.05 Further, following argument filtering is employed: 77.56/24.05 77.56/24.05 pi(f) = [1, 2], pi(mark^#) = [1], pi(c_1) = [1] 77.56/24.05 77.56/24.05 Usable defined function symbols are a subset of: 77.56/24.05 77.56/24.05 {mark^#} 77.56/24.05 77.56/24.05 For your convenience, here are the satisfied ordering constraints: 77.56/24.05 77.56/24.05 pi(mark^#(f(X1, X2))) = mark^#(f(; X1, X2);) 77.56/24.05 > c_1(mark^#(X1;);) 77.56/24.05 = pi(c_1(mark^#(X1))) 77.56/24.05 77.56/24.05 77.56/24.05 The strictly oriented rules are moved into the weak component. 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(1)). 77.56/24.05 77.56/24.05 Weak DPs: { mark^#(f(X1, X2)) -> c_1(mark^#(X1)) } 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(1)) 77.56/24.05 77.56/24.05 The following weak DPs constitute a sub-graph of the DG that is 77.56/24.05 closed under successors. The DPs are removed. 77.56/24.05 77.56/24.05 { mark^#(f(X1, X2)) -> c_1(mark^#(X1)) } 77.56/24.05 77.56/24.05 We are left with following problem, upon which TcT provides the 77.56/24.05 certificate YES(O(1),O(1)). 77.56/24.05 77.56/24.05 Rules: Empty 77.56/24.05 Obligation: 77.56/24.05 innermost runtime complexity 77.56/24.05 Answer: 77.56/24.05 YES(O(1),O(1)) 77.56/24.05 77.56/24.05 Empty rules are trivially bounded 77.56/24.05 77.56/24.05 Hurray, we answered YES(O(1),O(n^1)) 77.56/24.05 EOF