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