We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^2)).
Strict Trs:
{ *(x, +(y, z)) -> +(*(x, y), *(x, z))
, *(x, 1()) -> x
, *(+(x, y), z) -> +(*(x, z), *(y, z))
, *(1(), y) -> y }
Obligation:
runtime complexity
Answer:
YES(O(1),O(n^2))
We add the following weak dependency pairs:
Strict DPs:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z))
, *^#(1(), y) -> c_4(y) }
and mark the set of starting terms.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^2)).
Strict DPs:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z))
, *^#(1(), y) -> c_4(y) }
Strict Trs:
{ *(x, +(y, z)) -> +(*(x, y), *(x, z))
, *(x, 1()) -> x
, *(+(x, y), z) -> +(*(x, z), *(y, z))
, *(1(), y) -> y }
Obligation:
runtime complexity
Answer:
YES(O(1),O(n^2))
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^2)).
Strict DPs:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z))
, *^#(1(), y) -> c_4(y) }
Obligation:
runtime complexity
Answer:
YES(O(1),O(n^2))
The weightgap principle applies (using the following constant
growth matrix-interpretation)
The following argument positions are usable:
Uargs(c_1) = {1, 2}, Uargs(c_3) = {1, 2}
TcT has computed the following constructor-restricted matrix
interpretation.
[+](x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
[1] = [0]
[0]
[*^#](x1, x2) = [2]
[0]
[c_1](x1, x2) = [1 0] x1 + [1 0] x2 + [2]
[0 1] [0 1] [2]
[c_2](x1) = [0]
[0]
[c_3](x1, x2) = [1 0] x1 + [1 0] x2 + [2]
[0 1] [0 1] [2]
[c_4](x1) = [0]
[0]
The order satisfies the following ordering constraints:
[*^#(x, +(y, z))] = [2]
[0]
? [6]
[2]
= [c_1(*^#(x, y), *^#(x, z))]
[*^#(x, 1())] = [2]
[0]
> [0]
[0]
= [c_2(x)]
[*^#(+(x, y), z)] = [2]
[0]
? [6]
[2]
= [c_3(*^#(x, z), *^#(y, z))]
[*^#(1(), y)] = [2]
[0]
> [0]
[0]
= [c_4(y)]
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^2)).
Strict DPs:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z)) }
Weak DPs:
{ *^#(x, 1()) -> c_2(x)
, *^#(1(), y) -> c_4(y) }
Obligation:
runtime complexity
Answer:
YES(O(1),O(n^2))
We use the processor 'custom shape polynomial interpretation' to
orient following rules strictly.
DPs:
{ 1: *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z)) }
Sub-proof:
----------
The following argument positions are considered usable:
Uargs(c_1) = {1, 2}, Uargs(c_3) = {1, 2}
TcT has computed the following constructor-restricted polynomial
interpretation.
[+](x1, x2) = 1 + x1 + x2
[1]() = 0
[*^#](x1, x2) = x1*x2 + x2
[c_1](x1, x2) = x1 + x2
[c_2](x1) = 0
[c_3](x1, x2) = x1 + x2
[c_4](x1) = 0
This order satisfies the following ordering constraints.
[*^#(x, +(y, z))] = x + x*y + x*z + 1 + y + z
> x*y + y + x*z + z
= [c_1(*^#(x, y), *^#(x, z))]
[*^#(x, 1())] =
>=
= [c_2(x)]
[*^#(+(x, y), z)] = 2*z + x*z + y*z
>= x*z + 2*z + y*z
= [c_3(*^#(x, z), *^#(y, z))]
[*^#(1(), y)] = y
>=
= [c_4(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(n^2)).
Strict DPs: { *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z)) }
Weak DPs:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(1(), y) -> c_4(y) }
Obligation:
runtime complexity
Answer:
YES(O(1),O(n^2))
We use the processor 'custom shape polynomial interpretation' to
orient following rules strictly.
DPs:
{ 1: *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z)) }
Sub-proof:
----------
The following argument positions are considered usable:
Uargs(c_1) = {1, 2}, Uargs(c_3) = {1, 2}
TcT has computed the following constructor-restricted polynomial
interpretation.
[+](x1, x2) = 2 + x1 + x2
[1]() = 0
[*^#](x1, x2) = 2*x1 + x1*x2
[c_1](x1, x2) = x1 + x2
[c_2](x1) = 0
[c_3](x1, x2) = 3 + x1 + x2
[c_4](x1) = 0
This order satisfies the following ordering constraints.
[*^#(x, +(y, z))] = 4*x + x*y + x*z
>= 4*x + x*y + x*z
= [c_1(*^#(x, y), *^#(x, z))]
[*^#(x, 1())] = 2*x
>=
= [c_2(x)]
[*^#(+(x, y), z)] = 4 + 2*x + 2*y + 2*z + x*z + y*z
> 3 + 2*x + x*z + 2*y + y*z
= [c_3(*^#(x, z), *^#(y, z))]
[*^#(1(), y)] =
>=
= [c_4(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:
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z))
, *^#(1(), y) -> c_4(y) }
Obligation:
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.
{ *^#(x, +(y, z)) -> c_1(*^#(x, y), *^#(x, z))
, *^#(x, 1()) -> c_2(x)
, *^#(+(x, y), z) -> c_3(*^#(x, z), *^#(y, z))
, *^#(1(), y) -> c_4(y) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Rules: Empty
Obligation:
runtime complexity
Answer:
YES(O(1),O(1))
Empty rules are trivially bounded
Hurray, we answered YES(O(1),O(n^2))