We consider the following Problem: Strict Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {merge(nil(), y) -> y} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(merge) = {}, Uargs(++) = {2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: merge(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 1] [1] nil() = [0] [0] ++(x1, x2) = [0 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] u() = [0] [0] v() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { merge(x, nil()) -> x , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))} Weak Trs: {merge(nil(), y) -> y} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {merge(x, nil()) -> x} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(merge) = {}, Uargs(++) = {2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: merge(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [1 1] [0] nil() = [1] [0] ++(x1, x2) = [0 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [0] u() = [0] [0] v() = [2] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))} Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))} Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The problem is match-bounded by 1. The enriched problem is compatible with the following automaton: { merge_0(2, 2) -> 1 , merge_1(2, 4) -> 3 , merge_1(8, 6) -> 7 , nil_0() -> 1 , nil_0() -> 2 , ++_0(2, 2) -> 1 , ++_0(2, 2) -> 2 , ++_1(2, 2) -> 8 , ++_1(2, 3) -> 1 , ++_1(2, 3) -> 3 , ++_1(5, 6) -> 3 , ++_1(5, 6) -> 4 , ++_1(5, 7) -> 1 , ++_1(5, 7) -> 3 , u_0() -> 1 , u_0() -> 2 , u_1() -> 5 , v_0() -> 1 , v_0() -> 2 , v_1() -> 6} Hurray, we answered YES(?,O(n^1))