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