We consider the following Problem: Strict Trs: { sqr(0()) -> 0() , sqr(s(x)) -> +(sqr(x), s(double(x))) , double(0()) -> 0() , double(s(x)) -> s(s(double(x))) , +(x, 0()) -> x , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(x)))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: We consider the following Problem: Strict Trs: { sqr(0()) -> 0() , sqr(s(x)) -> +(sqr(x), s(double(x))) , double(0()) -> 0() , double(s(x)) -> s(s(double(x))) , +(x, 0()) -> x , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(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(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: sqr(x1) = [0 0] x1 + [1] [1 0] [1] 0() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] +(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [1] double(x1) = [0 0] x1 + [0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(s(x)) -> +(sqr(x), s(double(x))) , double(0()) -> 0() , double(s(x)) -> s(s(double(x))) , +(x, 0()) -> x , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(x)))} Weak Trs: {sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {double(0()) -> 0()} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: sqr(x1) = [0 0] x1 + [1] [1 0] [1] 0() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] +(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [1 0] [0 0] [0] double(x1) = [0 0] x1 + [2] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(s(x)) -> +(sqr(x), s(double(x))) , double(s(x)) -> s(s(double(x))) , +(x, 0()) -> x , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(x)))} Weak Trs: { double(0()) -> 0() , sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {+(x, 0()) -> x} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: sqr(x1) = [0 0] x1 + [1] [0 0] [1] 0() = [1] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] +(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 0] [1] double(x1) = [0 0] x1 + [2] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { sqr(s(x)) -> +(sqr(x), s(double(x))) , double(s(x)) -> s(s(double(x))) , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(x)))} Weak Trs: { +(x, 0()) -> x , double(0()) -> 0() , sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {sqr(s(x)) -> +(sqr(x), s(double(x)))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: sqr(x1) = [1 1] x1 + [0] [0 0] [1] 0() = [0] [0] s(x1) = [1 0] x1 + [0] [0 1] [1] +(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 0] [0] double(x1) = [0 0] x1 + [0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { double(s(x)) -> s(s(double(x))) , +(x, s(y)) -> s(+(x, y)) , sqr(s(x)) -> s(+(sqr(x), double(x)))} Weak Trs: { sqr(s(x)) -> +(sqr(x), s(double(x))) , +(x, 0()) -> x , double(0()) -> 0() , sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {sqr(s(x)) -> s(+(sqr(x), double(x)))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: sqr(x1) = [0 1] x1 + [2] [0 1] [0] 0() = [0] [0] s(x1) = [1 0] x1 + [1] [0 1] [3] +(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 1] [0 0] [0] double(x1) = [0 0] x1 + [0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { double(s(x)) -> s(s(double(x))) , +(x, s(y)) -> s(+(x, y))} Weak Trs: { sqr(s(x)) -> s(+(sqr(x), double(x))) , sqr(s(x)) -> +(sqr(x), s(double(x))) , +(x, 0()) -> x , double(0()) -> 0() , sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: We consider the following Problem: Strict Trs: { double(s(x)) -> s(s(double(x))) , +(x, s(y)) -> s(+(x, y))} Weak Trs: { sqr(s(x)) -> s(+(sqr(x), double(x))) , sqr(s(x)) -> +(sqr(x), s(double(x))) , +(x, 0()) -> x , double(0()) -> 0() , sqr(0()) -> 0()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The following argument positions are usable: Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2}, Uargs(double) = {} We have the following restricted polynomial interpretation: Interpretation Functions: [sqr](x1) = x1 + 3*x1^2 [0]() = 2 [s](x1) = 1 + x1 [+](x1, x2) = x1 + 2*x2 [double](x1) = 1 + 3*x1 Hurray, we answered YES(?,O(n^2))