We consider the following Problem: Strict Trs: { active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {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] f(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [0] [0 0] [0 0] [0 0] [1] a() = [0] [0] mark(x1) = [1 0] x1 + [1] [1 0] [1] b() = [0] [0] proper(x1) = [0 0] x1 + [1] [0 0] [1] ok(x1) = [1 0] x1 + [1] [0 0] [1] top(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(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X))} Weak Trs: {f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {top(ok(X)) -> top(active(X))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {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] f(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [0] [0 0] [0 0] [0 0] [1] a() = [0] [1] mark(x1) = [1 0] x1 + [1] [1 0] [1] b() = [0] [0] proper(x1) = [0 0] x1 + [1] [0 0] [0] ok(x1) = [1 0] x1 + [3] [0 1] [0] top(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(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , top(mark(X)) -> top(proper(X))} Weak Trs: { top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [0] [0 0] [1] f(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] a() = [0] [0] mark(x1) = [1 0] x1 + [1] [1 0] [0] b() = [2] [0] proper(x1) = [0 0] x1 + [0] [0 0] [0] ok(x1) = [1 0] x1 + [0] [0 0] [1] top(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(f(a(), X, X)) -> mark(f(X, b(), b())) , active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b())} Weak Trs: { active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {active(f(a(), X, X)) -> mark(f(X, b(), b()))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [2] [0 0] [1] f(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 1] [0 0] [0] a() = [3] [0] mark(x1) = [1 0] x1 + [0] [0 0] [1] b() = [2] [0] proper(x1) = [0 0] x1 + [0] [0 0] [1] ok(x1) = [1 0] x1 + [2] [0 0] [1] top(x1) = [1 0] x1 + [3] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a()) , proper(b()) -> ok(b())} Weak Trs: { active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {proper(b()) -> ok(b())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [0] [0 0] [0] f(x1, x2, x3) = [1 1] x1 + [1 0] x2 + [1 2] x3 + [0] [0 0] [0 0] [0 0] [0] a() = [0] [3] mark(x1) = [1 0] x1 + [1] [0 0] [0] b() = [1] [0] proper(x1) = [1 0] x1 + [1] [0 0] [0] ok(x1) = [1 3] x1 + [0] [0 0] [0] top(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(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3)) , proper(a()) -> ok(a())} Weak Trs: { proper(b()) -> ok(b()) , active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {proper(a()) -> ok(a())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {}, Uargs(f) = {1, 2, 3}, Uargs(mark) = {1}, Uargs(proper) = {}, Uargs(ok) = {1}, Uargs(top) = {1} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [0] [0 0] [0] f(x1, x2, x3) = [1 3] x1 + [1 0] x2 + [1 3] x3 + [0] [0 0] [0 0] [0 0] [0] a() = [0] [3] mark(x1) = [1 0] x1 + [1] [0 0] [0] b() = [1] [0] proper(x1) = [1 0] x1 + [1] [0 1] [0] ok(x1) = [1 0] x1 + [0] [0 1] [0] top(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(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3))} Weak Trs: { proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { active(f(X1, X2, X3)) -> f(X1, active(X2), X3) , f(X1, mark(X2), X3) -> mark(f(X1, X2, X3)) , proper(f(X1, X2, X3)) -> f(proper(X1), proper(X2), proper(X3))} Weak Trs: { proper(a()) -> ok(a()) , proper(b()) -> ok(b()) , active(f(a(), X, X)) -> mark(f(X, b(), b())) , active(b()) -> mark(a()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) , f(ok(X1), ok(X2), ok(X3)) -> ok(f(X1, X2, X3))} 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: { active_0(3) -> 1 , active_0(4) -> 1 , active_0(5) -> 1 , active_0(7) -> 1 , f_0(3, 3, 3) -> 2 , f_0(3, 3, 4) -> 2 , f_0(3, 3, 5) -> 2 , f_0(3, 3, 7) -> 2 , f_0(3, 4, 3) -> 2 , f_0(3, 4, 4) -> 2 , f_0(3, 4, 5) -> 2 , f_0(3, 4, 7) -> 2 , f_0(3, 5, 3) -> 2 , f_0(3, 5, 4) -> 2 , f_0(3, 5, 5) -> 2 , f_0(3, 5, 7) -> 2 , f_0(3, 7, 3) -> 2 , f_0(3, 7, 4) -> 2 , f_0(3, 7, 5) -> 2 , f_0(3, 7, 7) -> 2 , f_0(4, 3, 3) -> 2 , f_0(4, 3, 4) -> 2 , f_0(4, 3, 5) -> 2 , f_0(4, 3, 7) -> 2 , f_0(4, 4, 3) -> 2 , f_0(4, 4, 4) -> 2 , f_0(4, 4, 5) -> 2 , f_0(4, 4, 7) -> 2 , f_0(4, 5, 3) -> 2 , f_0(4, 5, 4) -> 2 , f_0(4, 5, 5) -> 2 , f_0(4, 5, 7) -> 2 , f_0(4, 7, 3) -> 2 , f_0(4, 7, 4) -> 2 , f_0(4, 7, 5) -> 2 , f_0(4, 7, 7) -> 2 , f_0(5, 3, 3) -> 2 , f_0(5, 3, 4) -> 2 , f_0(5, 3, 5) -> 2 , f_0(5, 3, 7) -> 2 , f_0(5, 4, 3) -> 2 , f_0(5, 4, 4) -> 2 , f_0(5, 4, 5) -> 2 , f_0(5, 4, 7) -> 2 , f_0(5, 5, 3) -> 2 , f_0(5, 5, 4) -> 2 , f_0(5, 5, 5) -> 2 , f_0(5, 5, 7) -> 2 , f_0(5, 7, 3) -> 2 , f_0(5, 7, 4) -> 2 , f_0(5, 7, 5) -> 2 , f_0(5, 7, 7) -> 2 , f_0(7, 3, 3) -> 2 , f_0(7, 3, 4) -> 2 , f_0(7, 3, 5) -> 2 , f_0(7, 3, 7) -> 2 , f_0(7, 4, 3) -> 2 , f_0(7, 4, 4) -> 2 , f_0(7, 4, 5) -> 2 , f_0(7, 4, 7) -> 2 , f_0(7, 5, 3) -> 2 , f_0(7, 5, 4) -> 2 , f_0(7, 5, 5) -> 2 , f_0(7, 5, 7) -> 2 , f_0(7, 7, 3) -> 2 , f_0(7, 7, 4) -> 2 , f_0(7, 7, 5) -> 2 , f_0(7, 7, 7) -> 2 , f_1(3, 3, 3) -> 9 , f_1(3, 3, 4) -> 9 , f_1(3, 3, 5) -> 9 , f_1(3, 3, 7) -> 9 , f_1(3, 4, 3) -> 9 , f_1(3, 4, 4) -> 9 , f_1(3, 4, 5) -> 9 , f_1(3, 4, 7) -> 9 , f_1(3, 5, 3) -> 9 , f_1(3, 5, 4) -> 9 , f_1(3, 5, 5) -> 9 , f_1(3, 5, 7) -> 9 , f_1(3, 7, 3) -> 9 , f_1(3, 7, 4) -> 9 , f_1(3, 7, 5) -> 9 , f_1(3, 7, 7) -> 9 , f_1(4, 3, 3) -> 9 , f_1(4, 3, 4) -> 9 , f_1(4, 3, 5) -> 9 , f_1(4, 3, 7) -> 9 , f_1(4, 4, 3) -> 9 , f_1(4, 4, 4) -> 9 , f_1(4, 4, 5) -> 9 , f_1(4, 4, 7) -> 9 , f_1(4, 5, 3) -> 9 , f_1(4, 5, 4) -> 9 , f_1(4, 5, 5) -> 9 , f_1(4, 5, 7) -> 9 , f_1(4, 7, 3) -> 9 , f_1(4, 7, 4) -> 9 , f_1(4, 7, 5) -> 9 , f_1(4, 7, 7) -> 9 , f_1(5, 3, 3) -> 9 , f_1(5, 3, 4) -> 9 , f_1(5, 3, 5) -> 9 , f_1(5, 3, 7) -> 9 , f_1(5, 4, 3) -> 9 , f_1(5, 4, 4) -> 9 , f_1(5, 4, 5) -> 9 , f_1(5, 4, 7) -> 9 , f_1(5, 5, 3) -> 9 , f_1(5, 5, 4) -> 9 , f_1(5, 5, 5) -> 9 , f_1(5, 5, 7) -> 9 , f_1(5, 7, 3) -> 9 , f_1(5, 7, 4) -> 9 , f_1(5, 7, 5) -> 9 , f_1(5, 7, 7) -> 9 , f_1(7, 3, 3) -> 9 , f_1(7, 3, 4) -> 9 , f_1(7, 3, 5) -> 9 , f_1(7, 3, 7) -> 9 , f_1(7, 4, 3) -> 9 , f_1(7, 4, 4) -> 9 , f_1(7, 4, 5) -> 9 , f_1(7, 4, 7) -> 9 , f_1(7, 5, 3) -> 9 , f_1(7, 5, 4) -> 9 , f_1(7, 5, 5) -> 9 , f_1(7, 5, 7) -> 9 , f_1(7, 7, 3) -> 9 , f_1(7, 7, 4) -> 9 , f_1(7, 7, 5) -> 9 , f_1(7, 7, 7) -> 9 , a_0() -> 3 , mark_0(3) -> 1 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(5) -> 4 , mark_0(7) -> 4 , mark_1(9) -> 2 , mark_1(9) -> 9 , b_0() -> 5 , proper_0(3) -> 6 , proper_0(4) -> 6 , proper_0(5) -> 6 , proper_0(7) -> 6 , ok_0(2) -> 2 , ok_0(3) -> 6 , ok_0(3) -> 7 , ok_0(4) -> 7 , ok_0(5) -> 6 , ok_0(5) -> 7 , ok_0(7) -> 7 , ok_1(9) -> 9 , top_0(1) -> 8 , top_0(3) -> 8 , top_0(4) -> 8 , top_0(5) -> 8 , top_0(6) -> 8 , top_0(7) -> 8} Hurray, we answered YES(?,O(n^1))