We consider the following Problem: Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , sqr(0()) -> 0() , sqr(s(X)) -> s(n__add(n__sqr(activate(X)), n__dbl(activate(X)))) , dbl(0()) -> 0() , dbl(s(X)) -> s(n__s(n__dbl(activate(X)))) , add(0(), X) -> X , add(s(X), Y) -> s(n__add(activate(X), Y)) , first(0(), X) -> nil() , first(s(X), cons(Y, Z)) -> cons(Y, n__first(activate(X), activate(Z))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , add(X1, X2) -> n__add(X1, X2) , sqr(X) -> n__sqr(X) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__s(X)) -> s(X) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2)) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: Arguments of following rules are not normal-forms: { sqr(s(X)) -> s(n__add(n__sqr(activate(X)), n__dbl(activate(X)))) , dbl(s(X)) -> s(n__s(n__dbl(activate(X)))) , add(s(X), Y) -> s(n__add(activate(X), Y)) , first(s(X), cons(Y, Z)) -> cons(Y, n__first(activate(X), activate(Z)))} All above mentioned rules can be savely removed. We consider the following Problem: Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , sqr(0()) -> 0() , dbl(0()) -> 0() , add(0(), X) -> X , first(0(), X) -> nil() , terms(X) -> n__terms(X) , s(X) -> n__s(X) , add(X1, X2) -> n__add(X1, X2) , sqr(X) -> n__sqr(X) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__s(X)) -> s(X) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2)) , 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: { dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [0] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [0 0] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 0] [1] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [1] [0 0] [1] add(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] first(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] nil() = [0] [0] n__first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , sqr(0()) -> 0() , add(0(), X) -> X , terms(X) -> n__terms(X) , s(X) -> n__s(X) , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2)) , activate(X) -> X} Weak Trs: { dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { s(X) -> n__s(X) , activate(X) -> X} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [0] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [0 0] x1 + [1] [0 0] [0] n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 1] [1] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [0] [0 0] [1] add(x1, x2) = [1 1] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] first(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] nil() = [0] [0] n__first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , sqr(0()) -> 0() , add(0(), X) -> X , terms(X) -> n__terms(X) , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {terms(X) -> n__terms(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [1] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [0 0] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 1] [1] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [0] [0 0] [1] add(x1, x2) = [1 1] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] first(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 1] [0 1] [1] nil() = [0] [0] n__first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , sqr(0()) -> 0() , add(0(), X) -> X , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N)))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [2] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [0 0] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 1] [1] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [0] [0 0] [1] add(x1, x2) = [1 1] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] first(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 1] [0 1] [1] nil() = [0] [0] n__first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(0()) -> 0() , add(0(), X) -> X , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__sqr(X)) -> sqr(activate(X)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {activate(n__sqr(X)) -> sqr(activate(X))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [2] [0 0] [2] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 1] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [0 0] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [2] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 1] [2] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [0] [0 1] [1] add(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 1] [1] nil() = [0] [0] n__first(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(0()) -> 0() , add(0(), X) -> X , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { activate(n__sqr(X)) -> sqr(activate(X)) , terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {add(0(), X) -> X} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 0] x1 + [2] [0 0] [2] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 1] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 0] x1 + [0] [0 0] [1] n__terms(x1) = [1 0] x1 + [0] [0 0] [1] n__s(x1) = [1 2] x1 + [0] [0 0] [0] 0() = [0] [0] s(x1) = [1 2] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] n__sqr(x1) = [1 0] x1 + [0] [0 0] [2] activate(x1) = [1 0] x1 + [1] [0 1] [0] n__dbl(x1) = [1 0] x1 + [0] [0 0] [0] dbl(x1) = [1 0] x1 + [0] [0 0] [1] add(x1, x2) = [1 1] x1 + [1 0] x2 + [1] [0 0] [0 1] [1] first(x1, x2) = [1 1] x1 + [1 0] x2 + [3] [0 0] [0 1] [1] nil() = [0] [0] n__first(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(0()) -> 0() , sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { add(0(), X) -> X , activate(n__sqr(X)) -> sqr(activate(X)) , terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {sqr(0()) -> 0()} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: terms(x1) = [1 3] x1 + [0] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] recip(x1) = [1 0] x1 + [0] [0 0] [0] sqr(x1) = [1 2] x1 + [0] [0 0] [3] n__terms(x1) = [1 3] x1 + [0] [0 0] [0] n__s(x1) = [0 0] x1 + [0] [0 0] [0] 0() = [1] [2] s(x1) = [0 0] x1 + [0] [0 0] [0] n__add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 1] [0] n__sqr(x1) = [1 2] x1 + [0] [0 0] [3] activate(x1) = [1 0] x1 + [0] [0 1] [0] n__dbl(x1) = [1 1] x1 + [0] [0 0] [0] dbl(x1) = [1 1] x1 + [0] [0 0] [2] add(x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 0] [0 1] [1] first(x1, x2) = [1 1] x1 + [1 1] x2 + [1] [0 0] [0 0] [1] nil() = [0] [0] n__first(x1, x2) = [1 1] x1 + [1 1] x2 + [1] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { sqr(0()) -> 0() , add(0(), X) -> X , activate(n__sqr(X)) -> sqr(activate(X)) , terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: We consider the following Problem: Strict Trs: { sqr(X) -> n__sqr(X) , activate(n__terms(X)) -> terms(activate(X)) , activate(n__add(X1, X2)) -> add(activate(X1), activate(X2)) , activate(n__dbl(X)) -> dbl(activate(X)) , activate(n__first(X1, X2)) -> first(activate(X1), activate(X2))} Weak Trs: { sqr(0()) -> 0() , add(0(), X) -> X , activate(n__sqr(X)) -> sqr(activate(X)) , terms(N) -> cons(recip(sqr(N)), n__terms(n__s(N))) , terms(X) -> n__terms(X) , s(X) -> n__s(X) , activate(X) -> X , dbl(0()) -> 0() , first(0(), X) -> nil() , add(X1, X2) -> n__add(X1, X2) , dbl(X) -> n__dbl(X) , first(X1, X2) -> n__first(X1, X2) , activate(n__s(X)) -> s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The following argument positions are usable: Uargs(terms) = {1}, Uargs(cons) = {1}, Uargs(recip) = {1}, Uargs(sqr) = {1}, Uargs(n__terms) = {}, Uargs(n__s) = {}, Uargs(s) = {}, Uargs(n__add) = {}, Uargs(n__sqr) = {}, Uargs(activate) = {}, Uargs(n__dbl) = {}, Uargs(dbl) = {1}, Uargs(add) = {1, 2}, Uargs(first) = {1, 2}, Uargs(n__first) = {} We have the following restricted polynomial interpretation: Interpretation Functions: [terms](x1) = 3 + x1 [cons](x1, x2) = 1 + x1 [recip](x1) = x1 [sqr](x1) = 2 + x1 [n__terms](x1) = 3 + x1 [n__s](x1) = 0 [0]() = 1 [s](x1) = 0 [n__add](x1, x2) = 3 + x1 + x2 [n__sqr](x1) = 1 + x1 [activate](x1) = 2*x1 + x1^2 [n__dbl](x1) = 2 + x1 [dbl](x1) = 2 + x1 [add](x1, x2) = 3 + x1 + x2 [first](x1, x2) = 1 + x1 + x2 [nil]() = 0 [n__first](x1, x2) = 1 + x1 + x2 Hurray, we answered YES(?,O(n^2))