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