We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(true(), X, Y)) -> mark(X) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(c()) -> active(c()) , mark(true()) -> active(true()) , mark(false()) -> active(false()) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(true(), X, Y)) -> mark(X) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(c()) -> active(c()) , mark(true()) -> active(true()) , mark(false()) -> active(false()) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(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: { f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(X1, X2, X3)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [1] f(x1) = [1 0] x1 + [0] [0 0] [1] mark(x1) = [1 0] x1 + [1] [1 0] [1] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [0 1] [0 0] [3] c() = [0] [0] true() = [0] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(true(), X, Y)) -> mark(X) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(c()) -> active(c()) , mark(true()) -> active(true()) , mark(false()) -> active(false()) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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: { if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [1] f(x1) = [1 0] x1 + [0] [0 0] [1] mark(x1) = [1 0] x1 + [1] [1 0] [1] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [0 0] [0 0] [1] c() = [0] [0] true() = [0] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(true(), X, Y)) -> mark(X) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(c()) -> active(c()) , mark(true()) -> active(true()) , mark(false()) -> active(false()) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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(if(true(), X, Y)) -> mark(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [1] f(x1) = [1 0] x1 + [0] [0 0] [0] mark(x1) = [1 0] x1 + [1] [1 0] [1] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [0 0] [0 0] [1] c() = [0] [0] true() = [2] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(c()) -> active(c()) , mark(true()) -> active(true()) , mark(false()) -> active(false()) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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: { mark(c()) -> active(c()) , mark(false()) -> active(false())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [0] f(x1) = [1 0] x1 + [0] [0 0] [1] mark(x1) = [1 0] x1 + [3] [0 0] [0] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [0 0] [0 0] [1] c() = [0] [0] true() = [2] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(true()) -> active(true()) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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(X)) -> mark(if(X, c(), f(true())))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [0] f(x1) = [1 0] x1 + [2] [0 0] [1] mark(x1) = [1 0] x1 + [1] [1 0] [0] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [0 0] [0 0] [1] c() = [0] [0] true() = [0] [0] false() = [1] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , mark(true()) -> active(true()) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { active(f(X)) -> mark(if(X, c(), f(true()))) , mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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: {mark(true()) -> active(true())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} 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) = [1 0] x1 + [2] [0 0] [1] mark(x1) = [1 0] x1 + [2] [0 0] [1] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [0 0] x3 + [0] [0 0] [1 0] [0 0] [1] c() = [0] [0] true() = [1] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { active(if(false(), X, Y)) -> mark(Y) , mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { mark(true()) -> active(true()) , active(f(X)) -> mark(if(X, c(), f(true()))) , mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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(if(false(), X, Y)) -> mark(Y)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [0] [1 0] [1] f(x1) = [1 0] x1 + [0] [0 0] [1] mark(x1) = [1 0] x1 + [0] [1 0] [1] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [0] [1 0] [0 0] [0 0] [1] c() = [0] [0] true() = [0] [0] false() = [2] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3)) , if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Weak Trs: { active(if(false(), X, Y)) -> mark(Y) , mark(true()) -> active(true()) , active(f(X)) -> mark(if(X, c(), f(true()))) , mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(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: { if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {1}, Uargs(if) = {1, 2} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: active(x1) = [1 0] x1 + [1] [1 0] [0] f(x1) = [1 0] x1 + [0] [0 0] [1] mark(x1) = [1 0] x1 + [1] [1 0] [0] if(x1, x2, x3) = [1 0] x1 + [1 0] x2 + [1 0] x3 + [0] [0 0] [0 0] [1 0] [0] c() = [0] [0] true() = [0] [0] false() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3))} Weak Trs: { if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3) , active(if(false(), X, Y)) -> mark(Y) , mark(true()) -> active(true()) , active(f(X)) -> mark(if(X, c(), f(true()))) , mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(X1, X2, X3)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { mark(f(X)) -> active(f(mark(X))) , mark(if(X1, X2, X3)) -> active(if(mark(X1), mark(X2), X3))} Weak Trs: { if(X1, X2, mark(X3)) -> if(X1, X2, X3) , if(X1, X2, active(X3)) -> if(X1, X2, X3) , active(if(false(), X, Y)) -> mark(Y) , mark(true()) -> active(true()) , active(f(X)) -> mark(if(X, c(), f(true()))) , mark(c()) -> active(c()) , mark(false()) -> active(false()) , active(if(true(), X, Y)) -> mark(X) , if(X1, mark(X2), X3) -> if(X1, X2, X3) , if(X1, active(X2), X3) -> if(X1, X2, X3) , f(mark(X)) -> f(X) , f(active(X)) -> f(X) , if(mark(X1), X2, X3) -> if(X1, X2, X3) , if(active(X1), X2, X3) -> if(X1, X2, X3)} 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 , f_0(2) -> 1 , mark_0(2) -> 1 , if_0(2, 2, 2) -> 1 , c_0() -> 2 , true_0() -> 2 , false_0() -> 2} Hurray, we answered YES(?,O(n^1))