We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict Trs:
{ h(X, Z) -> f(X, s(X), Z)
, f(X, Y, g(X, Y)) -> h(0(), g(X, Y))
, g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We add the following weak dependency pairs:
Strict DPs:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, f^#(X, Y, g(X, Y)) -> c_2(h^#(0(), g(X, Y)))
, g^#(X, s(Y)) -> c_3(g^#(X, Y))
, g^#(0(), Y) -> c_4() }
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:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, f^#(X, Y, g(X, Y)) -> c_2(h^#(0(), g(X, Y)))
, g^#(X, s(Y)) -> c_3(g^#(X, Y))
, g^#(0(), Y) -> c_4() }
Strict Trs:
{ h(X, Z) -> f(X, s(X), Z)
, f(X, Y, g(X, Y)) -> h(0(), g(X, Y))
, g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We replace rewrite rules by usable rules:
Strict Usable Rules:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, f^#(X, Y, g(X, Y)) -> c_2(h^#(0(), g(X, Y)))
, g^#(X, s(Y)) -> c_3(g^#(X, Y))
, g^#(0(), Y) -> c_4() }
Strict Trs:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
The weightgap principle applies (using the following constant
growth matrix-interpretation)
The following argument positions are usable:
Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}
TcT has computed the following constructor-restricted matrix
interpretation.
[s](x1) = [0 0] x1 + [0]
[0 1] [2]
[g](x1, x2) = [0 1] x2 + [1]
[0 0] [0]
[0] = [0]
[0]
[h^#](x1, x2) = [0]
[0]
[c_1](x1) = [1 0] x1 + [0]
[0 1] [0]
[f^#](x1, x2, x3) = [0]
[0]
[c_2](x1) = [1 0] x1 + [0]
[0 1] [0]
[g^#](x1, x2) = [0]
[0]
[c_3](x1) = [1 0] x1 + [0]
[0 1] [0]
[c_4] = [0]
[0]
The order satisfies the following ordering constraints:
[g(X, s(Y))] = [0 1] Y + [3]
[0 0] [0]
> [0 1] Y + [1]
[0 0] [0]
= [g(X, Y)]
[g(0(), Y)] = [0 1] Y + [1]
[0 0] [0]
> [0]
[0]
= [0()]
[h^#(X, Z)] = [0]
[0]
>= [0]
[0]
= [c_1(f^#(X, s(X), Z))]
[f^#(X, Y, g(X, Y))] = [0]
[0]
>= [0]
[0]
= [c_2(h^#(0(), g(X, Y)))]
[g^#(X, s(Y))] = [0]
[0]
>= [0]
[0]
= [c_3(g^#(X, Y))]
[g^#(0(), Y)] = [0]
[0]
>= [0]
[0]
= [c_4()]
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, f^#(X, Y, g(X, Y)) -> c_2(h^#(0(), g(X, Y)))
, g^#(X, s(Y)) -> c_3(g^#(X, Y))
, g^#(0(), Y) -> c_4() }
Weak Trs:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
Consider the dependency graph:
1: h^#(X, Z) -> c_1(f^#(X, s(X), Z))
2: f^#(X, Y, g(X, Y)) -> c_2(h^#(0(), g(X, Y)))
-->_1 h^#(X, Z) -> c_1(f^#(X, s(X), Z)) :1
3: g^#(X, s(Y)) -> c_3(g^#(X, Y))
-->_1 g^#(0(), Y) -> c_4() :4
-->_1 g^#(X, s(Y)) -> c_3(g^#(X, Y)) :3
4: g^#(0(), Y) -> c_4()
Only the nodes {1,3,4} are reachable from nodes {1,3,4} that start
derivation from marked basic terms. The nodes not reachable are
removed from the problem.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, g^#(X, s(Y)) -> c_3(g^#(X, Y))
, g^#(0(), Y) -> c_4() }
Weak Trs:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
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: h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, 2: g^#(X, s(Y)) -> c_3(g^#(X, Y))
, 3: g^#(0(), Y) -> c_4() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs: { g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
Weak DPs:
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, g^#(0(), Y) -> c_4() }
Weak Trs:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
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.
{ h^#(X, Z) -> c_1(f^#(X, s(X), Z))
, g^#(0(), Y) -> c_4() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs: { g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
Weak Trs:
{ g(X, s(Y)) -> g(X, Y)
, g(0(), Y) -> 0() }
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: { g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
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: g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
Sub-proof:
----------
The input was oriented with the instance of 'Small Polynomial Path
Order (PS,1-bounded)' as induced by the safe mapping
safe(s) = {1}, safe(g^#) = {1}, safe(c_3) = {}
and precedence
empty .
Following symbols are considered recursive:
{g^#}
The recursion depth is 1.
Further, following argument filtering is employed:
pi(s) = [1], pi(g^#) = [1, 2], pi(c_3) = [1]
Usable defined function symbols are a subset of:
{g^#}
For your convenience, here are the satisfied ordering constraints:
pi(g^#(X, s(Y))) = g^#(s(; Y); X)
> c_3(g^#(Y; X);)
= pi(c_3(g^#(X, Y)))
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: { g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
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.
{ g^#(X, s(Y)) -> c_3(g^#(X, Y)) }
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))