We consider the following Problem: Strict Trs: { minus(n__0(), Y) -> 0() , minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , div(0(), n__s(Y)) -> 0() , div(s(X), n__s(Y)) -> if(geq(X, activate(Y)), n__s(div(minus(X, activate(Y)), n__s(activate(Y)))), n__0()) , if(true(), X, Y) -> activate(X) , if(false(), X, Y) -> activate(Y) , 0() -> n__0() , s(X) -> n__s(X) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: Arguments of following rules are not normal-forms: { div(s(X), n__s(Y)) -> if(geq(X, activate(Y)), n__s(div(minus(X, activate(Y)), n__s(activate(Y)))), n__0()) , div(0(), n__s(Y)) -> 0()} All above mentioned rules can be savely removed. We consider the following Problem: Strict Trs: { minus(n__0(), Y) -> 0() , minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , if(true(), X, Y) -> activate(X) , if(false(), X, Y) -> activate(Y) , 0() -> n__0() , s(X) -> n__s(X) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [1] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , if(true(), X, Y) -> activate(X) , 0() -> n__0() , s(X) -> n__s(X) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} Weak Trs: { minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {if(true(), X, Y) -> activate(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [1] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , 0() -> n__0() , s(X) -> n__s(X) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} Weak Trs: { if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {0() -> n__0()} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [1] n__0() = [0] [0] 0() = [1] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , s(X) -> n__s(X) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} Weak Trs: { 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {s(X) -> n__s(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [1] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [2] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , activate(X) -> X} Weak Trs: { s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { activate(n__0()) -> 0() , activate(n__s(X)) -> s(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [0] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , activate(X) -> X} Weak Trs: { activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [1 0] [0] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [2] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 1] [0] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [2] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 1] [0 1] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , activate(X) -> X} Weak Trs: { minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [3] [0 0] [1 0] [0] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [3] [0 0] [0] activate(x1) = [1 0] x1 + [2] [0 0] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [1 0] [1 0] [3] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [3] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [3] [0 0] [0 0] [0 0] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: {activate(X) -> X} Weak Trs: { geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {activate(X) -> X} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {}, Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 0] [1] n__0() = [0] [0] 0() = [0] [0] n__s(x1) = [1 0] x1 + [2] [0 0] [0] activate(x1) = [1 0] x1 + [1] [0 1] [1] geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [1 0] [1] true() = [0] [0] false() = [0] [0] div(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] s(x1) = [1 0] x1 + [2] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [0 1] [0 1] [1] The strictly oriented rules are moved into the weak component. We consider the following Problem: Weak Trs: { activate(X) -> X , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(X) -> X , geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y)) , minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y)) , activate(n__0()) -> 0() , activate(n__s(X)) -> s(X) , s(X) -> n__s(X) , 0() -> n__0() , if(true(), X, Y) -> activate(X) , minus(n__0(), Y) -> 0() , geq(X, n__0()) -> true() , geq(n__0(), n__s(Y)) -> false() , if(false(), X, Y) -> activate(Y)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded Hurray, we answered YES(?,O(n^1))