We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(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) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(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) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(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) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We have computed the following dependency pairs Strict DPs: { natsFrom^#(N) -> c_1() , fst^#(pair(XS, YS)) -> c_2() , snd^#(pair(XS, YS)) -> c_3() , splitAt^#(0(), XS) -> c_4() , splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , head^#(cons(N, XS)) -> c_7() , 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) -> c_12() , activate^#(n__natsFrom(X)) -> natsFrom^#(X) , activate^#(X) -> c_14()} We consider the following Problem: Strict DPs: { natsFrom^#(N) -> c_1() , fst^#(pair(XS, YS)) -> c_2() , snd^#(pair(XS, YS)) -> c_3() , splitAt^#(0(), XS) -> c_4() , splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , head^#(cons(N, XS)) -> c_7() , 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) -> c_12() , activate^#(n__natsFrom(X)) -> natsFrom^#(X) , activate^#(X) -> c_14()} Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(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) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} We consider the following Problem: Strict DPs: { natsFrom^#(N) -> c_1() , fst^#(pair(XS, YS)) -> c_2() , snd^#(pair(XS, YS)) -> c_3() , splitAt^#(0(), XS) -> c_4() , splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , head^#(cons(N, XS)) -> c_7() , 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) -> c_12() , activate^#(n__natsFrom(X)) -> natsFrom^#(X) , activate^#(X) -> c_14()} Strict Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(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: Dependency Pairs: { fst^#(pair(XS, YS)) -> c_2() , snd^#(pair(XS, YS)) -> c_3() , splitAt^#(0(), XS) -> c_4() , splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} TRS Component: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} Interpretation of constant growth: ---------------------------------- The following argument positions are usable: Uargs(natsFrom) = {}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {}, Uargs(s) = {}, Uargs(fst) = {}, Uargs(pair) = {1}, Uargs(snd) = {1}, Uargs(splitAt) = {2}, Uargs(u) = {1, 4}, Uargs(activate) = {}, Uargs(head) = {}, Uargs(tail) = {}, Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {}, Uargs(natsFrom^#) = {}, Uargs(fst^#) = {1}, Uargs(snd^#) = {1}, Uargs(splitAt^#) = {}, Uargs(u^#) = {1, 4}, Uargs(activate^#) = {}, Uargs(head^#) = {1}, Uargs(tail^#) = {}, Uargs(sel^#) = {}, Uargs(take^#) = {}, Uargs(afterNth^#) = {} 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] [3] cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0] [0 0] [1 1] [2] n__natsFrom(x1) = [1 0] x1 + [0] [0 0] [1] s(x1) = [0 0] x1 + [0] [0 1] [3] fst(x1) = [0 0] x1 + [0] [0 0] [0] pair(x1, x2) = [1 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [0] snd(x1) = [1 0] x1 + [0] [0 1] [1] splitAt(x1, x2) = [0 3] x1 + [1 2] x2 + [0] [0 0] [0 2] [0] 0() = [0] [3] nil() = [1] [0] u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [1 0] x4 + [3] [0 1] [0 0] [0 0] [0 0] [0] activate(x1) = [1 0] x1 + [2] [0 1] [2] 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 3] x1 + [1 2] x2 + [2] [0 0] [0 2] [2] take(x1, x2) = [0 0] x1 + [0 0] x2 + [0] [0 0] [0 0] [0] natsFrom^#(x1) = [0 0] x1 + [0] [0 0] [0] c_1() = [0] [0] fst^#(x1) = [1 0] x1 + [0] [0 0] [0] c_2() = [0] [0] snd^#(x1) = [1 0] x1 + [0] [0 0] [0] c_3() = [0] [0] splitAt^#(x1, x2) = [0 3] x1 + [0 3] x2 + [0] [0 0] [0 0] [0] c_4() = [0] [0] u^#(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [2 0] x4 + [0] [0 0] [0 0] [0 0] [0 0] [0] activate^#(x1) = [0 0] x1 + [0] [0 0] [0] head^#(x1) = [1 0] x1 + [0] [0 0] [0] c_7() = [0] [0] tail^#(x1) = [1 0] x1 + [0] [0 0] [0] sel^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0] [0 0] [0 0] [0] take^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0] [0 0] [0 0] [0] afterNth^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0] [0 0] [0 0] [0] c_12() = [0] [0] c_14() = [0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict DPs: { natsFrom^#(N) -> c_1() , head^#(cons(N, XS)) -> c_7() , 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) -> c_12() , activate^#(n__natsFrom(X)) -> natsFrom^#(X) , activate^#(X) -> c_14()} Weak DPs: { fst^#(pair(XS, YS)) -> c_2() , snd^#(pair(XS, YS)) -> c_3() , splitAt^#(0(), XS) -> c_4() , splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We use following congruence DG for path analysis ->9:{3} [ YES(O(1),O(1)) ] | |->11:{8} [ YES(O(1),O(1)) ] | | | |->14:{1} [ YES(O(1),O(1)) ] | | | `->12:{7} [ YES(O(1),O(1)) ] | `->10:{9} [ YES(O(1),O(1)) ] ->8:{4} [ YES(O(1),O(1)) ] | `->13:{2} [ YES(O(1),O(1)) ] ->6:{5} [ YES(O(1),O(1)) ] | `->7:{10} [ YES(O(1),O(1)) ] ->4:{6} [ YES(O(1),O(1)) ] | `->5:{11} [ YES(O(1),O(1)) ] ->3:{12} [ YES(O(1),O(1)) ] ->1:{13} [ subsumed ] | `->2:{14} [ subsumed ] | |->11:{8} [ YES(O(1),O(1)) ] | | | |->14:{1} [ YES(O(1),O(1)) ] | | | `->12:{7} [ YES(O(1),O(1)) ] | `->10:{9} [ YES(O(1),O(1)) ] Here dependency-pairs are as follows: Strict DPs: { 1: natsFrom^#(N) -> c_1() , 2: head^#(cons(N, XS)) -> c_7() , 3: tail^#(cons(N, XS)) -> activate^#(XS) , 4: sel^#(N, XS) -> head^#(afterNth(N, XS)) , 5: take^#(N, XS) -> fst^#(splitAt(N, XS)) , 6: afterNth^#(N, XS) -> snd^#(splitAt(N, XS)) , 7: natsFrom^#(X) -> c_12() , 8: activate^#(n__natsFrom(X)) -> natsFrom^#(X) , 9: activate^#(X) -> c_14()} WeakDPs DPs: { 10: fst^#(pair(XS, YS)) -> c_2() , 11: snd^#(pair(XS, YS)) -> c_3() , 12: splitAt^#(0(), XS) -> c_4() , 13: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 14: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} * Path 9:{3}: YES(O(1),O(1)) -------------------------- We consider the following Problem: Strict DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{3}->11:{8}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Strict DPs: {activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X) 2: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} WeakDPs DPs: {2: tail^#(cons(N, XS)) -> activate^#(XS)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{3}->11:{8}->14:{1}: YES(O(1),O(1)) ------------------------------------------ We consider the following Problem: Strict DPs: {natsFrom^#(N) -> c_1()} Weak DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: natsFrom^#(N) -> c_1() 2: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :3 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X) -->_1 natsFrom^#(N) -> c_1() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: natsFrom^#(N) -> c_1()} WeakDPs DPs: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X) , 1: natsFrom^#(N) -> c_1()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{3}->11:{8}->12:{7}: YES(O(1),O(1)) ------------------------------------------ We consider the following Problem: Strict DPs: {natsFrom^#(X) -> c_12()} Weak DPs: { tail^#(cons(N, XS)) -> activate^#(XS) , activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: natsFrom^#(X) -> c_12() 2: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :3 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X) -->_1 natsFrom^#(X) -> c_12() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: natsFrom^#(X) -> c_12()} WeakDPs DPs: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X) , 1: natsFrom^#(X) -> c_12()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{3}->10:{9}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Strict DPs: {activate^#(X) -> c_14()} Weak DPs: {tail^#(cons(N, XS)) -> activate^#(XS)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: activate^#(X) -> c_14() 2: tail^#(cons(N, XS)) -> activate^#(XS) -->_1 activate^#(X) -> c_14() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: activate^#(X) -> c_14()} WeakDPs DPs: {2: tail^#(cons(N, XS)) -> activate^#(XS)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: tail^#(cons(N, XS)) -> activate^#(XS) , 1: activate^#(X) -> c_14()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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 8:{4}: YES(O(1),O(1)) -------------------------- We consider the following Problem: Strict DPs: {sel^#(N, XS) -> head^#(afterNth(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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 8:{4}->13:{2}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Strict DPs: {head^#(cons(N, XS)) -> c_7()} Weak DPs: {sel^#(N, XS) -> head^#(afterNth(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: head^#(cons(N, XS)) -> c_7() 2: sel^#(N, XS) -> head^#(afterNth(N, XS)) -->_1 head^#(cons(N, XS)) -> c_7() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: head^#(cons(N, XS)) -> c_7()} WeakDPs DPs: {2: 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: { 2: sel^#(N, XS) -> head^#(afterNth(N, XS)) , 1: head^#(cons(N, XS)) -> c_7()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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 6:{5}: YES(O(1),O(1)) -------------------------- We consider the following Problem: Strict DPs: {take^#(N, XS) -> fst^#(splitAt(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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 6:{5}->7:{10}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {take^#(N, XS) -> fst^#(splitAt(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{6}: YES(O(1),O(1)) -------------------------- We consider the following Problem: Strict DPs: {afterNth^#(N, XS) -> snd^#(splitAt(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{6}->5:{11}: YES(O(1),O(1)) ---------------------------------- We consider the following Problem: Weak DPs: {afterNth^#(N, XS) -> snd^#(splitAt(N, XS))} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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:{12}: YES(O(1),O(1)) --------------------------- We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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}: subsumed --------------------- This path is subsumed by the proof of paths 1:{13}->2:{14}. * Path 1:{13}->2:{14}: subsumed ----------------------------- This path is subsumed by the proof of paths 1:{13}->2:{14}->11:{8}, 1:{13}->2:{14}->10:{9}. * Path 1:{13}->2:{14}->11:{8}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Strict DPs: {activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak DPs: { splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X) 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} WeakDPs DPs: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: 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: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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}->2:{14}->11:{8}->14:{1}: YES(O(1),O(1)) --------------------------------------------------- We consider the following Problem: Strict DPs: {natsFrom^#(N) -> c_1()} Weak DPs: { splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: natsFrom^#(N) -> c_1() 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :4 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X) -->_1 natsFrom^#(N) -> c_1() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{4} Weak SCC | `->4:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: natsFrom^#(N) -> c_1()} WeakDPs DPs: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X) , 1: natsFrom^#(N) -> c_1()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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}->2:{14}->11:{8}->12:{7}: YES(O(1),O(1)) --------------------------------------------------- We consider the following Problem: Strict DPs: {natsFrom^#(X) -> c_12()} Weak DPs: { splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , activate^#(n__natsFrom(X)) -> natsFrom^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: natsFrom^#(X) -> c_12() 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :4 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X) -->_1 natsFrom^#(X) -> c_12() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{4} Weak SCC | `->4:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: natsFrom^#(X) -> c_12()} WeakDPs DPs: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)} The following rules are either leafs or part of trailing weak paths, and thus they can be removed: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X) , 1: natsFrom^#(X) -> c_12()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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}->2:{14}->10:{9}: YES(O(1),O(1)) ------------------------------------------- We consider the following Problem: Strict DPs: {activate^#(X) -> c_14()} Weak DPs: { splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)} Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the the dependency-graph 1: activate^#(X) -> c_14() 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) -->_1 activate^#(X) -> c_14() :1 together with the congruence-graph ->1:{2} Weak SCC | `->2:{3} Weak SCC | `->3:{1} Noncyclic, trivial, SCC Here dependency-pairs are as follows: Strict DPs: {1: activate^#(X) -> c_14()} WeakDPs DPs: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: 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: { 2: splitAt^#(s(N), cons(X, XS)) -> u^#(splitAt(N, activate(XS)), N, X, activate(XS)) , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) , 1: activate^#(X) -> c_14()} We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> X} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { natsFrom(N) -> cons(N, n__natsFrom(s(N))) , 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) , afterNth(N, XS) -> snd(splitAt(N, XS)) , natsFrom(X) -> n__natsFrom(X) , activate(n__natsFrom(X)) -> natsFrom(X) , activate(X) -> 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))