KILLED proof of /export/starexec/sandbox/benchmark/theBenchmark.trs # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). (0) CpxRelTRS ---------------------------------------- (0) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U101(z0, z1, z2) -> c2 A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(z0, z1, z2) -> c5 A__U21(tt, z0) -> c6(MARK(z0)) A__U21(z0, z1) -> c7 A__U31(tt, z0) -> c8(MARK(z0)) A__U31(z0, z1) -> c9 A__U41(tt, z0) -> c10(MARK(z0)) A__U41(z0, z1) -> c11 A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U51(z0, z1, z2) -> c14 A__U61(tt, z0) -> c15(MARK(z0)) A__U61(z0, z1) -> c16 A__U71(tt, z0) -> c17(MARK(z0)) A__U71(z0, z1) -> c18 A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U81(z0, z1, z2, z3) -> c21 A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U82(z0, z1) -> c24 A__U91(tt, z0) -> c25(MARK(z0)) A__U91(z0, z1) -> c26 A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AFTERNTH(z0, z1) -> c28 A__AND(tt, z0) -> c29(MARK(z0)) A__AND(z0, z1) -> c30 A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__FST(z0) -> c32 A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__HEAD(z0) -> c34 A__ISLNAT(nil) -> c35 A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(z0) -> c43 A__ISNATURAL(0) -> c44 A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(z0) -> c48 A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(z0) -> c51 A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c53 A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c55 A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SND(z0) -> c57 A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__SPLITAT(z0, z1) -> c60 A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAIL(z0) -> c62 A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c64 MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(tt) -> c93 MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) MARK(nil) -> c98 MARK(0) -> c99 The (relative) TRS S consists of the following rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Rewrite Strategy: INNERMOST