YES(?,O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { not(tt()) -> ff() , not(ff()) -> tt() , or(tt(), x) -> tt() , or(ff(), x) -> x , eq(0(), 0()) -> tt() , eq(0(), s(y)) -> ff() , eq(s(x), 0()) -> ff() , eq(s(x), s(y)) -> eq(x, y) , main(phi) -> ver(phi, nil()) , ver(Var(x), t()) -> in(x, t()) , ver(Or(phi, psi), t()) -> or(ver(phi, t()), ver(psi, t())) , ver(Not(phi), t()) -> not(ver(phi, t())) , ver(Exists(n, phi), t()) -> or(ver(phi, cons(n, t())), ver(phi, t())) , in(x, nil()) -> ff() , in(x, cons(a, l)) -> or(eq(x, a), in(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) We add following dependency tuples: Strict DPs: { not^#(tt()) -> c_1() , not^#(ff()) -> c_2() , or^#(tt(), x) -> c_3() , or^#(ff(), x) -> c_4() , eq^#(0(), 0()) -> c_5() , eq^#(0(), s(y)) -> c_6() , eq^#(s(x), 0()) -> c_7() , eq^#(s(x), s(y)) -> c_8(eq^#(x, y)) , main^#(phi) -> c_9(ver^#(phi, nil())) , ver^#(Var(x), t()) -> c_10(in^#(x, t())) , ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , in^#(x, nil()) -> c_14() , in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict DPs: { not^#(tt()) -> c_1() , not^#(ff()) -> c_2() , or^#(tt(), x) -> c_3() , or^#(ff(), x) -> c_4() , eq^#(0(), 0()) -> c_5() , eq^#(0(), s(y)) -> c_6() , eq^#(s(x), 0()) -> c_7() , eq^#(s(x), s(y)) -> c_8(eq^#(x, y)) , main^#(phi) -> c_9(ver^#(phi, nil())) , ver^#(Var(x), t()) -> c_10(in^#(x, t())) , ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , in^#(x, nil()) -> c_14() , in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } Weak Trs: { not(tt()) -> ff() , not(ff()) -> tt() , or(tt(), x) -> tt() , or(ff(), x) -> x , eq(0(), 0()) -> tt() , eq(0(), s(y)) -> ff() , eq(s(x), 0()) -> ff() , eq(s(x), s(y)) -> eq(x, y) , main(phi) -> ver(phi, nil()) , ver(Var(x), t()) -> in(x, t()) , ver(Or(phi, psi), t()) -> or(ver(phi, t()), ver(psi, t())) , ver(Not(phi), t()) -> not(ver(phi, t())) , ver(Exists(n, phi), t()) -> or(ver(phi, cons(n, t())), ver(phi, t())) , in(x, nil()) -> ff() , in(x, cons(a, l)) -> or(eq(x, a), in(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) We estimate the number of application of {1,2,3,4,5,6,7,9,10,14} by applications of Pre({1,2,3,4,5,6,7,9,10,14}) = {8,11,12,13,15}. Here rules are labeled as follows: DPs: { 1: not^#(tt()) -> c_1() , 2: not^#(ff()) -> c_2() , 3: or^#(tt(), x) -> c_3() , 4: or^#(ff(), x) -> c_4() , 5: eq^#(0(), 0()) -> c_5() , 6: eq^#(0(), s(y)) -> c_6() , 7: eq^#(s(x), 0()) -> c_7() , 8: eq^#(s(x), s(y)) -> c_8(eq^#(x, y)) , 9: main^#(phi) -> c_9(ver^#(phi, nil())) , 10: ver^#(Var(x), t()) -> c_10(in^#(x, t())) , 11: ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , 12: ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , 13: ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , 14: in^#(x, nil()) -> c_14() , 15: in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict DPs: { eq^#(s(x), s(y)) -> c_8(eq^#(x, y)) , ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } Weak DPs: { not^#(tt()) -> c_1() , not^#(ff()) -> c_2() , or^#(tt(), x) -> c_3() , or^#(ff(), x) -> c_4() , eq^#(0(), 0()) -> c_5() , eq^#(0(), s(y)) -> c_6() , eq^#(s(x), 0()) -> c_7() , main^#(phi) -> c_9(ver^#(phi, nil())) , ver^#(Var(x), t()) -> c_10(in^#(x, t())) , in^#(x, nil()) -> c_14() } Weak Trs: { not(tt()) -> ff() , not(ff()) -> tt() , or(tt(), x) -> tt() , or(ff(), x) -> x , eq(0(), 0()) -> tt() , eq(0(), s(y)) -> ff() , eq(s(x), 0()) -> ff() , eq(s(x), s(y)) -> eq(x, y) , main(phi) -> ver(phi, nil()) , ver(Var(x), t()) -> in(x, t()) , ver(Or(phi, psi), t()) -> or(ver(phi, t()), ver(psi, t())) , ver(Not(phi), t()) -> not(ver(phi, t())) , ver(Exists(n, phi), t()) -> or(ver(phi, cons(n, t())), ver(phi, t())) , in(x, nil()) -> ff() , in(x, cons(a, l)) -> or(eq(x, a), in(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. { not^#(tt()) -> c_1() , not^#(ff()) -> c_2() , or^#(tt(), x) -> c_3() , or^#(ff(), x) -> c_4() , eq^#(0(), 0()) -> c_5() , eq^#(0(), s(y)) -> c_6() , eq^#(s(x), 0()) -> c_7() , main^#(phi) -> c_9(ver^#(phi, nil())) , ver^#(Var(x), t()) -> c_10(in^#(x, t())) , in^#(x, nil()) -> c_14() } We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict DPs: { eq^#(s(x), s(y)) -> c_8(eq^#(x, y)) , ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } Weak Trs: { not(tt()) -> ff() , not(ff()) -> tt() , or(tt(), x) -> tt() , or(ff(), x) -> x , eq(0(), 0()) -> tt() , eq(0(), s(y)) -> ff() , eq(s(x), 0()) -> ff() , eq(s(x), s(y)) -> eq(x, y) , main(phi) -> ver(phi, nil()) , ver(Var(x), t()) -> in(x, t()) , ver(Or(phi, psi), t()) -> or(ver(phi, t()), ver(psi, t())) , ver(Not(phi), t()) -> not(ver(phi, t())) , ver(Exists(n, phi), t()) -> or(ver(phi, cons(n, t())), ver(phi, t())) , in(x, nil()) -> ff() , in(x, cons(a, l)) -> or(eq(x, a), in(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { ver^#(Or(phi, psi), t()) -> c_11(or^#(ver(phi, t()), ver(psi, t())), ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_12(not^#(ver(phi, t())), ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_13(or^#(ver(phi, cons(n, t())), ver(phi, t())), ver^#(phi, cons(n, t())), ver^#(phi, t())) , in^#(x, cons(a, l)) -> c_15(or^#(eq(x, a), in(x, l)), eq^#(x, a), in^#(x, l)) } We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict DPs: { eq^#(s(x), s(y)) -> c_1(eq^#(x, y)) , ver^#(Or(phi, psi), t()) -> c_2(ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_3(ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_4(ver^#(phi, t())) , in^#(x, cons(a, l)) -> c_5(eq^#(x, a), in^#(x, l)) } Weak Trs: { not(tt()) -> ff() , not(ff()) -> tt() , or(tt(), x) -> tt() , or(ff(), x) -> x , eq(0(), 0()) -> tt() , eq(0(), s(y)) -> ff() , eq(s(x), 0()) -> ff() , eq(s(x), s(y)) -> eq(x, y) , main(phi) -> ver(phi, nil()) , ver(Var(x), t()) -> in(x, t()) , ver(Or(phi, psi), t()) -> or(ver(phi, t()), ver(psi, t())) , ver(Not(phi), t()) -> not(ver(phi, t())) , ver(Exists(n, phi), t()) -> or(ver(phi, cons(n, t())), ver(phi, t())) , in(x, nil()) -> ff() , in(x, cons(a, l)) -> or(eq(x, a), in(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,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(n^1)). Strict DPs: { eq^#(s(x), s(y)) -> c_1(eq^#(x, y)) , ver^#(Or(phi, psi), t()) -> c_2(ver^#(phi, t()), ver^#(psi, t())) , ver^#(Not(phi), t()) -> c_3(ver^#(phi, t())) , ver^#(Exists(n, phi), t()) -> c_4(ver^#(phi, t())) , in^#(x, cons(a, l)) -> c_5(eq^#(x, a), in^#(x, l)) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The following argument positions are usable: Uargs(c_1) = {1}, Uargs(c_2) = {1, 2}, Uargs(c_3) = {1}, Uargs(c_4) = {1}, Uargs(c_5) = {1, 2} TcT has computed following constructor-based matrix interpretation satisfying not(EDA). [s](x1) = [1] x1 + [1] [cons](x1, x2) = [1] x1 + [1] x2 + [1] [t] = [0] [Or](x1, x2) = [1] x1 + [1] x2 + [2] [Not](x1) = [1] x1 + [2] [Exists](x1, x2) = [1] x1 + [1] x2 + [2] [eq^#](x1, x2) = [1] x2 + [0] [ver^#](x1, x2) = [2] x1 + [0] [in^#](x1, x2) = [3] x1 + [2] x2 + [0] [c_1](x1) = [1] x1 + [0] [c_2](x1, x2) = [1] x1 + [1] x2 + [3] [c_3](x1) = [1] x1 + [3] [c_4](x1) = [1] x1 + [3] [c_5](x1, x2) = [2] x1 + [1] x2 + [1] This order satisfies following ordering constraints: [eq^#(s(x), s(y))] = [1] y + [1] > [1] y + [0] = [c_1(eq^#(x, y))] [ver^#(Or(phi, psi), t())] = [2] phi + [2] psi + [4] > [2] phi + [2] psi + [3] = [c_2(ver^#(phi, t()), ver^#(psi, t()))] [ver^#(Not(phi), t())] = [2] phi + [4] > [2] phi + [3] = [c_3(ver^#(phi, t()))] [ver^#(Exists(n, phi), t())] = [2] phi + [2] n + [4] > [2] phi + [3] = [c_4(ver^#(phi, t()))] [in^#(x, cons(a, l))] = [3] x + [2] a + [2] l + [2] > [3] x + [2] a + [2] l + [1] = [c_5(eq^#(x, a), in^#(x, l))] Hurray, we answered YES(?,O(n^1))