MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), N, XS)) -> mark(U12(tt(), N, XS)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), N, XS)) -> mark(snd(splitAt(N, XS))) , active(snd(X)) -> snd(active(X)) , active(snd(pair(X, Y))) -> mark(U51(tt(), Y)) , active(splitAt(X1, X2)) -> splitAt(X1, active(X2)) , active(splitAt(X1, X2)) -> splitAt(active(X1), X2) , active(splitAt(s(N), cons(X, XS))) -> mark(U61(tt(), N, X, XS)) , active(splitAt(0(), XS)) -> mark(pair(nil(), XS)) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), X)) -> mark(U22(tt(), X)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), X)) -> mark(X) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(U32(tt(), N)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), N, XS)) -> mark(U42(tt(), N, XS)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), N, XS)) -> mark(head(afterNth(N, XS))) , active(head(X)) -> head(active(X)) , active(head(cons(N, XS))) -> mark(U31(tt(), N)) , active(afterNth(N, XS)) -> mark(U11(tt(), N, XS)) , active(afterNth(X1, X2)) -> afterNth(X1, active(X2)) , active(afterNth(X1, X2)) -> afterNth(active(X1), X2) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), Y)) -> mark(U52(tt(), Y)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), Y)) -> mark(Y) , active(U61(X1, X2, X3, X4)) -> U61(active(X1), X2, X3, X4) , active(U61(tt(), N, X, XS)) -> mark(U62(tt(), N, X, XS)) , active(U62(X1, X2, X3, X4)) -> U62(active(X1), X2, X3, X4) , active(U62(tt(), N, X, XS)) -> mark(U63(tt(), N, X, XS)) , active(U63(X1, X2, X3, X4)) -> U63(active(X1), X2, X3, X4) , active(U63(tt(), N, X, XS)) -> mark(U64(splitAt(N, XS), X)) , active(U64(X1, X2)) -> U64(active(X1), X2) , active(U64(pair(YS, ZS), X)) -> mark(pair(cons(X, YS), ZS)) , active(pair(X1, X2)) -> pair(X1, active(X2)) , active(pair(X1, X2)) -> pair(active(X1), X2) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U71(X1, X2)) -> U71(active(X1), X2) , active(U71(tt(), XS)) -> mark(U72(tt(), XS)) , active(U72(X1, X2)) -> U72(active(X1), X2) , active(U72(tt(), XS)) -> mark(XS) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), N, XS)) -> mark(U82(tt(), N, XS)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), N, XS)) -> mark(fst(splitAt(N, XS))) , active(fst(X)) -> fst(active(X)) , active(fst(pair(X, Y))) -> mark(U21(tt(), X)) , active(natsFrom(N)) -> mark(cons(N, natsFrom(s(N)))) , active(natsFrom(X)) -> natsFrom(active(X)) , active(s(X)) -> s(active(X)) , active(sel(N, XS)) -> mark(U41(tt(), N, XS)) , active(sel(X1, X2)) -> sel(X1, active(X2)) , active(sel(X1, X2)) -> sel(active(X1), X2) , active(tail(X)) -> tail(active(X)) , active(tail(cons(N, XS))) -> mark(U71(tt(), XS)) , active(take(N, XS)) -> mark(U81(tt(), N, XS)) , active(take(X1, X2)) -> take(X1, active(X2)) , active(take(X1, X2)) -> take(active(X1), X2) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , snd(mark(X)) -> mark(snd(X)) , snd(ok(X)) -> ok(snd(X)) , splitAt(X1, mark(X2)) -> mark(splitAt(X1, X2)) , splitAt(mark(X1), X2) -> mark(splitAt(X1, X2)) , splitAt(ok(X1), ok(X2)) -> ok(splitAt(X1, X2)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , head(mark(X)) -> mark(head(X)) , head(ok(X)) -> ok(head(X)) , afterNth(X1, mark(X2)) -> mark(afterNth(X1, X2)) , afterNth(mark(X1), X2) -> mark(afterNth(X1, X2)) , afterNth(ok(X1), ok(X2)) -> ok(afterNth(X1, X2)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3, X4) -> mark(U61(X1, X2, X3, X4)) , U61(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U61(X1, X2, X3, X4)) , U62(mark(X1), X2, X3, X4) -> mark(U62(X1, X2, X3, X4)) , U62(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U62(X1, X2, X3, X4)) , U63(mark(X1), X2, X3, X4) -> mark(U63(X1, X2, X3, X4)) , U63(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U63(X1, X2, X3, X4)) , U64(mark(X1), X2) -> mark(U64(X1, X2)) , U64(ok(X1), ok(X2)) -> ok(U64(X1, X2)) , pair(X1, mark(X2)) -> mark(pair(X1, X2)) , pair(mark(X1), X2) -> mark(pair(X1, X2)) , pair(ok(X1), ok(X2)) -> ok(pair(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U71(mark(X1), X2) -> mark(U71(X1, X2)) , U71(ok(X1), ok(X2)) -> ok(U71(X1, X2)) , U72(mark(X1), X2) -> mark(U72(X1, X2)) , U72(ok(X1), ok(X2)) -> ok(U72(X1, X2)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , fst(mark(X)) -> mark(fst(X)) , fst(ok(X)) -> ok(fst(X)) , natsFrom(mark(X)) -> mark(natsFrom(X)) , natsFrom(ok(X)) -> ok(natsFrom(X)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , sel(X1, mark(X2)) -> mark(sel(X1, X2)) , sel(mark(X1), X2) -> mark(sel(X1, X2)) , sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)) , tail(mark(X)) -> mark(tail(X)) , tail(ok(X)) -> ok(tail(X)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(snd(X)) -> snd(proper(X)) , proper(splitAt(X1, X2)) -> splitAt(proper(X1), proper(X2)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(head(X)) -> head(proper(X)) , proper(afterNth(X1, X2)) -> afterNth(proper(X1), proper(X2)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3, X4)) -> U61(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U62(X1, X2, X3, X4)) -> U62(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U63(X1, X2, X3, X4)) -> U63(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U64(X1, X2)) -> U64(proper(X1), proper(X2)) , proper(pair(X1, X2)) -> pair(proper(X1), proper(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(U71(X1, X2)) -> U71(proper(X1), proper(X2)) , proper(U72(X1, X2)) -> U72(proper(X1), proper(X2)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(fst(X)) -> fst(proper(X)) , proper(natsFrom(X)) -> natsFrom(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(nil()) -> ok(nil()) , proper(tail(X)) -> tail(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) , active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) , active^#(snd(X)) -> c_5(snd^#(active(X))) , active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) , active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) , active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) , active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) , active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) , active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) , active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) , active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) , active^#(U22(tt(), X)) -> c_14(X) , active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) , active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) , active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) , active^#(U32(tt(), N)) -> c_18(N) , active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) , active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) , active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) , active^#(head(X)) -> c_23(head^#(active(X))) , active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) , active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) , active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) , active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) , active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) , active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) , active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) , active^#(U52(tt(), Y)) -> c_31(Y) , active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) , active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) , active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) , active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) , active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) , active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) , active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) , active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) , active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) , active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) , active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) , active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) , active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) , active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) , active^#(U72(tt(), XS)) -> c_46(XS) , active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) , active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) , active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) , active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) , active^#(fst(X)) -> c_51(fst^#(active(X))) , active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) , active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) , active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) , active^#(s(X)) -> c_55(s^#(active(X))) , active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) , active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) , active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) , active^#(tail(X)) -> c_59(tail^#(active(X))) , active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) , active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) , active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) , active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) , U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) , snd^#(mark(X)) -> c_68(snd^#(X)) , snd^#(ok(X)) -> c_69(snd^#(X)) , U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) , splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) , splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) , splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) , U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) , U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) , pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) , pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) , pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) , U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) , U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) , head^#(mark(X)) -> c_85(head^#(X)) , head^#(ok(X)) -> c_86(head^#(X)) , afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) , afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) , afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) , U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) , U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) , U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) , U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) , U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) , U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) , U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) , cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) , U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) , U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) , U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) , U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) , U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) , fst^#(mark(X)) -> c_115(fst^#(X)) , fst^#(ok(X)) -> c_116(fst^#(X)) , natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) , natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) , s^#(mark(X)) -> c_119(s^#(X)) , s^#(ok(X)) -> c_120(s^#(X)) , sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) , sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) , sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) , tail^#(mark(X)) -> c_124(tail^#(X)) , tail^#(ok(X)) -> c_125(tail^#(X)) , take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) , proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_130() , proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(snd(X)) -> c_132(snd^#(proper(X))) , proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) , proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) , proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) , proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) , proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) , proper^#(head(X)) -> c_140(head^#(proper(X))) , proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) , proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) , proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) , proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) , proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) , proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) , proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) , proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) , proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) , proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) , proper^#(fst(X)) -> c_154(fst^#(proper(X))) , proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) , proper^#(s(X)) -> c_156(s^#(proper(X))) , proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) , proper^#(0()) -> c_158() , proper^#(nil()) -> c_159() , proper^#(tail(X)) -> c_160(tail^#(proper(X))) , proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) , top^#(mark(X)) -> c_162(top^#(proper(X))) , top^#(ok(X)) -> c_163(top^#(active(X))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) , active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) , active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) , active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) , active^#(snd(X)) -> c_5(snd^#(active(X))) , active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) , active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) , active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) , active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) , active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) , active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) , active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) , active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) , active^#(U22(tt(), X)) -> c_14(X) , active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) , active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) , active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) , active^#(U32(tt(), N)) -> c_18(N) , active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) , active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) , active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) , active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) , active^#(head(X)) -> c_23(head^#(active(X))) , active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) , active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) , active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) , active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) , active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) , active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) , active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) , active^#(U52(tt(), Y)) -> c_31(Y) , active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) , active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) , active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) , active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) , active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) , active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) , active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) , active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) , active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) , active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) , active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) , active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) , active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) , active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) , active^#(U72(tt(), XS)) -> c_46(XS) , active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) , active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) , active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) , active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) , active^#(fst(X)) -> c_51(fst^#(active(X))) , active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) , active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) , active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) , active^#(s(X)) -> c_55(s^#(active(X))) , active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) , active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) , active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) , active^#(tail(X)) -> c_59(tail^#(active(X))) , active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) , active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) , active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) , active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) , U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) , snd^#(mark(X)) -> c_68(snd^#(X)) , snd^#(ok(X)) -> c_69(snd^#(X)) , U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) , splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) , splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) , splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) , U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) , U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) , pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) , pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) , pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) , U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) , U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) , head^#(mark(X)) -> c_85(head^#(X)) , head^#(ok(X)) -> c_86(head^#(X)) , afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) , afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) , afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) , U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) , U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) , U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) , U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) , U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) , U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) , U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) , cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) , U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) , U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) , U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) , U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) , U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) , fst^#(mark(X)) -> c_115(fst^#(X)) , fst^#(ok(X)) -> c_116(fst^#(X)) , natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) , natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) , s^#(mark(X)) -> c_119(s^#(X)) , s^#(ok(X)) -> c_120(s^#(X)) , sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) , sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) , sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) , tail^#(mark(X)) -> c_124(tail^#(X)) , tail^#(ok(X)) -> c_125(tail^#(X)) , take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) , proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) , proper^#(tt()) -> c_130() , proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) , proper^#(snd(X)) -> c_132(snd^#(proper(X))) , proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) , proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) , proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) , proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) , proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) , proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) , proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) , proper^#(head(X)) -> c_140(head^#(proper(X))) , proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) , proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) , proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) , proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) , proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) , proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) , proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) , proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) , proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) , proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) , proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) , proper^#(fst(X)) -> c_154(fst^#(proper(X))) , proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) , proper^#(s(X)) -> c_156(s^#(proper(X))) , proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) , proper^#(0()) -> c_158() , proper^#(nil()) -> c_159() , proper^#(tail(X)) -> c_160(tail^#(proper(X))) , proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) , top^#(mark(X)) -> c_162(top^#(proper(X))) , top^#(ok(X)) -> c_163(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), N, XS)) -> mark(U12(tt(), N, XS)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), N, XS)) -> mark(snd(splitAt(N, XS))) , active(snd(X)) -> snd(active(X)) , active(snd(pair(X, Y))) -> mark(U51(tt(), Y)) , active(splitAt(X1, X2)) -> splitAt(X1, active(X2)) , active(splitAt(X1, X2)) -> splitAt(active(X1), X2) , active(splitAt(s(N), cons(X, XS))) -> mark(U61(tt(), N, X, XS)) , active(splitAt(0(), XS)) -> mark(pair(nil(), XS)) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), X)) -> mark(U22(tt(), X)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), X)) -> mark(X) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(U32(tt(), N)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), N, XS)) -> mark(U42(tt(), N, XS)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), N, XS)) -> mark(head(afterNth(N, XS))) , active(head(X)) -> head(active(X)) , active(head(cons(N, XS))) -> mark(U31(tt(), N)) , active(afterNth(N, XS)) -> mark(U11(tt(), N, XS)) , active(afterNth(X1, X2)) -> afterNth(X1, active(X2)) , active(afterNth(X1, X2)) -> afterNth(active(X1), X2) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), Y)) -> mark(U52(tt(), Y)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), Y)) -> mark(Y) , active(U61(X1, X2, X3, X4)) -> U61(active(X1), X2, X3, X4) , active(U61(tt(), N, X, XS)) -> mark(U62(tt(), N, X, XS)) , active(U62(X1, X2, X3, X4)) -> U62(active(X1), X2, X3, X4) , active(U62(tt(), N, X, XS)) -> mark(U63(tt(), N, X, XS)) , active(U63(X1, X2, X3, X4)) -> U63(active(X1), X2, X3, X4) , active(U63(tt(), N, X, XS)) -> mark(U64(splitAt(N, XS), X)) , active(U64(X1, X2)) -> U64(active(X1), X2) , active(U64(pair(YS, ZS), X)) -> mark(pair(cons(X, YS), ZS)) , active(pair(X1, X2)) -> pair(X1, active(X2)) , active(pair(X1, X2)) -> pair(active(X1), X2) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U71(X1, X2)) -> U71(active(X1), X2) , active(U71(tt(), XS)) -> mark(U72(tt(), XS)) , active(U72(X1, X2)) -> U72(active(X1), X2) , active(U72(tt(), XS)) -> mark(XS) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), N, XS)) -> mark(U82(tt(), N, XS)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), N, XS)) -> mark(fst(splitAt(N, XS))) , active(fst(X)) -> fst(active(X)) , active(fst(pair(X, Y))) -> mark(U21(tt(), X)) , active(natsFrom(N)) -> mark(cons(N, natsFrom(s(N)))) , active(natsFrom(X)) -> natsFrom(active(X)) , active(s(X)) -> s(active(X)) , active(sel(N, XS)) -> mark(U41(tt(), N, XS)) , active(sel(X1, X2)) -> sel(X1, active(X2)) , active(sel(X1, X2)) -> sel(active(X1), X2) , active(tail(X)) -> tail(active(X)) , active(tail(cons(N, XS))) -> mark(U71(tt(), XS)) , active(take(N, XS)) -> mark(U81(tt(), N, XS)) , active(take(X1, X2)) -> take(X1, active(X2)) , active(take(X1, X2)) -> take(active(X1), X2) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , snd(mark(X)) -> mark(snd(X)) , snd(ok(X)) -> ok(snd(X)) , splitAt(X1, mark(X2)) -> mark(splitAt(X1, X2)) , splitAt(mark(X1), X2) -> mark(splitAt(X1, X2)) , splitAt(ok(X1), ok(X2)) -> ok(splitAt(X1, X2)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , head(mark(X)) -> mark(head(X)) , head(ok(X)) -> ok(head(X)) , afterNth(X1, mark(X2)) -> mark(afterNth(X1, X2)) , afterNth(mark(X1), X2) -> mark(afterNth(X1, X2)) , afterNth(ok(X1), ok(X2)) -> ok(afterNth(X1, X2)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3, X4) -> mark(U61(X1, X2, X3, X4)) , U61(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U61(X1, X2, X3, X4)) , U62(mark(X1), X2, X3, X4) -> mark(U62(X1, X2, X3, X4)) , U62(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U62(X1, X2, X3, X4)) , U63(mark(X1), X2, X3, X4) -> mark(U63(X1, X2, X3, X4)) , U63(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U63(X1, X2, X3, X4)) , U64(mark(X1), X2) -> mark(U64(X1, X2)) , U64(ok(X1), ok(X2)) -> ok(U64(X1, X2)) , pair(X1, mark(X2)) -> mark(pair(X1, X2)) , pair(mark(X1), X2) -> mark(pair(X1, X2)) , pair(ok(X1), ok(X2)) -> ok(pair(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U71(mark(X1), X2) -> mark(U71(X1, X2)) , U71(ok(X1), ok(X2)) -> ok(U71(X1, X2)) , U72(mark(X1), X2) -> mark(U72(X1, X2)) , U72(ok(X1), ok(X2)) -> ok(U72(X1, X2)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , fst(mark(X)) -> mark(fst(X)) , fst(ok(X)) -> ok(fst(X)) , natsFrom(mark(X)) -> mark(natsFrom(X)) , natsFrom(ok(X)) -> ok(natsFrom(X)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , sel(X1, mark(X2)) -> mark(sel(X1, X2)) , sel(mark(X1), X2) -> mark(sel(X1, X2)) , sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)) , tail(mark(X)) -> mark(tail(X)) , tail(ok(X)) -> ok(tail(X)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(snd(X)) -> snd(proper(X)) , proper(splitAt(X1, X2)) -> splitAt(proper(X1), proper(X2)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(head(X)) -> head(proper(X)) , proper(afterNth(X1, X2)) -> afterNth(proper(X1), proper(X2)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3, X4)) -> U61(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U62(X1, X2, X3, X4)) -> U62(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U63(X1, X2, X3, X4)) -> U63(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U64(X1, X2)) -> U64(proper(X1), proper(X2)) , proper(pair(X1, X2)) -> pair(proper(X1), proper(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(U71(X1, X2)) -> U71(proper(X1), proper(X2)) , proper(U72(X1, X2)) -> U72(proper(X1), proper(X2)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(fst(X)) -> fst(proper(X)) , proper(natsFrom(X)) -> natsFrom(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(nil()) -> ok(nil()) , proper(tail(X)) -> tail(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE Consider the dependency graph: 1: active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 2: active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) 3: active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 4: active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 5: active^#(snd(X)) -> c_5(snd^#(active(X))) -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 6: active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) 7: active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 8: active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 9: active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) 10: active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 11: active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 12: active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) 13: active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 14: active^#(U22(tt(), X)) -> c_14(X) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 -->_1 proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) :161 -->_1 proper^#(tail(X)) -> c_160(tail^#(proper(X))) :160 -->_1 proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) :157 -->_1 proper^#(s(X)) -> c_156(s^#(proper(X))) :156 -->_1 proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) :155 -->_1 proper^#(fst(X)) -> c_154(fst^#(proper(X))) :154 -->_1 proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) :153 -->_1 proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) :152 -->_1 proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) :151 -->_1 proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) :150 -->_1 proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) :149 -->_1 proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) :148 -->_1 proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) :147 -->_1 proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) :146 -->_1 proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) :145 -->_1 proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) :144 -->_1 proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) :143 -->_1 proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) :142 -->_1 proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) :141 -->_1 proper^#(head(X)) -> c_140(head^#(proper(X))) :140 -->_1 proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) :139 -->_1 proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) :138 -->_1 proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) :137 -->_1 proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) :136 -->_1 proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) :135 -->_1 proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) :134 -->_1 proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) :133 -->_1 proper^#(snd(X)) -> c_132(snd^#(proper(X))) :132 -->_1 proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) :131 -->_1 proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) :129 -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 -->_1 active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) :63 -->_1 active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) :62 -->_1 active^#(tail(X)) -> c_59(tail^#(active(X))) :59 -->_1 active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) :58 -->_1 active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) :57 -->_1 active^#(s(X)) -> c_55(s^#(active(X))) :55 -->_1 active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) :54 -->_1 active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) :53 -->_1 active^#(fst(X)) -> c_51(fst^#(active(X))) :51 -->_1 active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) :50 -->_1 active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) :49 -->_1 active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) :47 -->_1 active^#(U72(tt(), XS)) -> c_46(XS) :46 -->_1 active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) :45 -->_1 active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) :43 -->_1 active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) :42 -->_1 active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) :41 -->_1 active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) :40 -->_1 active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) :39 -->_1 active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) :38 -->_1 active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) :37 -->_1 active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) :36 -->_1 active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) :34 -->_1 active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) :32 -->_1 active^#(U52(tt(), Y)) -> c_31(Y) :31 -->_1 active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) :30 -->_1 active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) :28 -->_1 active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) :27 -->_1 active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) :26 -->_1 active^#(head(X)) -> c_23(head^#(active(X))) :23 -->_1 active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) :22 -->_1 active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) :21 -->_1 active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) :19 -->_1 active^#(U32(tt(), N)) -> c_18(N) :18 -->_1 active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) :17 -->_1 active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) :15 -->_1 proper^#(nil()) -> c_159() :159 -->_1 proper^#(0()) -> c_158() :158 -->_1 proper^#(tt()) -> c_130() :130 -->_1 active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) :61 -->_1 active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) :60 -->_1 active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) :56 -->_1 active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) :52 -->_1 active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) :48 -->_1 active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) :44 -->_1 active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) :35 -->_1 active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) :33 -->_1 active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) :29 -->_1 active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) :25 -->_1 active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) :24 -->_1 active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) :20 -->_1 active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) :16 -->_1 active^#(U22(tt(), X)) -> c_14(X) :14 -->_1 active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) :13 -->_1 active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) :12 -->_1 active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) :11 -->_1 active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) :10 -->_1 active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) :9 -->_1 active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) :8 -->_1 active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) :7 -->_1 active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) :6 -->_1 active^#(snd(X)) -> c_5(snd^#(active(X))) :5 -->_1 active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 15: active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 16: active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) 17: active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 18: active^#(U32(tt(), N)) -> c_18(N) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 -->_1 proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) :161 -->_1 proper^#(tail(X)) -> c_160(tail^#(proper(X))) :160 -->_1 proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) :157 -->_1 proper^#(s(X)) -> c_156(s^#(proper(X))) :156 -->_1 proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) :155 -->_1 proper^#(fst(X)) -> c_154(fst^#(proper(X))) :154 -->_1 proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) :153 -->_1 proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) :152 -->_1 proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) :151 -->_1 proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) :150 -->_1 proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) :149 -->_1 proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) :148 -->_1 proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) :147 -->_1 proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) :146 -->_1 proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) :145 -->_1 proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) :144 -->_1 proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) :143 -->_1 proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) :142 -->_1 proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) :141 -->_1 proper^#(head(X)) -> c_140(head^#(proper(X))) :140 -->_1 proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) :139 -->_1 proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) :138 -->_1 proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) :137 -->_1 proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) :136 -->_1 proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) :135 -->_1 proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) :134 -->_1 proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) :133 -->_1 proper^#(snd(X)) -> c_132(snd^#(proper(X))) :132 -->_1 proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) :131 -->_1 proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) :129 -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 -->_1 active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) :63 -->_1 active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) :62 -->_1 active^#(tail(X)) -> c_59(tail^#(active(X))) :59 -->_1 active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) :58 -->_1 active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) :57 -->_1 active^#(s(X)) -> c_55(s^#(active(X))) :55 -->_1 active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) :54 -->_1 active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) :53 -->_1 active^#(fst(X)) -> c_51(fst^#(active(X))) :51 -->_1 active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) :50 -->_1 active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) :49 -->_1 active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) :47 -->_1 active^#(U72(tt(), XS)) -> c_46(XS) :46 -->_1 active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) :45 -->_1 active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) :43 -->_1 active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) :42 -->_1 active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) :41 -->_1 active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) :40 -->_1 active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) :39 -->_1 active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) :38 -->_1 active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) :37 -->_1 active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) :36 -->_1 active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) :34 -->_1 active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) :32 -->_1 active^#(U52(tt(), Y)) -> c_31(Y) :31 -->_1 active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) :30 -->_1 active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) :28 -->_1 active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) :27 -->_1 active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) :26 -->_1 active^#(head(X)) -> c_23(head^#(active(X))) :23 -->_1 active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) :22 -->_1 active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) :21 -->_1 active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) :19 -->_1 proper^#(nil()) -> c_159() :159 -->_1 proper^#(0()) -> c_158() :158 -->_1 proper^#(tt()) -> c_130() :130 -->_1 active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) :61 -->_1 active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) :60 -->_1 active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) :56 -->_1 active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) :52 -->_1 active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) :48 -->_1 active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) :44 -->_1 active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) :35 -->_1 active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) :33 -->_1 active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) :29 -->_1 active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) :25 -->_1 active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) :24 -->_1 active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) :20 -->_1 active^#(U32(tt(), N)) -> c_18(N) :18 -->_1 active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) :17 -->_1 active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) :16 -->_1 active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) :15 -->_1 active^#(U22(tt(), X)) -> c_14(X) :14 -->_1 active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) :13 -->_1 active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) :12 -->_1 active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) :11 -->_1 active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) :10 -->_1 active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) :9 -->_1 active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) :8 -->_1 active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) :7 -->_1 active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) :6 -->_1 active^#(snd(X)) -> c_5(snd^#(active(X))) :5 -->_1 active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 19: active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 20: active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) 21: active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 22: active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 23: active^#(head(X)) -> c_23(head^#(active(X))) -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 24: active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) 25: active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) 26: active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 27: active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 28: active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 29: active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) 30: active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 31: active^#(U52(tt(), Y)) -> c_31(Y) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 -->_1 proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) :161 -->_1 proper^#(tail(X)) -> c_160(tail^#(proper(X))) :160 -->_1 proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) :157 -->_1 proper^#(s(X)) -> c_156(s^#(proper(X))) :156 -->_1 proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) :155 -->_1 proper^#(fst(X)) -> c_154(fst^#(proper(X))) :154 -->_1 proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) :153 -->_1 proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) :152 -->_1 proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) :151 -->_1 proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) :150 -->_1 proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) :149 -->_1 proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) :148 -->_1 proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) :147 -->_1 proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) :146 -->_1 proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) :145 -->_1 proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) :144 -->_1 proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) :143 -->_1 proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) :142 -->_1 proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) :141 -->_1 proper^#(head(X)) -> c_140(head^#(proper(X))) :140 -->_1 proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) :139 -->_1 proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) :138 -->_1 proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) :137 -->_1 proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) :136 -->_1 proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) :135 -->_1 proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) :134 -->_1 proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) :133 -->_1 proper^#(snd(X)) -> c_132(snd^#(proper(X))) :132 -->_1 proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) :131 -->_1 proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) :129 -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 -->_1 active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) :63 -->_1 active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) :62 -->_1 active^#(tail(X)) -> c_59(tail^#(active(X))) :59 -->_1 active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) :58 -->_1 active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) :57 -->_1 active^#(s(X)) -> c_55(s^#(active(X))) :55 -->_1 active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) :54 -->_1 active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) :53 -->_1 active^#(fst(X)) -> c_51(fst^#(active(X))) :51 -->_1 active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) :50 -->_1 active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) :49 -->_1 active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) :47 -->_1 active^#(U72(tt(), XS)) -> c_46(XS) :46 -->_1 active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) :45 -->_1 active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) :43 -->_1 active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) :42 -->_1 active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) :41 -->_1 active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) :40 -->_1 active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) :39 -->_1 active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) :38 -->_1 active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) :37 -->_1 active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) :36 -->_1 active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) :34 -->_1 active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) :32 -->_1 proper^#(nil()) -> c_159() :159 -->_1 proper^#(0()) -> c_158() :158 -->_1 proper^#(tt()) -> c_130() :130 -->_1 active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) :61 -->_1 active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) :60 -->_1 active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) :56 -->_1 active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) :52 -->_1 active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) :48 -->_1 active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) :44 -->_1 active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) :35 -->_1 active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) :33 -->_1 active^#(U52(tt(), Y)) -> c_31(Y) :31 -->_1 active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) :30 -->_1 active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) :29 -->_1 active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) :28 -->_1 active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) :27 -->_1 active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) :26 -->_1 active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) :25 -->_1 active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) :24 -->_1 active^#(head(X)) -> c_23(head^#(active(X))) :23 -->_1 active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) :22 -->_1 active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) :21 -->_1 active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) :20 -->_1 active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) :19 -->_1 active^#(U32(tt(), N)) -> c_18(N) :18 -->_1 active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) :17 -->_1 active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) :16 -->_1 active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) :15 -->_1 active^#(U22(tt(), X)) -> c_14(X) :14 -->_1 active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) :13 -->_1 active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) :12 -->_1 active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) :11 -->_1 active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) :10 -->_1 active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) :9 -->_1 active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) :8 -->_1 active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) :7 -->_1 active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) :6 -->_1 active^#(snd(X)) -> c_5(snd^#(active(X))) :5 -->_1 active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 32: active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 33: active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) 34: active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 35: active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) 36: active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 37: active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 38: active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 39: active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 40: active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 41: active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 42: active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 43: active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 44: active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) 45: active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 46: active^#(U72(tt(), XS)) -> c_46(XS) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 -->_1 proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) :161 -->_1 proper^#(tail(X)) -> c_160(tail^#(proper(X))) :160 -->_1 proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) :157 -->_1 proper^#(s(X)) -> c_156(s^#(proper(X))) :156 -->_1 proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) :155 -->_1 proper^#(fst(X)) -> c_154(fst^#(proper(X))) :154 -->_1 proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) :153 -->_1 proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) :152 -->_1 proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) :151 -->_1 proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) :150 -->_1 proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) :149 -->_1 proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) :148 -->_1 proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) :147 -->_1 proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) :146 -->_1 proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) :145 -->_1 proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) :144 -->_1 proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) :143 -->_1 proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) :142 -->_1 proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) :141 -->_1 proper^#(head(X)) -> c_140(head^#(proper(X))) :140 -->_1 proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) :139 -->_1 proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) :138 -->_1 proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) :137 -->_1 proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) :136 -->_1 proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) :135 -->_1 proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) :134 -->_1 proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) :133 -->_1 proper^#(snd(X)) -> c_132(snd^#(proper(X))) :132 -->_1 proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) :131 -->_1 proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) :129 -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 -->_1 active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) :63 -->_1 active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) :62 -->_1 active^#(tail(X)) -> c_59(tail^#(active(X))) :59 -->_1 active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) :58 -->_1 active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) :57 -->_1 active^#(s(X)) -> c_55(s^#(active(X))) :55 -->_1 active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) :54 -->_1 active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) :53 -->_1 active^#(fst(X)) -> c_51(fst^#(active(X))) :51 -->_1 active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) :50 -->_1 active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) :49 -->_1 active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) :47 -->_1 proper^#(nil()) -> c_159() :159 -->_1 proper^#(0()) -> c_158() :158 -->_1 proper^#(tt()) -> c_130() :130 -->_1 active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) :61 -->_1 active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) :60 -->_1 active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) :56 -->_1 active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) :52 -->_1 active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) :48 -->_1 active^#(U72(tt(), XS)) -> c_46(XS) :46 -->_1 active^#(U72(X1, X2)) -> c_45(U72^#(active(X1), X2)) :45 -->_1 active^#(U71(tt(), XS)) -> c_44(U72^#(tt(), XS)) :44 -->_1 active^#(U71(X1, X2)) -> c_43(U71^#(active(X1), X2)) :43 -->_1 active^#(cons(X1, X2)) -> c_42(cons^#(active(X1), X2)) :42 -->_1 active^#(pair(X1, X2)) -> c_41(pair^#(active(X1), X2)) :41 -->_1 active^#(pair(X1, X2)) -> c_40(pair^#(X1, active(X2))) :40 -->_1 active^#(U64(pair(YS, ZS), X)) -> c_39(pair^#(cons(X, YS), ZS)) :39 -->_1 active^#(U64(X1, X2)) -> c_38(U64^#(active(X1), X2)) :38 -->_1 active^#(U63(tt(), N, X, XS)) -> c_37(U64^#(splitAt(N, XS), X)) :37 -->_1 active^#(U63(X1, X2, X3, X4)) -> c_36(U63^#(active(X1), X2, X3, X4)) :36 -->_1 active^#(U62(tt(), N, X, XS)) -> c_35(U63^#(tt(), N, X, XS)) :35 -->_1 active^#(U62(X1, X2, X3, X4)) -> c_34(U62^#(active(X1), X2, X3, X4)) :34 -->_1 active^#(U61(tt(), N, X, XS)) -> c_33(U62^#(tt(), N, X, XS)) :33 -->_1 active^#(U61(X1, X2, X3, X4)) -> c_32(U61^#(active(X1), X2, X3, X4)) :32 -->_1 active^#(U52(tt(), Y)) -> c_31(Y) :31 -->_1 active^#(U52(X1, X2)) -> c_30(U52^#(active(X1), X2)) :30 -->_1 active^#(U51(tt(), Y)) -> c_29(U52^#(tt(), Y)) :29 -->_1 active^#(U51(X1, X2)) -> c_28(U51^#(active(X1), X2)) :28 -->_1 active^#(afterNth(X1, X2)) -> c_27(afterNth^#(active(X1), X2)) :27 -->_1 active^#(afterNth(X1, X2)) -> c_26(afterNth^#(X1, active(X2))) :26 -->_1 active^#(afterNth(N, XS)) -> c_25(U11^#(tt(), N, XS)) :25 -->_1 active^#(head(cons(N, XS))) -> c_24(U31^#(tt(), N)) :24 -->_1 active^#(head(X)) -> c_23(head^#(active(X))) :23 -->_1 active^#(U42(tt(), N, XS)) -> c_22(head^#(afterNth(N, XS))) :22 -->_1 active^#(U42(X1, X2, X3)) -> c_21(U42^#(active(X1), X2, X3)) :21 -->_1 active^#(U41(tt(), N, XS)) -> c_20(U42^#(tt(), N, XS)) :20 -->_1 active^#(U41(X1, X2, X3)) -> c_19(U41^#(active(X1), X2, X3)) :19 -->_1 active^#(U32(tt(), N)) -> c_18(N) :18 -->_1 active^#(U32(X1, X2)) -> c_17(U32^#(active(X1), X2)) :17 -->_1 active^#(U31(tt(), N)) -> c_16(U32^#(tt(), N)) :16 -->_1 active^#(U31(X1, X2)) -> c_15(U31^#(active(X1), X2)) :15 -->_1 active^#(U22(tt(), X)) -> c_14(X) :14 -->_1 active^#(U22(X1, X2)) -> c_13(U22^#(active(X1), X2)) :13 -->_1 active^#(U21(tt(), X)) -> c_12(U22^#(tt(), X)) :12 -->_1 active^#(U21(X1, X2)) -> c_11(U21^#(active(X1), X2)) :11 -->_1 active^#(splitAt(0(), XS)) -> c_10(pair^#(nil(), XS)) :10 -->_1 active^#(splitAt(s(N), cons(X, XS))) -> c_9(U61^#(tt(), N, X, XS)) :9 -->_1 active^#(splitAt(X1, X2)) -> c_8(splitAt^#(active(X1), X2)) :8 -->_1 active^#(splitAt(X1, X2)) -> c_7(splitAt^#(X1, active(X2))) :7 -->_1 active^#(snd(pair(X, Y))) -> c_6(U51^#(tt(), Y)) :6 -->_1 active^#(snd(X)) -> c_5(snd^#(active(X))) :5 -->_1 active^#(U12(tt(), N, XS)) -> c_4(snd^#(splitAt(N, XS))) :4 -->_1 active^#(U12(X1, X2, X3)) -> c_3(U12^#(active(X1), X2, X3)) :3 -->_1 active^#(U11(tt(), N, XS)) -> c_2(U12^#(tt(), N, XS)) :2 -->_1 active^#(U11(X1, X2, X3)) -> c_1(U11^#(active(X1), X2, X3)) :1 47: active^#(U81(X1, X2, X3)) -> c_47(U81^#(active(X1), X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 48: active^#(U81(tt(), N, XS)) -> c_48(U82^#(tt(), N, XS)) 49: active^#(U82(X1, X2, X3)) -> c_49(U82^#(active(X1), X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 50: active^#(U82(tt(), N, XS)) -> c_50(fst^#(splitAt(N, XS))) -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 51: active^#(fst(X)) -> c_51(fst^#(active(X))) -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 52: active^#(fst(pair(X, Y))) -> c_52(U21^#(tt(), X)) 53: active^#(natsFrom(N)) -> c_53(cons^#(N, natsFrom(s(N)))) -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 54: active^#(natsFrom(X)) -> c_54(natsFrom^#(active(X))) -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 55: active^#(s(X)) -> c_55(s^#(active(X))) -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 56: active^#(sel(N, XS)) -> c_56(U41^#(tt(), N, XS)) 57: active^#(sel(X1, X2)) -> c_57(sel^#(X1, active(X2))) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 58: active^#(sel(X1, X2)) -> c_58(sel^#(active(X1), X2)) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 59: active^#(tail(X)) -> c_59(tail^#(active(X))) -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 60: active^#(tail(cons(N, XS))) -> c_60(U71^#(tt(), XS)) 61: active^#(take(N, XS)) -> c_61(U81^#(tt(), N, XS)) 62: active^#(take(X1, X2)) -> c_62(take^#(X1, active(X2))) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 63: active^#(take(X1, X2)) -> c_63(take^#(active(X1), X2)) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 64: U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 65: U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 66: U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 67: U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 68: snd^#(mark(X)) -> c_68(snd^#(X)) -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 69: snd^#(ok(X)) -> c_69(snd^#(X)) -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 70: U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 71: U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 72: splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 73: splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 74: splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 75: U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 76: U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 77: pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 78: pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 79: pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 80: U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 81: U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 82: U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 83: U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 84: U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 85: U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 86: U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 87: U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 88: U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 89: U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 90: U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 91: U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 92: head^#(mark(X)) -> c_85(head^#(X)) -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 93: head^#(ok(X)) -> c_86(head^#(X)) -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 94: afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 95: afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 96: afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 97: U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 98: U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 99: U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 100: U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 101: U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 102: U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 103: U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 104: U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 105: cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 106: cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 107: U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 108: U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 109: U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 110: U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 111: U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 112: U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 113: U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 114: U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 115: fst^#(mark(X)) -> c_115(fst^#(X)) -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 116: fst^#(ok(X)) -> c_116(fst^#(X)) -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 117: natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 118: natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 119: s^#(mark(X)) -> c_119(s^#(X)) -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 120: s^#(ok(X)) -> c_120(s^#(X)) -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 121: sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 122: sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 123: sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 124: tail^#(mark(X)) -> c_124(tail^#(X)) -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 125: tail^#(ok(X)) -> c_125(tail^#(X)) -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 126: take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 127: take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 128: take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 129: proper^#(U11(X1, X2, X3)) -> c_129(U11^#(proper(X1), proper(X2), proper(X3))) -->_1 U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) :65 -->_1 U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) :64 130: proper^#(tt()) -> c_130() 131: proper^#(U12(X1, X2, X3)) -> c_131(U12^#(proper(X1), proper(X2), proper(X3))) -->_1 U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) :67 -->_1 U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) :66 132: proper^#(snd(X)) -> c_132(snd^#(proper(X))) -->_1 snd^#(ok(X)) -> c_69(snd^#(X)) :69 -->_1 snd^#(mark(X)) -> c_68(snd^#(X)) :68 133: proper^#(splitAt(X1, X2)) -> c_133(splitAt^#(proper(X1), proper(X2))) -->_1 splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) :74 -->_1 splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) :73 -->_1 splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) :72 134: proper^#(U21(X1, X2)) -> c_134(U21^#(proper(X1), proper(X2))) -->_1 U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) :81 -->_1 U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) :80 135: proper^#(U22(X1, X2)) -> c_135(U22^#(proper(X1), proper(X2))) -->_1 U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) :83 -->_1 U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) :82 136: proper^#(U31(X1, X2)) -> c_136(U31^#(proper(X1), proper(X2))) -->_1 U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) :85 -->_1 U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) :84 137: proper^#(U32(X1, X2)) -> c_137(U32^#(proper(X1), proper(X2))) -->_1 U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) :87 -->_1 U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) :86 138: proper^#(U41(X1, X2, X3)) -> c_138(U41^#(proper(X1), proper(X2), proper(X3))) -->_1 U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) :89 -->_1 U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) :88 139: proper^#(U42(X1, X2, X3)) -> c_139(U42^#(proper(X1), proper(X2), proper(X3))) -->_1 U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) :91 -->_1 U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) :90 140: proper^#(head(X)) -> c_140(head^#(proper(X))) -->_1 head^#(ok(X)) -> c_86(head^#(X)) :93 -->_1 head^#(mark(X)) -> c_85(head^#(X)) :92 141: proper^#(afterNth(X1, X2)) -> c_141(afterNth^#(proper(X1), proper(X2))) -->_1 afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) :96 -->_1 afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) :95 -->_1 afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) :94 142: proper^#(U51(X1, X2)) -> c_142(U51^#(proper(X1), proper(X2))) -->_1 U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) :71 -->_1 U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) :70 143: proper^#(U52(X1, X2)) -> c_143(U52^#(proper(X1), proper(X2))) -->_1 U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) :98 -->_1 U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) :97 144: proper^#(U61(X1, X2, X3, X4)) -> c_144(U61^#(proper(X1), proper(X2), proper(X3), proper(X4))) -->_1 U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) :76 -->_1 U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) :75 145: proper^#(U62(X1, X2, X3, X4)) -> c_145(U62^#(proper(X1), proper(X2), proper(X3), proper(X4))) -->_1 U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) :100 -->_1 U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) :99 146: proper^#(U63(X1, X2, X3, X4)) -> c_146(U63^#(proper(X1), proper(X2), proper(X3), proper(X4))) -->_1 U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) :102 -->_1 U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) :101 147: proper^#(U64(X1, X2)) -> c_147(U64^#(proper(X1), proper(X2))) -->_1 U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) :104 -->_1 U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) :103 148: proper^#(pair(X1, X2)) -> c_148(pair^#(proper(X1), proper(X2))) -->_1 pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) :79 -->_1 pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) :78 -->_1 pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) :77 149: proper^#(cons(X1, X2)) -> c_149(cons^#(proper(X1), proper(X2))) -->_1 cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) :106 -->_1 cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) :105 150: proper^#(U71(X1, X2)) -> c_150(U71^#(proper(X1), proper(X2))) -->_1 U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) :108 -->_1 U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) :107 151: proper^#(U72(X1, X2)) -> c_151(U72^#(proper(X1), proper(X2))) -->_1 U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) :110 -->_1 U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) :109 152: proper^#(U81(X1, X2, X3)) -> c_152(U81^#(proper(X1), proper(X2), proper(X3))) -->_1 U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) :112 -->_1 U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) :111 153: proper^#(U82(X1, X2, X3)) -> c_153(U82^#(proper(X1), proper(X2), proper(X3))) -->_1 U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) :114 -->_1 U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) :113 154: proper^#(fst(X)) -> c_154(fst^#(proper(X))) -->_1 fst^#(ok(X)) -> c_116(fst^#(X)) :116 -->_1 fst^#(mark(X)) -> c_115(fst^#(X)) :115 155: proper^#(natsFrom(X)) -> c_155(natsFrom^#(proper(X))) -->_1 natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) :118 -->_1 natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) :117 156: proper^#(s(X)) -> c_156(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_120(s^#(X)) :120 -->_1 s^#(mark(X)) -> c_119(s^#(X)) :119 157: proper^#(sel(X1, X2)) -> c_157(sel^#(proper(X1), proper(X2))) -->_1 sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) :123 -->_1 sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) :122 -->_1 sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) :121 158: proper^#(0()) -> c_158() 159: proper^#(nil()) -> c_159() 160: proper^#(tail(X)) -> c_160(tail^#(proper(X))) -->_1 tail^#(ok(X)) -> c_125(tail^#(X)) :125 -->_1 tail^#(mark(X)) -> c_124(tail^#(X)) :124 161: proper^#(take(X1, X2)) -> c_161(take^#(proper(X1), proper(X2))) -->_1 take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) :128 -->_1 take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) :127 -->_1 take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) :126 162: top^#(mark(X)) -> c_162(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 163: top^#(ok(X)) -> c_163(top^#(active(X))) -->_1 top^#(ok(X)) -> c_163(top^#(active(X))) :163 -->_1 top^#(mark(X)) -> c_162(top^#(proper(X))) :162 Only the nodes {64,65,66,67,68,69,70,71,72,74,73,75,76,77,79,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,122,124,125,126,128,127,130,158,159,162,163} are reachable from nodes {64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,158,159,162,163} that start derivation from marked basic terms. The nodes not reachable are removed from the problem. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) , snd^#(mark(X)) -> c_68(snd^#(X)) , snd^#(ok(X)) -> c_69(snd^#(X)) , U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) , splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) , splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) , splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) , U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) , U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) , pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) , pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) , pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) , U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) , U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) , head^#(mark(X)) -> c_85(head^#(X)) , head^#(ok(X)) -> c_86(head^#(X)) , afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) , afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) , afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) , U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) , U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) , U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) , U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) , U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) , U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) , U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) , cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) , U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) , U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) , U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) , U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) , U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) , fst^#(mark(X)) -> c_115(fst^#(X)) , fst^#(ok(X)) -> c_116(fst^#(X)) , natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) , natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) , s^#(mark(X)) -> c_119(s^#(X)) , s^#(ok(X)) -> c_120(s^#(X)) , sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) , sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) , sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) , tail^#(mark(X)) -> c_124(tail^#(X)) , tail^#(ok(X)) -> c_125(tail^#(X)) , take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) , proper^#(tt()) -> c_130() , proper^#(0()) -> c_158() , proper^#(nil()) -> c_159() , top^#(mark(X)) -> c_162(top^#(proper(X))) , top^#(ok(X)) -> c_163(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), N, XS)) -> mark(U12(tt(), N, XS)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), N, XS)) -> mark(snd(splitAt(N, XS))) , active(snd(X)) -> snd(active(X)) , active(snd(pair(X, Y))) -> mark(U51(tt(), Y)) , active(splitAt(X1, X2)) -> splitAt(X1, active(X2)) , active(splitAt(X1, X2)) -> splitAt(active(X1), X2) , active(splitAt(s(N), cons(X, XS))) -> mark(U61(tt(), N, X, XS)) , active(splitAt(0(), XS)) -> mark(pair(nil(), XS)) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), X)) -> mark(U22(tt(), X)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), X)) -> mark(X) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(U32(tt(), N)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), N, XS)) -> mark(U42(tt(), N, XS)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), N, XS)) -> mark(head(afterNth(N, XS))) , active(head(X)) -> head(active(X)) , active(head(cons(N, XS))) -> mark(U31(tt(), N)) , active(afterNth(N, XS)) -> mark(U11(tt(), N, XS)) , active(afterNth(X1, X2)) -> afterNth(X1, active(X2)) , active(afterNth(X1, X2)) -> afterNth(active(X1), X2) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), Y)) -> mark(U52(tt(), Y)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), Y)) -> mark(Y) , active(U61(X1, X2, X3, X4)) -> U61(active(X1), X2, X3, X4) , active(U61(tt(), N, X, XS)) -> mark(U62(tt(), N, X, XS)) , active(U62(X1, X2, X3, X4)) -> U62(active(X1), X2, X3, X4) , active(U62(tt(), N, X, XS)) -> mark(U63(tt(), N, X, XS)) , active(U63(X1, X2, X3, X4)) -> U63(active(X1), X2, X3, X4) , active(U63(tt(), N, X, XS)) -> mark(U64(splitAt(N, XS), X)) , active(U64(X1, X2)) -> U64(active(X1), X2) , active(U64(pair(YS, ZS), X)) -> mark(pair(cons(X, YS), ZS)) , active(pair(X1, X2)) -> pair(X1, active(X2)) , active(pair(X1, X2)) -> pair(active(X1), X2) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U71(X1, X2)) -> U71(active(X1), X2) , active(U71(tt(), XS)) -> mark(U72(tt(), XS)) , active(U72(X1, X2)) -> U72(active(X1), X2) , active(U72(tt(), XS)) -> mark(XS) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), N, XS)) -> mark(U82(tt(), N, XS)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), N, XS)) -> mark(fst(splitAt(N, XS))) , active(fst(X)) -> fst(active(X)) , active(fst(pair(X, Y))) -> mark(U21(tt(), X)) , active(natsFrom(N)) -> mark(cons(N, natsFrom(s(N)))) , active(natsFrom(X)) -> natsFrom(active(X)) , active(s(X)) -> s(active(X)) , active(sel(N, XS)) -> mark(U41(tt(), N, XS)) , active(sel(X1, X2)) -> sel(X1, active(X2)) , active(sel(X1, X2)) -> sel(active(X1), X2) , active(tail(X)) -> tail(active(X)) , active(tail(cons(N, XS))) -> mark(U71(tt(), XS)) , active(take(N, XS)) -> mark(U81(tt(), N, XS)) , active(take(X1, X2)) -> take(X1, active(X2)) , active(take(X1, X2)) -> take(active(X1), X2) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , snd(mark(X)) -> mark(snd(X)) , snd(ok(X)) -> ok(snd(X)) , splitAt(X1, mark(X2)) -> mark(splitAt(X1, X2)) , splitAt(mark(X1), X2) -> mark(splitAt(X1, X2)) , splitAt(ok(X1), ok(X2)) -> ok(splitAt(X1, X2)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , head(mark(X)) -> mark(head(X)) , head(ok(X)) -> ok(head(X)) , afterNth(X1, mark(X2)) -> mark(afterNth(X1, X2)) , afterNth(mark(X1), X2) -> mark(afterNth(X1, X2)) , afterNth(ok(X1), ok(X2)) -> ok(afterNth(X1, X2)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3, X4) -> mark(U61(X1, X2, X3, X4)) , U61(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U61(X1, X2, X3, X4)) , U62(mark(X1), X2, X3, X4) -> mark(U62(X1, X2, X3, X4)) , U62(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U62(X1, X2, X3, X4)) , U63(mark(X1), X2, X3, X4) -> mark(U63(X1, X2, X3, X4)) , U63(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U63(X1, X2, X3, X4)) , U64(mark(X1), X2) -> mark(U64(X1, X2)) , U64(ok(X1), ok(X2)) -> ok(U64(X1, X2)) , pair(X1, mark(X2)) -> mark(pair(X1, X2)) , pair(mark(X1), X2) -> mark(pair(X1, X2)) , pair(ok(X1), ok(X2)) -> ok(pair(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U71(mark(X1), X2) -> mark(U71(X1, X2)) , U71(ok(X1), ok(X2)) -> ok(U71(X1, X2)) , U72(mark(X1), X2) -> mark(U72(X1, X2)) , U72(ok(X1), ok(X2)) -> ok(U72(X1, X2)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , fst(mark(X)) -> mark(fst(X)) , fst(ok(X)) -> ok(fst(X)) , natsFrom(mark(X)) -> mark(natsFrom(X)) , natsFrom(ok(X)) -> ok(natsFrom(X)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , sel(X1, mark(X2)) -> mark(sel(X1, X2)) , sel(mark(X1), X2) -> mark(sel(X1, X2)) , sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)) , tail(mark(X)) -> mark(tail(X)) , tail(ok(X)) -> ok(tail(X)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(snd(X)) -> snd(proper(X)) , proper(splitAt(X1, X2)) -> splitAt(proper(X1), proper(X2)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(head(X)) -> head(proper(X)) , proper(afterNth(X1, X2)) -> afterNth(proper(X1), proper(X2)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3, X4)) -> U61(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U62(X1, X2, X3, X4)) -> U62(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U63(X1, X2, X3, X4)) -> U63(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U64(X1, X2)) -> U64(proper(X1), proper(X2)) , proper(pair(X1, X2)) -> pair(proper(X1), proper(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(U71(X1, X2)) -> U71(proper(X1), proper(X2)) , proper(U72(X1, X2)) -> U72(proper(X1), proper(X2)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(fst(X)) -> fst(proper(X)) , proper(natsFrom(X)) -> natsFrom(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(nil()) -> ok(nil()) , proper(tail(X)) -> tail(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {66,67,68} by applications of Pre({66,67,68}) = {}. Here rules are labeled as follows: DPs: { 1: U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) , 2: U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) , 3: U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) , 4: U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) , 5: snd^#(mark(X)) -> c_68(snd^#(X)) , 6: snd^#(ok(X)) -> c_69(snd^#(X)) , 7: U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) , 8: U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) , 9: splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) , 10: splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) , 11: splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) , 12: U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) , 13: U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) , 14: pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) , 15: pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) , 16: pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) , 17: U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) , 18: U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) , 19: U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) , 20: U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) , 21: U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) , 22: U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) , 23: U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) , 24: U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) , 25: U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) , 26: U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) , 27: U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) , 28: U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) , 29: head^#(mark(X)) -> c_85(head^#(X)) , 30: head^#(ok(X)) -> c_86(head^#(X)) , 31: afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) , 32: afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) , 33: afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) , 34: U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) , 35: U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) , 36: U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) , 37: U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) , 38: U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) , 39: U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) , 40: U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) , 41: U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) , 42: cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) , 43: cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) , 44: U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) , 45: U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) , 46: U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) , 47: U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) , 48: U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) , 49: U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) , 50: U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) , 51: U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) , 52: fst^#(mark(X)) -> c_115(fst^#(X)) , 53: fst^#(ok(X)) -> c_116(fst^#(X)) , 54: natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) , 55: natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) , 56: s^#(mark(X)) -> c_119(s^#(X)) , 57: s^#(ok(X)) -> c_120(s^#(X)) , 58: sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) , 59: sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) , 60: sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) , 61: tail^#(mark(X)) -> c_124(tail^#(X)) , 62: tail^#(ok(X)) -> c_125(tail^#(X)) , 63: take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) , 64: take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) , 65: take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) , 66: proper^#(tt()) -> c_130() , 67: proper^#(0()) -> c_158() , 68: proper^#(nil()) -> c_159() , 69: top^#(mark(X)) -> c_162(top^#(proper(X))) , 70: top^#(ok(X)) -> c_163(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(mark(X1), X2, X3) -> c_64(U11^#(X1, X2, X3)) , U11^#(ok(X1), ok(X2), ok(X3)) -> c_65(U11^#(X1, X2, X3)) , U12^#(mark(X1), X2, X3) -> c_66(U12^#(X1, X2, X3)) , U12^#(ok(X1), ok(X2), ok(X3)) -> c_67(U12^#(X1, X2, X3)) , snd^#(mark(X)) -> c_68(snd^#(X)) , snd^#(ok(X)) -> c_69(snd^#(X)) , U51^#(mark(X1), X2) -> c_90(U51^#(X1, X2)) , U51^#(ok(X1), ok(X2)) -> c_91(U51^#(X1, X2)) , splitAt^#(X1, mark(X2)) -> c_70(splitAt^#(X1, X2)) , splitAt^#(mark(X1), X2) -> c_71(splitAt^#(X1, X2)) , splitAt^#(ok(X1), ok(X2)) -> c_72(splitAt^#(X1, X2)) , U61^#(mark(X1), X2, X3, X4) -> c_94(U61^#(X1, X2, X3, X4)) , U61^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_95(U61^#(X1, X2, X3, X4)) , pair^#(X1, mark(X2)) -> c_102(pair^#(X1, X2)) , pair^#(mark(X1), X2) -> c_103(pair^#(X1, X2)) , pair^#(ok(X1), ok(X2)) -> c_104(pair^#(X1, X2)) , U21^#(mark(X1), X2) -> c_73(U21^#(X1, X2)) , U21^#(ok(X1), ok(X2)) -> c_74(U21^#(X1, X2)) , U22^#(mark(X1), X2) -> c_75(U22^#(X1, X2)) , U22^#(ok(X1), ok(X2)) -> c_76(U22^#(X1, X2)) , U31^#(mark(X1), X2) -> c_77(U31^#(X1, X2)) , U31^#(ok(X1), ok(X2)) -> c_78(U31^#(X1, X2)) , U32^#(mark(X1), X2) -> c_79(U32^#(X1, X2)) , U32^#(ok(X1), ok(X2)) -> c_80(U32^#(X1, X2)) , U41^#(mark(X1), X2, X3) -> c_81(U41^#(X1, X2, X3)) , U41^#(ok(X1), ok(X2), ok(X3)) -> c_82(U41^#(X1, X2, X3)) , U42^#(mark(X1), X2, X3) -> c_83(U42^#(X1, X2, X3)) , U42^#(ok(X1), ok(X2), ok(X3)) -> c_84(U42^#(X1, X2, X3)) , head^#(mark(X)) -> c_85(head^#(X)) , head^#(ok(X)) -> c_86(head^#(X)) , afterNth^#(X1, mark(X2)) -> c_87(afterNth^#(X1, X2)) , afterNth^#(mark(X1), X2) -> c_88(afterNth^#(X1, X2)) , afterNth^#(ok(X1), ok(X2)) -> c_89(afterNth^#(X1, X2)) , U52^#(mark(X1), X2) -> c_92(U52^#(X1, X2)) , U52^#(ok(X1), ok(X2)) -> c_93(U52^#(X1, X2)) , U62^#(mark(X1), X2, X3, X4) -> c_96(U62^#(X1, X2, X3, X4)) , U62^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_97(U62^#(X1, X2, X3, X4)) , U63^#(mark(X1), X2, X3, X4) -> c_98(U63^#(X1, X2, X3, X4)) , U63^#(ok(X1), ok(X2), ok(X3), ok(X4)) -> c_99(U63^#(X1, X2, X3, X4)) , U64^#(mark(X1), X2) -> c_100(U64^#(X1, X2)) , U64^#(ok(X1), ok(X2)) -> c_101(U64^#(X1, X2)) , cons^#(mark(X1), X2) -> c_105(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_106(cons^#(X1, X2)) , U71^#(mark(X1), X2) -> c_107(U71^#(X1, X2)) , U71^#(ok(X1), ok(X2)) -> c_108(U71^#(X1, X2)) , U72^#(mark(X1), X2) -> c_109(U72^#(X1, X2)) , U72^#(ok(X1), ok(X2)) -> c_110(U72^#(X1, X2)) , U81^#(mark(X1), X2, X3) -> c_111(U81^#(X1, X2, X3)) , U81^#(ok(X1), ok(X2), ok(X3)) -> c_112(U81^#(X1, X2, X3)) , U82^#(mark(X1), X2, X3) -> c_113(U82^#(X1, X2, X3)) , U82^#(ok(X1), ok(X2), ok(X3)) -> c_114(U82^#(X1, X2, X3)) , fst^#(mark(X)) -> c_115(fst^#(X)) , fst^#(ok(X)) -> c_116(fst^#(X)) , natsFrom^#(mark(X)) -> c_117(natsFrom^#(X)) , natsFrom^#(ok(X)) -> c_118(natsFrom^#(X)) , s^#(mark(X)) -> c_119(s^#(X)) , s^#(ok(X)) -> c_120(s^#(X)) , sel^#(X1, mark(X2)) -> c_121(sel^#(X1, X2)) , sel^#(mark(X1), X2) -> c_122(sel^#(X1, X2)) , sel^#(ok(X1), ok(X2)) -> c_123(sel^#(X1, X2)) , tail^#(mark(X)) -> c_124(tail^#(X)) , tail^#(ok(X)) -> c_125(tail^#(X)) , take^#(X1, mark(X2)) -> c_126(take^#(X1, X2)) , take^#(mark(X1), X2) -> c_127(take^#(X1, X2)) , take^#(ok(X1), ok(X2)) -> c_128(take^#(X1, X2)) , top^#(mark(X)) -> c_162(top^#(proper(X))) , top^#(ok(X)) -> c_163(top^#(active(X))) } Strict Trs: { active(U11(X1, X2, X3)) -> U11(active(X1), X2, X3) , active(U11(tt(), N, XS)) -> mark(U12(tt(), N, XS)) , active(U12(X1, X2, X3)) -> U12(active(X1), X2, X3) , active(U12(tt(), N, XS)) -> mark(snd(splitAt(N, XS))) , active(snd(X)) -> snd(active(X)) , active(snd(pair(X, Y))) -> mark(U51(tt(), Y)) , active(splitAt(X1, X2)) -> splitAt(X1, active(X2)) , active(splitAt(X1, X2)) -> splitAt(active(X1), X2) , active(splitAt(s(N), cons(X, XS))) -> mark(U61(tt(), N, X, XS)) , active(splitAt(0(), XS)) -> mark(pair(nil(), XS)) , active(U21(X1, X2)) -> U21(active(X1), X2) , active(U21(tt(), X)) -> mark(U22(tt(), X)) , active(U22(X1, X2)) -> U22(active(X1), X2) , active(U22(tt(), X)) -> mark(X) , active(U31(X1, X2)) -> U31(active(X1), X2) , active(U31(tt(), N)) -> mark(U32(tt(), N)) , active(U32(X1, X2)) -> U32(active(X1), X2) , active(U32(tt(), N)) -> mark(N) , active(U41(X1, X2, X3)) -> U41(active(X1), X2, X3) , active(U41(tt(), N, XS)) -> mark(U42(tt(), N, XS)) , active(U42(X1, X2, X3)) -> U42(active(X1), X2, X3) , active(U42(tt(), N, XS)) -> mark(head(afterNth(N, XS))) , active(head(X)) -> head(active(X)) , active(head(cons(N, XS))) -> mark(U31(tt(), N)) , active(afterNth(N, XS)) -> mark(U11(tt(), N, XS)) , active(afterNth(X1, X2)) -> afterNth(X1, active(X2)) , active(afterNth(X1, X2)) -> afterNth(active(X1), X2) , active(U51(X1, X2)) -> U51(active(X1), X2) , active(U51(tt(), Y)) -> mark(U52(tt(), Y)) , active(U52(X1, X2)) -> U52(active(X1), X2) , active(U52(tt(), Y)) -> mark(Y) , active(U61(X1, X2, X3, X4)) -> U61(active(X1), X2, X3, X4) , active(U61(tt(), N, X, XS)) -> mark(U62(tt(), N, X, XS)) , active(U62(X1, X2, X3, X4)) -> U62(active(X1), X2, X3, X4) , active(U62(tt(), N, X, XS)) -> mark(U63(tt(), N, X, XS)) , active(U63(X1, X2, X3, X4)) -> U63(active(X1), X2, X3, X4) , active(U63(tt(), N, X, XS)) -> mark(U64(splitAt(N, XS), X)) , active(U64(X1, X2)) -> U64(active(X1), X2) , active(U64(pair(YS, ZS), X)) -> mark(pair(cons(X, YS), ZS)) , active(pair(X1, X2)) -> pair(X1, active(X2)) , active(pair(X1, X2)) -> pair(active(X1), X2) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(U71(X1, X2)) -> U71(active(X1), X2) , active(U71(tt(), XS)) -> mark(U72(tt(), XS)) , active(U72(X1, X2)) -> U72(active(X1), X2) , active(U72(tt(), XS)) -> mark(XS) , active(U81(X1, X2, X3)) -> U81(active(X1), X2, X3) , active(U81(tt(), N, XS)) -> mark(U82(tt(), N, XS)) , active(U82(X1, X2, X3)) -> U82(active(X1), X2, X3) , active(U82(tt(), N, XS)) -> mark(fst(splitAt(N, XS))) , active(fst(X)) -> fst(active(X)) , active(fst(pair(X, Y))) -> mark(U21(tt(), X)) , active(natsFrom(N)) -> mark(cons(N, natsFrom(s(N)))) , active(natsFrom(X)) -> natsFrom(active(X)) , active(s(X)) -> s(active(X)) , active(sel(N, XS)) -> mark(U41(tt(), N, XS)) , active(sel(X1, X2)) -> sel(X1, active(X2)) , active(sel(X1, X2)) -> sel(active(X1), X2) , active(tail(X)) -> tail(active(X)) , active(tail(cons(N, XS))) -> mark(U71(tt(), XS)) , active(take(N, XS)) -> mark(U81(tt(), N, XS)) , active(take(X1, X2)) -> take(X1, active(X2)) , active(take(X1, X2)) -> take(active(X1), X2) , U11(mark(X1), X2, X3) -> mark(U11(X1, X2, X3)) , U11(ok(X1), ok(X2), ok(X3)) -> ok(U11(X1, X2, X3)) , U12(mark(X1), X2, X3) -> mark(U12(X1, X2, X3)) , U12(ok(X1), ok(X2), ok(X3)) -> ok(U12(X1, X2, X3)) , snd(mark(X)) -> mark(snd(X)) , snd(ok(X)) -> ok(snd(X)) , splitAt(X1, mark(X2)) -> mark(splitAt(X1, X2)) , splitAt(mark(X1), X2) -> mark(splitAt(X1, X2)) , splitAt(ok(X1), ok(X2)) -> ok(splitAt(X1, X2)) , U21(mark(X1), X2) -> mark(U21(X1, X2)) , U21(ok(X1), ok(X2)) -> ok(U21(X1, X2)) , U22(mark(X1), X2) -> mark(U22(X1, X2)) , U22(ok(X1), ok(X2)) -> ok(U22(X1, X2)) , U31(mark(X1), X2) -> mark(U31(X1, X2)) , U31(ok(X1), ok(X2)) -> ok(U31(X1, X2)) , U32(mark(X1), X2) -> mark(U32(X1, X2)) , U32(ok(X1), ok(X2)) -> ok(U32(X1, X2)) , U41(mark(X1), X2, X3) -> mark(U41(X1, X2, X3)) , U41(ok(X1), ok(X2), ok(X3)) -> ok(U41(X1, X2, X3)) , U42(mark(X1), X2, X3) -> mark(U42(X1, X2, X3)) , U42(ok(X1), ok(X2), ok(X3)) -> ok(U42(X1, X2, X3)) , head(mark(X)) -> mark(head(X)) , head(ok(X)) -> ok(head(X)) , afterNth(X1, mark(X2)) -> mark(afterNth(X1, X2)) , afterNth(mark(X1), X2) -> mark(afterNth(X1, X2)) , afterNth(ok(X1), ok(X2)) -> ok(afterNth(X1, X2)) , U51(mark(X1), X2) -> mark(U51(X1, X2)) , U51(ok(X1), ok(X2)) -> ok(U51(X1, X2)) , U52(mark(X1), X2) -> mark(U52(X1, X2)) , U52(ok(X1), ok(X2)) -> ok(U52(X1, X2)) , U61(mark(X1), X2, X3, X4) -> mark(U61(X1, X2, X3, X4)) , U61(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U61(X1, X2, X3, X4)) , U62(mark(X1), X2, X3, X4) -> mark(U62(X1, X2, X3, X4)) , U62(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U62(X1, X2, X3, X4)) , U63(mark(X1), X2, X3, X4) -> mark(U63(X1, X2, X3, X4)) , U63(ok(X1), ok(X2), ok(X3), ok(X4)) -> ok(U63(X1, X2, X3, X4)) , U64(mark(X1), X2) -> mark(U64(X1, X2)) , U64(ok(X1), ok(X2)) -> ok(U64(X1, X2)) , pair(X1, mark(X2)) -> mark(pair(X1, X2)) , pair(mark(X1), X2) -> mark(pair(X1, X2)) , pair(ok(X1), ok(X2)) -> ok(pair(X1, X2)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , U71(mark(X1), X2) -> mark(U71(X1, X2)) , U71(ok(X1), ok(X2)) -> ok(U71(X1, X2)) , U72(mark(X1), X2) -> mark(U72(X1, X2)) , U72(ok(X1), ok(X2)) -> ok(U72(X1, X2)) , U81(mark(X1), X2, X3) -> mark(U81(X1, X2, X3)) , U81(ok(X1), ok(X2), ok(X3)) -> ok(U81(X1, X2, X3)) , U82(mark(X1), X2, X3) -> mark(U82(X1, X2, X3)) , U82(ok(X1), ok(X2), ok(X3)) -> ok(U82(X1, X2, X3)) , fst(mark(X)) -> mark(fst(X)) , fst(ok(X)) -> ok(fst(X)) , natsFrom(mark(X)) -> mark(natsFrom(X)) , natsFrom(ok(X)) -> ok(natsFrom(X)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , sel(X1, mark(X2)) -> mark(sel(X1, X2)) , sel(mark(X1), X2) -> mark(sel(X1, X2)) , sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)) , tail(mark(X)) -> mark(tail(X)) , tail(ok(X)) -> ok(tail(X)) , take(X1, mark(X2)) -> mark(take(X1, X2)) , take(mark(X1), X2) -> mark(take(X1, X2)) , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) , proper(U11(X1, X2, X3)) -> U11(proper(X1), proper(X2), proper(X3)) , proper(tt()) -> ok(tt()) , proper(U12(X1, X2, X3)) -> U12(proper(X1), proper(X2), proper(X3)) , proper(snd(X)) -> snd(proper(X)) , proper(splitAt(X1, X2)) -> splitAt(proper(X1), proper(X2)) , proper(U21(X1, X2)) -> U21(proper(X1), proper(X2)) , proper(U22(X1, X2)) -> U22(proper(X1), proper(X2)) , proper(U31(X1, X2)) -> U31(proper(X1), proper(X2)) , proper(U32(X1, X2)) -> U32(proper(X1), proper(X2)) , proper(U41(X1, X2, X3)) -> U41(proper(X1), proper(X2), proper(X3)) , proper(U42(X1, X2, X3)) -> U42(proper(X1), proper(X2), proper(X3)) , proper(head(X)) -> head(proper(X)) , proper(afterNth(X1, X2)) -> afterNth(proper(X1), proper(X2)) , proper(U51(X1, X2)) -> U51(proper(X1), proper(X2)) , proper(U52(X1, X2)) -> U52(proper(X1), proper(X2)) , proper(U61(X1, X2, X3, X4)) -> U61(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U62(X1, X2, X3, X4)) -> U62(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U63(X1, X2, X3, X4)) -> U63(proper(X1), proper(X2), proper(X3), proper(X4)) , proper(U64(X1, X2)) -> U64(proper(X1), proper(X2)) , proper(pair(X1, X2)) -> pair(proper(X1), proper(X2)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(U71(X1, X2)) -> U71(proper(X1), proper(X2)) , proper(U72(X1, X2)) -> U72(proper(X1), proper(X2)) , proper(U81(X1, X2, X3)) -> U81(proper(X1), proper(X2), proper(X3)) , proper(U82(X1, X2, X3)) -> U82(proper(X1), proper(X2), proper(X3)) , proper(fst(X)) -> fst(proper(X)) , proper(natsFrom(X)) -> natsFrom(proper(X)) , proper(s(X)) -> s(proper(X)) , proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(nil()) -> ok(nil()) , proper(tail(X)) -> tail(proper(X)) , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { proper^#(tt()) -> c_130() , proper^#(0()) -> c_158() , proper^#(nil()) -> c_159() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..