We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We add the following dependency tuples:
Strict DPs:
{ a__f^#(X1, X2, X3) -> c_1()
, a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, mark^#(b()) -> c_8(a__b^#())
, mark^#(c()) -> c_9()
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
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:
{ a__f^#(X1, X2, X3) -> c_1()
, a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, mark^#(b()) -> c_8(a__b^#())
, mark^#(c()) -> c_9()
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We estimate the number of application of {1,3,4,5,6,9} by
applications of Pre({1,3,4,5,6,9}) = {2,7,8,10}. Here rules are
labeled as follows:
DPs:
{ 1: a__f^#(X1, X2, X3) -> c_1()
, 2: a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, 3: a__g^#(X) -> c_3()
, 4: a__g^#(b()) -> c_4()
, 5: a__b^#() -> c_5()
, 6: a__b^#() -> c_6()
, 7: mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, 8: mark^#(b()) -> c_8(a__b^#())
, 9: mark^#(c()) -> c_9()
, 10: mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, mark^#(b()) -> c_8(a__b^#())
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
Weak DPs:
{ a__f^#(X1, X2, X3) -> c_1()
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(c()) -> c_9() }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
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,4}. Here rules are labeled as follows:
DPs:
{ 1: a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, 2: mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, 3: mark^#(b()) -> c_8(a__b^#())
, 4: mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3))
, 5: a__f^#(X1, X2, X3) -> c_1()
, 6: a__g^#(X) -> c_3()
, 7: a__g^#(b()) -> c_4()
, 8: a__b^#() -> c_5()
, 9: a__b^#() -> c_6()
, 10: mark^#(c()) -> c_9() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
Weak DPs:
{ a__f^#(X1, X2, X3) -> c_1()
, a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(b()) -> c_8(a__b^#())
, mark^#(c()) -> c_9() }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We estimate the number of application of {2} by applications of
Pre({2}) = {1}. Here rules are labeled as follows:
DPs:
{ 1: mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X))
, 2: mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3))
, 3: a__f^#(X1, X2, X3) -> c_1()
, 4: a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, 5: a__g^#(X) -> c_3()
, 6: a__g^#(b()) -> c_4()
, 7: a__b^#() -> c_5()
, 8: a__b^#() -> c_6()
, 9: mark^#(b()) -> c_8(a__b^#())
, 10: mark^#(c()) -> c_9() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs: { mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X)) }
Weak DPs:
{ a__f^#(X1, X2, X3) -> c_1()
, a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(b()) -> c_8(a__b^#())
, mark^#(c()) -> c_9()
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
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.
{ a__f^#(X1, X2, X3) -> c_1()
, a__f^#(X, g(X), Y) -> c_2(a__f^#(Y, Y, Y))
, a__g^#(X) -> c_3()
, a__g^#(b()) -> c_4()
, a__b^#() -> c_5()
, a__b^#() -> c_6()
, mark^#(b()) -> c_8(a__b^#())
, mark^#(c()) -> c_9()
, mark^#(f(X1, X2, X3)) -> c_10(a__f^#(X1, X2, X3)) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs: { mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X)) }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
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:
{ mark^#(g(X)) -> c_7(a__g^#(mark(X)), mark^#(X)) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs: { mark^#(g(X)) -> c_1(mark^#(X)) }
Weak Trs:
{ a__f(X1, X2, X3) -> f(X1, X2, X3)
, a__f(X, g(X), Y) -> a__f(Y, Y, Y)
, a__g(X) -> g(X)
, a__g(b()) -> c()
, a__b() -> b()
, a__b() -> c()
, mark(g(X)) -> a__g(mark(X))
, mark(b()) -> a__b()
, mark(c()) -> c()
, mark(f(X1, X2, X3)) -> a__f(X1, X2, X3) }
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: { mark^#(g(X)) -> c_1(mark^#(X)) }
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: mark^#(g(X)) -> c_1(mark^#(X)) }
Sub-proof:
----------
The input was oriented with the instance of 'Small Polynomial Path
Order (PS,1-bounded)' as induced by the safe mapping
safe(g) = {1}, safe(mark^#) = {}, safe(c_1) = {}
and precedence
empty .
Following symbols are considered recursive:
{mark^#}
The recursion depth is 1.
Further, following argument filtering is employed:
pi(g) = [1], pi(mark^#) = [1], pi(c_1) = [1]
Usable defined function symbols are a subset of:
{mark^#}
For your convenience, here are the satisfied ordering constraints:
pi(mark^#(g(X))) = mark^#(g(; X);)
> c_1(mark^#(X;);)
= pi(c_1(mark^#(X)))
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: { mark^#(g(X)) -> c_1(mark^#(X)) }
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.
{ mark^#(g(X)) -> c_1(mark^#(X)) }
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))