We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X))) , __(mark(X1), X2) -> __(X1, X2) , __(X1, mark(X2)) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X))) , __(mark(X1), X2) -> __(X1, X2) , __(X1, mark(X2)) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [0 1] [1] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 1] [0] mark(x1) = [1 0] x1 + [1] [1 0] [1] nil() = [0] [0] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] tt() = [0] [0] isNePal(x1) = [1 0] x1 + [0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X))) , __(X1, mark(X2)) -> __(X1, X2)} Weak Trs: { __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {__(X1, mark(X2)) -> __(X1, X2)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [0 0] [1] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [1] mark(x1) = [1 0] x1 + [1] [0 0] [1] nil() = [0] [0] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [1] tt() = [0] [0] isNePal(x1) = [1 0] x1 + [0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 2] x1 + [1] [0 0] [1] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] mark(x1) = [1 0] x1 + [1] [0 0] [1] nil() = [0] [0] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [3] tt() = [0] [0] isNePal(x1) = [1 0] x1 + [1] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 1] x1 + [1] [0 0] [0] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] mark(x1) = [1 0] x1 + [1] [0 0] [0] nil() = [2] [2] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] tt() = [0] [0] isNePal(x1) = [1 0] x1 + [0] [0 0] [3] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(tt()) -> active(tt()) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {mark(tt()) -> active(tt())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [0] [0 1] [3] __(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [1 1] [1 1] [2] mark(x1) = [1 0] x1 + [1] [1 1] [0] nil() = [0] [1] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [1 1] [1 1] [0] tt() = [3] [0] isNePal(x1) = [1 0] x1 + [3] [0 1] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(nil()) -> active(nil()) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { mark(tt()) -> active(tt()) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {mark(nil()) -> active(nil())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 1] x1 + [1] [0 0] [1] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] mark(x1) = [1 0] x1 + [3] [0 0] [1] nil() = [2] [1] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] tt() = [2] [0] isNePal(x1) = [1 0] x1 + [3] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { mark(nil()) -> active(nil()) , mark(tt()) -> active(tt()) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z)))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(__) = {1, 2}, Uargs(mark) = {1}, Uargs(and) = {1}, Uargs(isNePal) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 2] x1 + [0] [0 0] [0] __(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [2] mark(x1) = [1 0] x1 + [0] [0 0] [0] nil() = [0] [0] and(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] tt() = [0] [0] isNePal(x1) = [1 0] x1 + [0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , mark(nil()) -> active(nil()) , mark(tt()) -> active(tt()) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { mark(__(X1, X2)) -> active(__(mark(X1), mark(X2))) , mark(and(X1, X2)) -> active(and(mark(X1), X2)) , mark(isNePal(X)) -> active(isNePal(mark(X)))} Weak Trs: { active(__(__(X, Y), Z)) -> mark(__(X, __(Y, Z))) , mark(nil()) -> active(nil()) , mark(tt()) -> active(tt()) , active(__(X, nil())) -> mark(X) , active(__(nil(), X)) -> mark(X) , active(and(tt(), X)) -> mark(X) , active(isNePal(__(I, __(P, I)))) -> mark(tt()) , __(X1, mark(X2)) -> __(X1, X2) , __(mark(X1), X2) -> __(X1, X2) , __(active(X1), X2) -> __(X1, X2) , __(X1, active(X2)) -> __(X1, X2) , and(mark(X1), X2) -> and(X1, X2) , and(X1, mark(X2)) -> and(X1, X2) , and(active(X1), X2) -> and(X1, X2) , and(X1, active(X2)) -> and(X1, X2) , isNePal(mark(X)) -> isNePal(X) , isNePal(active(X)) -> isNePal(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The problem is match-bounded by 0. The enriched problem is compatible with the following automaton: { active_0(2) -> 1 , ___0(2, 2) -> 1 , mark_0(2) -> 1 , nil_0() -> 2 , and_0(2, 2) -> 1 , tt_0() -> 2 , isNePal_0(2) -> 1} Hurray, we answered YES(?,O(n^1))