We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , splitAt(0(), XS) -> pair(nil(), XS) , splitAt(s(N), cons(X, XS)) -> u(splitAt(N, activate(XS)), N, X, activate(XS)) , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , sel(N, XS) -> head(afterNth(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: Arguments of following rules are not normal-forms: {splitAt(s(N), cons(X, XS)) -> u(splitAt(N, activate(XS)), N, X, activate(XS))} All above mentioned rules can be savely removed. We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , splitAt(0(), XS) -> pair(nil(), XS) , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , sel(N, XS) -> head(afterNth(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(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: { splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 1] x1 + [1] [0 0] [1] cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] snd(x1) = [1 0] x1 + [1] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [1] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [0] [0 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [1] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] afterNth(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] take(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , sel(N, XS) -> head(afterNth(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , afterNth(N, XS) -> snd(splitAt(N, XS)) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {sel(N, XS) -> head(afterNth(N, XS))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 1] x1 + [1] [0 0] [1] cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] snd(x1) = [1 0] x1 + [1] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [1] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [0] [0 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [1] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] afterNth(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] take(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , take(N, XS) -> fst(splitAt(N, XS)) , afterNth(N, XS) -> snd(splitAt(N, XS)) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {take(N, XS) -> fst(splitAt(N, XS))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 1] x1 + [1] [0 0] [1] cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] snd(x1) = [1 1] x1 + [0] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [2] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [1] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [0] [0 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [1] sel(x1, x2) = [0 1] x1 + [0 0] x2 + [0] [0 0] [0 0] [2] afterNth(x1, x2) = [0 1] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] take(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , afterNth(N, XS) -> snd(splitAt(N, XS)) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {afterNth(N, XS) -> snd(splitAt(N, XS))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 1] x1 + [1] [0 0] [1] cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 1] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] snd(x1) = [1 0] x1 + [1] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 1] [0 0] [0] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [1] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [0] [0 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [1] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] afterNth(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] take(x1, x2) = [0 1] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 1] x1 + [2] [0 0] [1] cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] snd(x1) = [1 0] x1 + [1] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [0] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [0] [0 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [1] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] afterNth(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] take(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [1] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 0] [1] pair(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] snd(x1) = [1 0] x1 + [1] [0 0] [1] splitAt(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [1] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [1] head(x1) = [1 0] x1 + [1] [0 0] [1] tail(x1) = [1 0] x1 + [1] [0 0] [1] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [3] [0 0] [0 0] [2] afterNth(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] take(x1, x2) = [0 0] x1 + [0 0] x2 + [2] [0 0] [0 0] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { fst(pair(XS, YS)) -> XS , snd(pair(XS, YS)) -> YS , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {snd(pair(XS, YS)) -> YS} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [0] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [0] [1 0] [0] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [3] [0 0] [0 1] [0] snd(x1) = [1 0] x1 + [2] [0 1] [1] splitAt(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 0] [0 1] [0] 0() = [3] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0 0] x4 + [0] [0 1] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [1] head(x1) = [1 0] x1 + [1] [1 0] [1] tail(x1) = [1 0] x1 + [0] [0 0] [0] sel(x1, x2) = [1 0] x1 + [1 0] x2 + [3] [1 0] [1 0] [3] afterNth(x1, x2) = [1 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] take(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [1 0] [1 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { fst(pair(XS, YS)) -> XS , head(cons(N, XS)) -> N , tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {head(cons(N, XS)) -> N} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [0] [1 1] [3] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 1] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [0] [1 0] [1] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [1] [0 0] [0 1] [0] snd(x1) = [1 0] x1 + [0] [0 1] [1] splitAt(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 1] [0 1] [0] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0 0] x4 + [0] [0 1] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [1] head(x1) = [1 0] x1 + [1] [0 1] [1] tail(x1) = [1 0] x1 + [1] [0 0] [1] sel(x1, x2) = [0 0] x1 + [1 0] x2 + [3] [0 1] [0 1] [3] afterNth(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 1] [0 1] [2] take(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [1 0] [3] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { fst(pair(XS, YS)) -> XS , tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { head(cons(N, XS)) -> N , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {fst(pair(XS, YS)) -> XS} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [0] [1 1] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 1] [0 0] [0] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [0] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 1] [1] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 1] [0] snd(x1) = [1 0] x1 + [1] [0 1] [1] splitAt(x1, x2) = [0 0] x1 + [1 0] x2 + [0] [0 0] [0 1] [0] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0 0] x4 + [1] [0 1] [0 0] [0 0] [0 0] [1] activate(x1) = [1 0] x1 + [0] [0 0] [0] head(x1) = [1 0] x1 + [1] [0 1] [1] tail(x1) = [1 0] x1 + [1] [0 0] [0] sel(x1, x2) = [0 0] x1 + [1 0] x2 + [3] [0 0] [0 1] [3] afterNth(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] take(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X} Weak Trs: { fst(pair(XS, YS)) -> XS , head(cons(N, XS)) -> N , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} 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(natsFrom) = {1}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {1}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {1}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [0] [0 1] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 1] [0 0] [0] n__natsFrom(x1) = [1 0] x1 + [0] [0 1] [1] n__s(x1) = [1 0] x1 + [0] [0 0] [0] fst(x1) = [1 0] x1 + [1] [0 1] [1] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 1] [0] snd(x1) = [1 0] x1 + [1] [0 1] [1] splitAt(x1, x2) = [0 0] x1 + [1 0] x2 + [0] [0 0] [0 1] [1] 0() = [0] [0] nil() = [0] [0] s(x1) = [1 0] x1 + [0] [0 0] [1] u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0 0] x4 + [3] [0 1] [0 0] [0 1] [0 0] [1] activate(x1) = [1 0] x1 + [2] [0 1] [0] head(x1) = [1 0] x1 + [1] [0 1] [1] tail(x1) = [1 0] x1 + [1] [0 0] [1] sel(x1, x2) = [0 0] x1 + [1 0] x2 + [3] [0 0] [0 1] [3] afterNth(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] take(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Weak Trs: { activate(X) -> X , fst(pair(XS, YS)) -> XS , head(cons(N, XS)) -> N , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Weak Trs: { activate(X) -> X , fst(pair(XS, YS)) -> XS , head(cons(N, XS)) -> N , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We have computed the following dependency pairs Strict DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , activate^#(n__s(X)) -> s^#(activate(X))} Weak DPs: { activate^#(X) -> c_4() , fst^#(pair(XS, YS)) -> c_5() , head^#(cons(N, XS)) -> c_6() , snd^#(pair(XS, YS)) -> c_7() , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , natsFrom^#(N) -> c_9() , afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , take^#(N, XS) -> fst^#(splitAt(N, XS)) , sel^#(N, XS) -> head^#(afterNth(N, XS)) , splitAt^#(0(), XS) -> c_13() , natsFrom^#(X) -> c_14() , s^#(X) -> c_15()} We consider the following Problem: Strict DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , activate^#(n__s(X)) -> s^#(activate(X))} Strict Trs: { tail(cons(N, XS)) -> activate(XS) , activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Weak DPs: { activate^#(X) -> c_4() , fst^#(pair(XS, YS)) -> c_5() , head^#(cons(N, XS)) -> c_6() , snd^#(pair(XS, YS)) -> c_7() , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , natsFrom^#(N) -> c_9() , afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , take^#(N, XS) -> fst^#(splitAt(N, XS)) , sel^#(N, XS) -> head^#(afterNth(N, XS)) , splitAt^#(0(), XS) -> c_13() , natsFrom^#(X) -> c_14() , s^#(X) -> c_15()} Weak Trs: { activate(X) -> X , fst(pair(XS, YS)) -> XS , head(cons(N, XS)) -> N , snd(pair(XS, YS)) -> YS , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS) , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , take(N, XS) -> fst(splitAt(N, XS)) , sel(N, XS) -> head(afterNth(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We replace strict/weak-rules by the corresponding usable rules: Strict Usable Rules: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Weak Usable Rules: { activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} We consider the following Problem: Strict DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , activate^#(n__s(X)) -> s^#(activate(X))} Strict Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Weak DPs: { activate^#(X) -> c_4() , fst^#(pair(XS, YS)) -> c_5() , head^#(cons(N, XS)) -> c_6() , snd^#(pair(XS, YS)) -> c_7() , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , natsFrom^#(N) -> c_9() , afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , take^#(N, XS) -> fst^#(splitAt(N, XS)) , sel^#(N, XS) -> head^#(afterNth(N, XS)) , splitAt^#(0(), XS) -> c_13() , natsFrom^#(X) -> c_14() , s^#(X) -> c_15()} Weak Trs: { activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: Dependency Pairs: { activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , activate^#(n__s(X)) -> s^#(activate(X))} TRS Component: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X))} Interpretation of constant growth: ---------------------------------- The following argument positions are usable: Uargs(natsFrom) = {1}, Uargs(cons) = {}, Uargs(n__natsFrom) = {}, Uargs(n__s) = {}, Uargs(fst) = {}, Uargs(pair) = {}, Uargs(snd) = {1}, Uargs(splitAt) = {}, Uargs(s) = {1}, Uargs(u) = {}, Uargs(activate) = {}, Uargs(head) = {}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {}, Uargs(tail^#) = {}, Uargs(activate^#) = {}, Uargs(natsFrom^#) = {1}, Uargs(s^#) = {1}, Uargs(fst^#) = {1}, Uargs(head^#) = {1}, Uargs(snd^#) = {1}, Uargs(u^#) = {}, Uargs(afterNth^#) = {}, Uargs(take^#) = {}, Uargs(sel^#) = {}, Uargs(splitAt^#) = {} We have the following constructor-based EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: natsFrom(x1) = [1 0] x1 + [1] [0 0] [1] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [1] [0 0] [0 0] [1] n__natsFrom(x1) = [1 0] x1 + [1] [0 0] [0] n__s(x1) = [1 0] x1 + [2] [0 0] [0] fst(x1) = [0 0] x1 + [0] [0 0] [0] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [0] [0 1] [0 1] [0] snd(x1) = [1 0] x1 + [1] [0 2] [1] splitAt(x1, x2) = [0 0] x1 + [2 0] x2 + [0] [0 0] [0 1] [0] 0() = [1] [1] nil() = [0] [0] s(x1) = [1 0] x1 + [3] [0 0] [1] u(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [0] [0 0] [0 0] [0 0] [0 0] [0] activate(x1) = [2 0] x1 + [0] [0 1] [1] head(x1) = [0 0] x1 + [0] [0 0] [0] tail(x1) = [0 0] x1 + [0] [0 0] [0] sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] afterNth(x1, x2) = [0 0] x1 + [2 0] x2 + [1] [0 0] [0 2] [2] take(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] tail^#(x1) = [2 0] x1 + [0] [0 0] [0] activate^#(x1) = [2 0] x1 + [0] [0 0] [0] natsFrom^#(x1) = [1 0] x1 + [0] [0 0] [0] s^#(x1) = [1 0] x1 + [0] [0 0] [0] c_4() = [0] [0] fst^#(x1) = [1 0] x1 + [1] [0 0] [1] c_5() = [0] [0] head^#(x1) = [1 0] x1 + [0] [0 0] [1] c_6() = [0] [0] snd^#(x1) = [1 0] x1 + [1] [0 0] [1] c_7() = [0] [0] u^#(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [2 0] x3 + [0 0] x4 + [1] [0 0] [0 0] [0 0] [0 0] [1] c_9() = [0] [0] afterNth^#(x1, x2) = [0 0] x1 + [2 0] x2 + [2] [0 0] [0 0] [2] take^#(x1, x2) = [0 0] x1 + [2 0] x2 + [2] [0 0] [0 0] [2] sel^#(x1, x2) = [0 0] x1 + [2 0] x2 + [2] [0 0] [0 0] [2] splitAt^#(x1, x2) = [3 0] x1 + [0 0] x2 + [0] [0 1] [0 0] [0] c_13() = [0] [0] c_14() = [0] [0] c_15() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak DPs: { activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , activate^#(n__s(X)) -> s^#(activate(X)) , activate^#(X) -> c_4() , fst^#(pair(XS, YS)) -> c_5() , head^#(cons(N, XS)) -> c_6() , snd^#(pair(XS, YS)) -> c_7() , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , natsFrom^#(N) -> c_9() , afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , take^#(N, XS) -> fst^#(splitAt(N, XS)) , sel^#(N, XS) -> head^#(afterNth(N, XS)) , splitAt^#(0(), XS) -> c_13() , natsFrom^#(X) -> c_14() , s^#(X) -> c_15()} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We use following congruence DG for path analysis ->9:{1} [ YES(O(1),O(1)) ] | |->11:{2} [ subsumed ] | | | |->12:{9} [ YES(O(1),O(1)) ] | | | `->13:{14} [ YES(O(1),O(1)) ] | |->14:{3} [ subsumed ] | | | `->15:{15} [ YES(O(1),O(1)) ] | `->10:{4} [ YES(O(1),O(1)) ] ->5:{8} [ subsumed ] | |->11:{2} [ subsumed ] | | | |->12:{9} [ YES(O(1),O(1)) ] | | | `->13:{14} [ YES(O(1),O(1)) ] | |->14:{3} [ subsumed ] | | | `->15:{15} [ YES(O(1),O(1)) ] | `->10:{4} [ YES(O(1),O(1)) ] ->4:{10} [ subsumed ] | `->6:{7} [ YES(O(1),O(1)) ] ->3:{11} [ subsumed ] | `->8:{5} [ YES(O(1),O(1)) ] ->2:{12} [ subsumed ] | `->7:{6} [ YES(O(1),O(1)) ] ->1:{13} [ YES(O(1),O(1)) ] Here dependency-pairs are as follows: Strict DPs: {1: tail^#(cons(N, XS)) -> activate^#(XS)} WeakDPs DPs: { 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) , 3: activate^#(n__s(X)) -> s^#(activate(X)) , 4: activate^#(X) -> c_4() , 5: fst^#(pair(XS, YS)) -> c_5() , 6: head^#(cons(N, XS)) -> c_6() , 7: snd^#(pair(XS, YS)) -> c_7() , 8: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 9: natsFrom^#(N) -> c_9() , 10: afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , 11: take^#(N, XS) -> fst^#(splitAt(N, XS)) , 12: sel^#(N, XS) -> head^#(afterNth(N, XS)) , 13: splitAt^#(0(), XS) -> c_13() , 14: natsFrom^#(X) -> c_14() , 15: s^#(X) -> c_15()} * Path 9:{1}: YES(O(1),O(1)) -------------------------- We consider the following Problem: Strict DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: tail^#(cons(N, XS)) -> activate^#(XS) together with the congruence-graph ->1:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: tail^#(cons(N, XS)) -> activate^#(XS)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: tail^#(cons(N, XS)) -> activate^#(XS)} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 9:{1}->11:{2}: subsumed ---------------------------- This path is subsumed by the proof of paths 9:{1}->11:{2}->13:{14}, 9:{1}->11:{2}->12:{9}. * Path 9:{1}->11:{2}->12:{9}: YES(O(1),O(1)) ------------------------------------------ We consider the following Problem: Weak DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) :2 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 9:{1}->11:{2}->13:{14}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Weak DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) :2 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 9:{1}->14:{3}: subsumed ---------------------------- This path is subsumed by the proof of paths 9:{1}->14:{3}->15:{15}. * Path 9:{1}->14:{3}->15:{15}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Weak DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__s(X)) -> s^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__s(X)) -> s^#(activate(X)) :2 2: activate^#(n__s(X)) -> s^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__s(X)) -> s^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: tail^#(cons(N, XS)) -> activate^#(XS) , 2: activate^#(n__s(X)) -> s^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 9:{1}->10:{4}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: tail^#(cons(N, XS)) -> activate^#(XS) together with the congruence-graph ->1:{1} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: {1: tail^#(cons(N, XS)) -> activate^#(XS)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: tail^#(cons(N, XS)) -> activate^#(XS)} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 5:{8}: subsumed -------------------- This path is subsumed by the proof of paths 5:{8}->14:{3}, 5:{8}->11:{2}, 5:{8}->10:{4}. * Path 5:{8}->11:{2}: subsumed ---------------------------- This path is subsumed by the proof of paths 5:{8}->11:{2}->13:{14}, 5:{8}->11:{2}->12:{9}. * Path 5:{8}->11:{2}->12:{9}: YES(O(1),O(1)) ------------------------------------------ We consider the following Problem: Weak DPs: { u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) :2 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 5:{8}->11:{2}->13:{14}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Weak DPs: { u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) :2 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__natsFrom(X)) -> natsFrom^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 5:{8}->14:{3}: subsumed ---------------------------- This path is subsumed by the proof of paths 5:{8}->14:{3}->15:{15}. * Path 5:{8}->14:{3}->15:{15}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Weak DPs: { u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , activate^#(n__s(X)) -> s^#(activate(X))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__s(X)) -> s^#(activate(X)) :2 2: activate^#(n__s(X)) -> s^#(activate(X)) together with the congruence-graph ->1:{1} Weak SCC | `->2:{2} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__s(X)) -> s^#(activate(X))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 2: activate^#(n__s(X)) -> s^#(activate(X))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 5:{8}->10:{4}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) together with the congruence-graph ->1:{1} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: {1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 4:{10}: subsumed --------------------- This path is subsumed by the proof of paths 4:{10}->6:{7}. * Path 4:{10}->6:{7}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {afterNth^#(N, XS) -> snd^#(splitAt(N, XS))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) together with the congruence-graph ->1:{1} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 3:{11}: subsumed --------------------- This path is subsumed by the proof of paths 3:{11}->8:{5}. * Path 3:{11}->8:{5}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {take^#(N, XS) -> fst^#(splitAt(N, XS))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: take^#(N, XS) -> fst^#(splitAt(N, XS)) together with the congruence-graph ->1:{1} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: {1: take^#(N, XS) -> fst^#(splitAt(N, XS))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: take^#(N, XS) -> fst^#(splitAt(N, XS))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 2:{12}: subsumed --------------------- This path is subsumed by the proof of paths 2:{12}->7:{6}. * Path 2:{12}->7:{6}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {sel^#(N, XS) -> head^#(afterNth(N, XS))} Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: sel^#(N, XS) -> head^#(afterNth(N, XS)) together with the congruence-graph ->1:{1} Weak SCC Here dependency-pairs are as follows: WeakDPs DPs: {1: sel^#(N, XS) -> head^#(afterNth(N, XS))} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: {1: sel^#(N, XS) -> head^#(afterNth(N, XS))} We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded * Path 1:{13}: YES(O(1),O(1)) --------------------------- We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { activate(n__natsFrom(X)) -> natsFrom(activate(X)) , activate(n__s(X)) -> s(activate(X)) , activate(X) -> X , snd(pair(XS, YS)) -> YS , natsFrom(N) -> cons(N, n__natsFrom(n__s(N))) , afterNth(N, XS) -> snd(splitAt(N, XS)) , splitAt(0(), XS) -> pair(nil(), XS) , natsFrom(X) -> n__natsFrom(X) , s(X) -> n__s(X)} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: No rule is usable. We consider the following Problem: StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded Hurray, we answered YES(?,O(n^1))