We consider the following Problem:
Strict Trs:
{ from(X) -> cons(X, n__from(s(X)))
, after(0(), XS) -> XS
, after(s(N), cons(X, XS)) -> after(N, activate(XS))
, from(X) -> n__from(X)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
We consider the following Problem:
Strict Trs:
{ from(X) -> cons(X, n__from(s(X)))
, after(0(), XS) -> XS
, after(s(N), cons(X, XS)) -> after(N, activate(XS))
, from(X) -> n__from(X)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {from(X) -> cons(X, n__from(s(X)))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(from) = {}, Uargs(cons) = {}, Uargs(n__from) = {},
Uargs(s) = {}, Uargs(after) = {2}, Uargs(activate) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
from(x1) = [1 1] x1 + [2]
[0 0] [2]
cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1]
[0 0] [1 0] [1]
n__from(x1) = [0 0] x1 + [0]
[1 1] [0]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
after(x1, x2) = [0 0] x1 + [1 1] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
activate(x1) = [1 1] x1 + [0]
[0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ after(0(), XS) -> XS
, after(s(N), cons(X, XS)) -> after(N, activate(XS))
, from(X) -> n__from(X)