We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, 2ndspos(0(), Z) -> rnil()
, 2ndspos(s(N), cons(X, Z)) -> 2ndspos(s(N), cons2(X, activate(Z)))
, 2ndspos(s(N), cons2(X, cons(Y, Z))) ->
rcons(posrecip(Y), 2ndsneg(N, activate(Z)))
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X))
, 2ndsneg(0(), Z) -> rnil()
, 2ndsneg(s(N), cons(X, Z)) -> 2ndsneg(s(N), cons2(X, activate(Z)))
, 2ndsneg(s(N), cons2(X, cons(Y, Z))) ->
rcons(negrecip(Y), 2ndspos(N, activate(Z)))
, pi(X) -> 2ndspos(X, from(0()))
, plus(0(), Y) -> Y
, plus(s(X), Y) -> s(plus(X, Y))
, times(0(), Y) -> 0()
, times(s(X), Y) -> plus(Y, times(X, Y))
, square(X) -> times(X, X) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
Arguments of following rules are not normal-forms:
{ 2ndspos(s(N), cons(X, Z)) -> 2ndspos(s(N), cons2(X, activate(Z)))
, 2ndspos(s(N), cons2(X, cons(Y, Z))) ->
rcons(posrecip(Y), 2ndsneg(N, activate(Z)))
, 2ndsneg(s(N), cons(X, Z)) -> 2ndsneg(s(N), cons2(X, activate(Z)))
, 2ndsneg(s(N), cons2(X, cons(Y, Z))) ->
rcons(negrecip(Y), 2ndspos(N, activate(Z)))
, plus(s(X), Y) -> s(plus(X, Y))
, times(s(X), Y) -> plus(Y, times(X, Y)) }
All above mentioned rules can be savely removed.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, 2ndspos(0(), Z) -> rnil()
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X))
, 2ndsneg(0(), Z) -> rnil()
, pi(X) -> 2ndspos(X, from(0()))
, plus(0(), Y) -> Y
, times(0(), Y) -> 0()
, square(X) -> times(X, X) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We add the following weak dependency pairs:
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, 2ndspos^#(0(), Z) -> c_3()
, s^#(X) -> c_4()
, activate^#(X) -> c_5()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
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:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, 2ndspos^#(0(), Z) -> c_3()
, s^#(X) -> c_4()
, activate^#(X) -> c_5()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
Strict Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, 2ndspos(0(), Z) -> rnil()
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X))
, 2ndsneg(0(), Z) -> rnil()
, pi(X) -> 2ndspos(X, from(0()))
, plus(0(), Y) -> Y
, times(0(), Y) -> 0()
, square(X) -> times(X, X) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(n^1))
We replace rewrite rules by usable rules:
Strict Usable Rules:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(n^1)).
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, 2ndspos^#(0(), Z) -> c_3()
, s^#(X) -> c_4()
, activate^#(X) -> c_5()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
Strict Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
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(from) = {1}, Uargs(s) = {1}, Uargs(from^#) = {1},
Uargs(2ndspos^#) = {2}, Uargs(s^#) = {1}, Uargs(c_6) = {1},
Uargs(c_7) = {1}, Uargs(c_9) = {1}, Uargs(c_12) = {1}
TcT has computed the following constructor-restricted matrix
interpretation.
[from](x1) = [1 0] x1 + [2]
[0 1] [2]
[cons](x1, x2) = [0]
[0]
[n__from](x1) = [1 0] x1 + [1]
[0 1] [2]
[n__s](x1) = [1 0] x1 + [1]
[0 1] [2]
[0] = [0]
[0]
[s](x1) = [1 0] x1 + [2]
[0 1] [2]
[activate](x1) = [1 1] x1 + [2]
[0 1] [2]
[from^#](x1) = [1 0] x1 + [0]
[0 0] [0]
[c_1] = [0]
[0]
[c_2] = [0]
[0]
[2ndspos^#](x1, x2) = [2 0] x2 + [0]
[0 0] [0]
[c_3] = [0]
[0]
[s^#](x1) = [1 0] x1 + [0]
[0 0] [0]
[c_4] = [0]
[0]
[activate^#](x1) = [1 1] x1 + [0]
[0 0] [0]
[c_5] = [0]
[0]
[c_6](x1) = [1 0] x1 + [0]
[0 1] [0]
[c_7](x1) = [1 0] x1 + [0]
[0 1] [0]
[2ndsneg^#](x1, x2) = [0]
[0]
[c_8] = [0]
[0]
[pi^#](x1) = [1 2] x1 + [0]
[0 0] [0]
[c_9](x1) = [1 0] x1 + [0]
[0 1] [0]
[plus^#](x1, x2) = [0]
[0]
[c_10] = [0]
[0]
[times^#](x1, x2) = [0]
[0]
[c_11] = [0]
[0]
[square^#](x1) = [2 1] x1 + [0]
[0 0] [0]
[c_12](x1) = [1 0] x1 + [0]
[0 1] [0]
The order satisfies the following ordering constraints:
[from(X)] = [1 0] X + [2]
[0 1] [2]
> [0]
[0]
= [cons(X, n__from(n__s(X)))]
[from(X)] = [1 0] X + [2]
[0 1] [2]
> [1 0] X + [1]
[0 1] [2]
= [n__from(X)]
[s(X)] = [1 0] X + [2]
[0 1] [2]
> [1 0] X + [1]
[0 1] [2]
= [n__s(X)]
[activate(X)] = [1 1] X + [2]
[0 1] [2]
> [1 0] X + [0]
[0 1] [0]
= [X]
[activate(n__from(X))] = [1 1] X + [5]
[0 1] [4]
> [1 1] X + [4]
[0 1] [4]
= [from(activate(X))]
[activate(n__s(X))] = [1 1] X + [5]
[0 1] [4]
> [1 1] X + [4]
[0 1] [4]
= [s(activate(X))]
[from^#(X)] = [1 0] X + [0]
[0 0] [0]
>= [0]
[0]
= [c_1()]
[from^#(X)] = [1 0] X + [0]
[0 0] [0]
>= [0]
[0]
= [c_2()]
[2ndspos^#(0(), Z)] = [2 0] Z + [0]
[0 0] [0]
>= [0]
[0]
= [c_3()]
[s^#(X)] = [1 0] X + [0]
[0 0] [0]
>= [0]
[0]
= [c_4()]
[activate^#(X)] = [1 1] X + [0]
[0 0] [0]
>= [0]
[0]
= [c_5()]
[activate^#(n__from(X))] = [1 1] X + [3]
[0 0] [0]
> [1 1] X + [2]
[0 0] [0]
= [c_6(from^#(activate(X)))]
[activate^#(n__s(X))] = [1 1] X + [3]
[0 0] [0]
> [1 1] X + [2]
[0 0] [0]
= [c_7(s^#(activate(X)))]
[2ndsneg^#(0(), Z)] = [0]
[0]
>= [0]
[0]
= [c_8()]
[pi^#(X)] = [1 2] X + [0]
[0 0] [0]
? [4]
[0]
= [c_9(2ndspos^#(X, from(0())))]
[plus^#(0(), Y)] = [0]
[0]
>= [0]
[0]
= [c_10()]
[times^#(0(), Y)] = [0]
[0]
>= [0]
[0]
= [c_11()]
[square^#(X)] = [2 1] X + [0]
[0 0] [0]
>= [0]
[0]
= [c_12(times^#(X, X))]
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(1)).
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, 2ndspos^#(0(), Z) -> c_3()
, s^#(X) -> c_4()
, activate^#(X) -> c_5()
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
Weak DPs:
{ activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
We estimate the number of application of {3,5,6,8,9} by
applications of Pre({3,5,6,8,9}) = {7,10}. Here rules are labeled
as follows:
DPs:
{ 1: from^#(X) -> c_1()
, 2: from^#(X) -> c_2()
, 3: 2ndspos^#(0(), Z) -> c_3()
, 4: s^#(X) -> c_4()
, 5: activate^#(X) -> c_5()
, 6: 2ndsneg^#(0(), Z) -> c_8()
, 7: pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, 8: plus^#(0(), Y) -> c_10()
, 9: times^#(0(), Y) -> c_11()
, 10: square^#(X) -> c_12(times^#(X, X))
, 11: activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, 12: activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, s^#(X) -> c_4()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, square^#(X) -> c_12(times^#(X, X)) }
Weak DPs:
{ 2ndspos^#(0(), Z) -> c_3()
, activate^#(X) -> c_5()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 2ndsneg^#(0(), Z) -> c_8()
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11() }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
We estimate the number of application of {4,5} by applications of
Pre({4,5}) = {}. Here rules are labeled as follows:
DPs:
{ 1: from^#(X) -> c_1()
, 2: from^#(X) -> c_2()
, 3: s^#(X) -> c_4()
, 4: pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, 5: square^#(X) -> c_12(times^#(X, X))
, 6: 2ndspos^#(0(), Z) -> c_3()
, 7: activate^#(X) -> c_5()
, 8: activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, 9: activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 10: 2ndsneg^#(0(), Z) -> c_8()
, 11: plus^#(0(), Y) -> c_10()
, 12: times^#(0(), Y) -> c_11() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, s^#(X) -> c_4() }
Weak DPs:
{ 2ndspos^#(0(), Z) -> c_3()
, activate^#(X) -> c_5()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X)))
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(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.
{ 2ndspos^#(0(), Z) -> c_3()
, activate^#(X) -> c_5()
, 2ndsneg^#(0(), Z) -> c_8()
, pi^#(X) -> c_9(2ndspos^#(X, from(0())))
, plus^#(0(), Y) -> c_10()
, times^#(0(), Y) -> c_11()
, square^#(X) -> c_12(times^#(X, X)) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs:
{ from^#(X) -> c_1()
, from^#(X) -> c_2()
, s^#(X) -> c_4() }
Weak DPs:
{ activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
We analyse the complexity of following sub-problems (R) and (S).
Problem (S) is obtained from the input problem by shifting strict
rules from (R) into the weak component:
Problem (R):
------------
Strict DPs: { from^#(X) -> c_2() }
Weak DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
Problem (S):
------------
Strict DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_2()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
Overall, the transformation results in the following sub-problem(s):
Generated new problems:
-----------------------
R) Strict DPs: { from^#(X) -> c_2() }
Weak DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
This problem was proven YES(O(1),O(1)).
S) Strict DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_2()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
This problem was proven YES(O(1),O(1)).
Proofs for generated problems:
------------------------------
R) We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { from^#(X) -> c_2() }
Weak DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(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.
{ from^#(X) -> c_1()
, s^#(X) -> c_4()
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { from^#(X) -> c_2() }
Weak DPs: { activate^#(n__from(X)) -> c_6(from^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
The dependency graph contains no loops, we remove all dependency
pairs.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(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(1)).
Rules: Empty
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
Empty rules are trivially bounded
S) We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_2()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(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.
{ from^#(X) -> c_2() }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs:
{ from^#(X) -> c_1()
, s^#(X) -> c_4() }
Weak DPs:
{ activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
We analyse the complexity of following sub-problems (R) and (S).
Problem (S) is obtained from the input problem by shifting strict
rules from (R) into the weak component:
Problem (R):
------------
Strict DPs: { from^#(X) -> c_1() }
Weak DPs:
{ s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
Problem (S):
------------
Strict DPs: { s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_1()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
Overall, the transformation results in the following sub-problem(s):
Generated new problems:
-----------------------
R) Strict DPs: { from^#(X) -> c_1() }
Weak DPs:
{ s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
This problem was proven YES(O(1),O(1)).
S) Strict DPs: { s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_1()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
StartTerms: basic terms
Strategy: innermost
This problem was proven YES(O(1),O(1)).
Proofs for generated problems:
------------------------------
R) We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { from^#(X) -> c_1() }
Weak DPs:
{ s^#(X) -> c_4()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(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.
{ s^#(X) -> c_4()
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { from^#(X) -> c_1() }
Weak DPs: { activate^#(n__from(X)) -> c_6(from^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
The dependency graph contains no loops, we remove all dependency
pairs.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(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(1)).
Rules: Empty
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
Empty rules are trivially bounded
S) We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { s^#(X) -> c_4() }
Weak DPs:
{ from^#(X) -> c_1()
, activate^#(n__from(X)) -> c_6(from^#(activate(X)))
, activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(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.
{ from^#(X) -> c_1()
, activate^#(n__from(X)) -> c_6(from^#(activate(X))) }
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Strict DPs: { s^#(X) -> c_4() }
Weak DPs: { activate^#(n__s(X)) -> c_7(s^#(activate(X))) }
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(1))
The dependency graph contains no loops, we remove all dependency
pairs.
We are left with following problem, upon which TcT provides the
certificate YES(O(1),O(1)).
Weak Trs:
{ from(X) -> cons(X, n__from(n__s(X)))
, from(X) -> n__from(X)
, s(X) -> n__s(X)
, activate(X) -> X
, activate(n__from(X)) -> from(activate(X))
, activate(n__s(X)) -> s(activate(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(O(1),O(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(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))