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