(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, L)) → mark(U12(tt, L))
active(U12(tt, L)) → mark(s(length(L)))
active(U21(tt, IL, M, N)) → mark(U22(tt, IL, M, N))
active(U22(tt, IL, M, N)) → mark(U23(tt, IL, M, N))
active(U23(tt, IL, M, N)) → mark(cons(N, take(M, IL)))
active(length(nil)) → mark(0)
active(length(cons(N, L))) → mark(U11(tt, L))
active(take(0, IL)) → mark(nil)
active(take(s(M), cons(N, IL))) → mark(U21(tt, IL, M, N))
mark(zeros) → active(zeros)
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(0) → active(0)
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U12(X1, X2)) → active(U12(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(length(X)) → active(length(mark(X)))
mark(U21(X1, X2, X3, X4)) → active(U21(mark(X1), X2, X3, X4))
mark(U22(X1, X2, X3, X4)) → active(U22(mark(X1), X2, X3, X4))
mark(U23(X1, X2, X3, X4)) → active(U23(mark(X1), X2, X3, X4))
mark(take(X1, X2)) → active(take(mark(X1), mark(X2)))
mark(nil) → active(nil)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U12(mark(X1), X2) → U12(X1, X2)
U12(X1, mark(X2)) → U12(X1, X2)
U12(active(X1), X2) → U12(X1, X2)
U12(X1, active(X2)) → U12(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
length(mark(X)) → length(X)
length(active(X)) → length(X)
U21(mark(X1), X2, X3, X4) → U21(X1, X2, X3, X4)
U21(X1, mark(X2), X3, X4) → U21(X1, X2, X3, X4)
U21(X1, X2, mark(X3), X4) → U21(X1, X2, X3, X4)
U21(X1, X2, X3, mark(X4)) → U21(X1, X2, X3, X4)
U21(active(X1), X2, X3, X4) → U21(X1, X2, X3, X4)
U21(X1, active(X2), X3, X4) → U21(X1, X2, X3, X4)
U21(X1, X2, active(X3), X4) → U21(X1, X2, X3, X4)
U21(X1, X2, X3, active(X4)) → U21(X1, X2, X3, X4)
U22(mark(X1), X2, X3, X4) → U22(X1, X2, X3, X4)
U22(X1, mark(X2), X3, X4) → U22(X1, X2, X3, X4)
U22(X1, X2, mark(X3), X4) → U22(X1, X2, X3, X4)
U22(X1, X2, X3, mark(X4)) → U22(X1, X2, X3, X4)
U22(active(X1), X2, X3, X4) → U22(X1, X2, X3, X4)
U22(X1, active(X2), X3, X4) → U22(X1, X2, X3, X4)
U22(X1, X2, active(X3), X4) → U22(X1, X2, X3, X4)
U22(X1, X2, X3, active(X4)) → U22(X1, X2, X3, X4)
U23(mark(X1), X2, X3, X4) → U23(X1, X2, X3, X4)
U23(X1, mark(X2), X3, X4) → U23(X1, X2, X3, X4)
U23(X1, X2, mark(X3), X4) → U23(X1, X2, X3, X4)
U23(X1, X2, X3, mark(X4)) → U23(X1, X2, X3, X4)
U23(active(X1), X2, X3, X4) → U23(X1, X2, X3, X4)
U23(X1, active(X2), X3, X4) → U23(X1, X2, X3, X4)
U23(X1, X2, active(X3), X4) → U23(X1, X2, X3, X4)
U23(X1, X2, X3, active(X4)) → U23(X1, X2, X3, X4)
take(mark(X1), X2) → take(X1, X2)
take(X1, mark(X2)) → take(X1, X2)
take(active(X1), X2) → take(X1, X2)
take(X1, active(X2)) → take(X1, X2)

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(zeros) → c(MARK(cons(0, zeros)), CONS(0, zeros))
ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), S(length(z0)), LENGTH(z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(nil)) → c6(MARK(0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(0, z0)) → c8(MARK(nil))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(0) → c12(ACTIVE(0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(tt) → c14(ACTIVE(tt))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(nil) → c22(ACTIVE(nil))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
S tuples:

ACTIVE(zeros) → c(MARK(cons(0, zeros)), CONS(0, zeros))
ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), S(length(z0)), LENGTH(z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(nil)) → c6(MARK(0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(0, z0)) → c8(MARK(nil))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(0) → c12(ACTIVE(0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(tt) → c14(ACTIVE(tt))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
MARK(nil) → c22(ACTIVE(nil))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66

(3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

MARK(tt) → c14(ACTIVE(tt))
MARK(nil) → c22(ACTIVE(nil))
ACTIVE(length(nil)) → c6(MARK(0))
MARK(0) → c12(ACTIVE(0))
ACTIVE(take(0, z0)) → c8(MARK(nil))

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(zeros) → c(MARK(cons(0, zeros)), CONS(0, zeros))
ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), S(length(z0)), LENGTH(z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
S tuples:

ACTIVE(zeros) → c(MARK(cons(0, zeros)), CONS(0, zeros))
ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), S(length(z0)), LENGTH(z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c, c1, c2, c3, c4, c5, c7, c9, c10, c11, c13, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66

(5) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c11, c13, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2

(7) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(cons(z0, z1)) → c11(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) by

MARK(cons(z0, z1)) → c11(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(z0, z1)) → c11(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c13, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11

(9) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing tuple parts

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c13, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11

(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(U11(z0, z1)) → c13(ACTIVE(U11(mark(z0), z1)), U11'(mark(z0), z1), MARK(z0)) by

MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1), MARK(0))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1), MARK(tt))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1), MARK(nil))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1), MARK(0))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1), MARK(tt))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1), MARK(nil))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1), MARK(0))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1), MARK(tt))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1), MARK(nil))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13

(13) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c15, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13

(15) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(U12(z0, z1)) → c15(ACTIVE(U12(mark(z0), z1)), U12'(mark(z0), z1), MARK(z0)) by

MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1), MARK(0))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1), MARK(tt))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1), MARK(nil))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1), MARK(0))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1), MARK(tt))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1), MARK(nil))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1), MARK(0))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1), MARK(tt))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1), MARK(nil))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15

(17) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c16, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15

(19) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(s(z0)) → c16(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by

MARK(s(z0)) → c16(ACTIVE(s(z0)), S(mark(z0)), MARK(z0))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)), MARK(0))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil))
MARK(s(x0)) → c16

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(z0)) → c16(ACTIVE(s(z0)), S(mark(z0)), MARK(z0))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)), MARK(0))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil))
MARK(s(x0)) → c16
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(z0)) → c16(ACTIVE(s(z0)), S(mark(z0)), MARK(z0))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)), MARK(0))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil))
MARK(s(x0)) → c16
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16

(21) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

MARK(s(x0)) → c16

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(z0)) → c16(ACTIVE(s(z0)), S(mark(z0)), MARK(z0))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)), MARK(0))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(z0)) → c16(ACTIVE(s(z0)), S(mark(z0)), MARK(z0))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)), MARK(0))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16

(23) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing tuple parts

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c17, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16

(25) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(length(z0)) → c17(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) by

MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil))
MARK(length(x0)) → c17

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil))
MARK(length(x0)) → c17
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil))
MARK(length(x0)) → c17
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17

(27) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

MARK(length(x0)) → c17

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17

(29) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c18, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17

(31) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(mark(z0), z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0)) by

MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3), MARK(0))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3), MARK(0))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3), MARK(0))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17, c18, c18

(33) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c19, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17, c18, c18, c18

(35) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(mark(z0), z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0)) by

MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(z0, z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(zeros, x1, x2, x3)) → c19(ACTIVE(U22(active(zeros), x1, x2, x3)), U22'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U22(cons(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(cons(mark(z0), z1)), x1, x2, x3)), U22'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U22(0, x1, x2, x3)) → c19(ACTIVE(U22(active(0), x1, x2, x3)), U22'(mark(0), x1, x2, x3), MARK(0))
MARK(U22(U11(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U11(mark(z0), z1)), x1, x2, x3)), U22'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U22(tt, x1, x2, x3)) → c19(ACTIVE(U22(active(tt), x1, x2, x3)), U22'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U22(U12(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U12(mark(z0), z1)), x1, x2, x3)), U22'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U22(s(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(s(mark(z0))), x1, x2, x3)), U22'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U22(length(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(length(mark(z0))), x1, x2, x3)), U22'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U22(U21(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U22(U22(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U22(U23(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U22(take(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(take(mark(z0), mark(z1))), x1, x2, x3)), U22'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U22(nil, x1, x2, x3)) → c19(ACTIVE(U22(active(nil), x1, x2, x3)), U22'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U22(x0, x1, x2, x3)) → c19(U22'(mark(x0), x1, x2, x3))

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(z0, z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(zeros, x1, x2, x3)) → c19(ACTIVE(U22(active(zeros), x1, x2, x3)), U22'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U22(cons(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(cons(mark(z0), z1)), x1, x2, x3)), U22'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U22(0, x1, x2, x3)) → c19(ACTIVE(U22(active(0), x1, x2, x3)), U22'(mark(0), x1, x2, x3), MARK(0))
MARK(U22(U11(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U11(mark(z0), z1)), x1, x2, x3)), U22'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U22(tt, x1, x2, x3)) → c19(ACTIVE(U22(active(tt), x1, x2, x3)), U22'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U22(U12(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U12(mark(z0), z1)), x1, x2, x3)), U22'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U22(s(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(s(mark(z0))), x1, x2, x3)), U22'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U22(length(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(length(mark(z0))), x1, x2, x3)), U22'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U22(U21(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U22(U22(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U22(U23(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U22(take(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(take(mark(z0), mark(z1))), x1, x2, x3)), U22'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U22(nil, x1, x2, x3)) → c19(ACTIVE(U22(active(nil), x1, x2, x3)), U22'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U22(x0, x1, x2, x3)) → c19(U22'(mark(x0), x1, x2, x3))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(z0, z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(zeros, x1, x2, x3)) → c19(ACTIVE(U22(active(zeros), x1, x2, x3)), U22'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U22(cons(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(cons(mark(z0), z1)), x1, x2, x3)), U22'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U22(0, x1, x2, x3)) → c19(ACTIVE(U22(active(0), x1, x2, x3)), U22'(mark(0), x1, x2, x3), MARK(0))
MARK(U22(U11(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U11(mark(z0), z1)), x1, x2, x3)), U22'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U22(tt, x1, x2, x3)) → c19(ACTIVE(U22(active(tt), x1, x2, x3)), U22'(mark(tt), x1, x2, x3), MARK(tt))
MARK(U22(U12(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U12(mark(z0), z1)), x1, x2, x3)), U22'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U22(s(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(s(mark(z0))), x1, x2, x3)), U22'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U22(length(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(length(mark(z0))), x1, x2, x3)), U22'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U22(U21(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U22(U22(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U22(U23(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U22(take(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(take(mark(z0), mark(z1))), x1, x2, x3)), U22'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U22(nil, x1, x2, x3)) → c19(ACTIVE(U22(active(nil), x1, x2, x3)), U22'(mark(nil), x1, x2, x3), MARK(nil))
MARK(U22(x0, x1, x2, x3)) → c19(U22'(mark(x0), x1, x2, x3))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17, c18, c18, c18, c19, c19

(37) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(zeros) → mark(cons(0, zeros))
active(U11(tt, z0)) → mark(U12(tt, z0))
active(U12(tt, z0)) → mark(s(length(z0)))
active(U21(tt, z0, z1, z2)) → mark(U22(tt, z0, z1, z2))
active(U22(tt, z0, z1, z2)) → mark(U23(tt, z0, z1, z2))
active(U23(tt, z0, z1, z2)) → mark(cons(z2, take(z1, z0)))
active(length(nil)) → mark(0)
active(length(cons(z0, z1))) → mark(U11(tt, z1))
active(take(0, z0)) → mark(nil)
active(take(s(z0), cons(z1, z2))) → mark(U21(tt, z2, z0, z1))
mark(zeros) → active(zeros)
mark(cons(z0, z1)) → active(cons(mark(z0), z1))
mark(0) → active(0)
mark(U11(z0, z1)) → active(U11(mark(z0), z1))
mark(tt) → active(tt)
mark(U12(z0, z1)) → active(U12(mark(z0), z1))
mark(s(z0)) → active(s(mark(z0)))
mark(length(z0)) → active(length(mark(z0)))
mark(U21(z0, z1, z2, z3)) → active(U21(mark(z0), z1, z2, z3))
mark(U22(z0, z1, z2, z3)) → active(U22(mark(z0), z1, z2, z3))
mark(U23(z0, z1, z2, z3)) → active(U23(mark(z0), z1, z2, z3))
mark(take(z0, z1)) → active(take(mark(z0), mark(z1)))
mark(nil) → active(nil)
cons(mark(z0), z1) → cons(z0, z1)
cons(z0, mark(z1)) → cons(z0, z1)
cons(active(z0), z1) → cons(z0, z1)
cons(z0, active(z1)) → cons(z0, z1)
U11(mark(z0), z1) → U11(z0, z1)
U11(z0, mark(z1)) → U11(z0, z1)
U11(active(z0), z1) → U11(z0, z1)
U11(z0, active(z1)) → U11(z0, z1)
U12(mark(z0), z1) → U12(z0, z1)
U12(z0, mark(z1)) → U12(z0, z1)
U12(active(z0), z1) → U12(z0, z1)
U12(z0, active(z1)) → U12(z0, z1)
s(mark(z0)) → s(z0)
s(active(z0)) → s(z0)
length(mark(z0)) → length(z0)
length(active(z0)) → length(z0)
U21(mark(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, mark(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, mark(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, mark(z3)) → U21(z0, z1, z2, z3)
U21(active(z0), z1, z2, z3) → U21(z0, z1, z2, z3)
U21(z0, active(z1), z2, z3) → U21(z0, z1, z2, z3)
U21(z0, z1, active(z2), z3) → U21(z0, z1, z2, z3)
U21(z0, z1, z2, active(z3)) → U21(z0, z1, z2, z3)
U22(mark(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, mark(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, mark(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, mark(z3)) → U22(z0, z1, z2, z3)
U22(active(z0), z1, z2, z3) → U22(z0, z1, z2, z3)
U22(z0, active(z1), z2, z3) → U22(z0, z1, z2, z3)
U22(z0, z1, active(z2), z3) → U22(z0, z1, z2, z3)
U22(z0, z1, z2, active(z3)) → U22(z0, z1, z2, z3)
U23(mark(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, mark(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, mark(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, mark(z3)) → U23(z0, z1, z2, z3)
U23(active(z0), z1, z2, z3) → U23(z0, z1, z2, z3)
U23(z0, active(z1), z2, z3) → U23(z0, z1, z2, z3)
U23(z0, z1, active(z2), z3) → U23(z0, z1, z2, z3)
U23(z0, z1, z2, active(z3)) → U23(z0, z1, z2, z3)
take(mark(z0), z1) → take(z0, z1)
take(z0, mark(z1)) → take(z0, z1)
take(active(z0), z1) → take(z0, z1)
take(z0, active(z1)) → take(z0, z1)
Tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(z0, z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(zeros, x1, x2, x3)) → c19(ACTIVE(U22(active(zeros), x1, x2, x3)), U22'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U22(cons(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(cons(mark(z0), z1)), x1, x2, x3)), U22'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U22(U11(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U11(mark(z0), z1)), x1, x2, x3)), U22'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U22(U12(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U12(mark(z0), z1)), x1, x2, x3)), U22'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U22(s(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(s(mark(z0))), x1, x2, x3)), U22'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U22(length(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(length(mark(z0))), x1, x2, x3)), U22'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U22(U21(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U22(U22(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U22(U23(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U22(take(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(take(mark(z0), mark(z1))), x1, x2, x3)), U22'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U22(x0, x1, x2, x3)) → c19(U22'(mark(x0), x1, x2, x3))
MARK(U22(0, x1, x2, x3)) → c19(ACTIVE(U22(active(0), x1, x2, x3)), U22'(mark(0), x1, x2, x3))
MARK(U22(tt, x1, x2, x3)) → c19(ACTIVE(U22(active(tt), x1, x2, x3)), U22'(mark(tt), x1, x2, x3))
MARK(U22(nil, x1, x2, x3)) → c19(ACTIVE(U22(active(nil), x1, x2, x3)), U22'(mark(nil), x1, x2, x3))
S tuples:

ACTIVE(U11(tt, z0)) → c1(MARK(U12(tt, z0)), U12'(tt, z0))
ACTIVE(U21(tt, z0, z1, z2)) → c3(MARK(U22(tt, z0, z1, z2)), U22'(tt, z0, z1, z2))
ACTIVE(U22(tt, z0, z1, z2)) → c4(MARK(U23(tt, z0, z1, z2)), U23'(tt, z0, z1, z2))
ACTIVE(U23(tt, z0, z1, z2)) → c5(MARK(cons(z2, take(z1, z0))), CONS(z2, take(z1, z0)), TAKE(z1, z0))
ACTIVE(length(cons(z0, z1))) → c7(MARK(U11(tt, z1)), U11'(tt, z1))
ACTIVE(take(s(z0), cons(z1, z2))) → c9(MARK(U21(tt, z2, z0, z1)), U21'(tt, z2, z0, z1))
MARK(zeros) → c10(ACTIVE(zeros))
MARK(U23(z0, z1, z2, z3)) → c20(ACTIVE(U23(mark(z0), z1, z2, z3)), U23'(mark(z0), z1, z2, z3), MARK(z0))
MARK(take(z0, z1)) → c21(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1))
CONS(mark(z0), z1) → c23(CONS(z0, z1))
CONS(z0, mark(z1)) → c24(CONS(z0, z1))
CONS(active(z0), z1) → c25(CONS(z0, z1))
CONS(z0, active(z1)) → c26(CONS(z0, z1))
U11'(mark(z0), z1) → c27(U11'(z0, z1))
U11'(z0, mark(z1)) → c28(U11'(z0, z1))
U11'(active(z0), z1) → c29(U11'(z0, z1))
U11'(z0, active(z1)) → c30(U11'(z0, z1))
U12'(mark(z0), z1) → c31(U12'(z0, z1))
U12'(z0, mark(z1)) → c32(U12'(z0, z1))
U12'(active(z0), z1) → c33(U12'(z0, z1))
U12'(z0, active(z1)) → c34(U12'(z0, z1))
S(mark(z0)) → c35(S(z0))
S(active(z0)) → c36(S(z0))
LENGTH(mark(z0)) → c37(LENGTH(z0))
LENGTH(active(z0)) → c38(LENGTH(z0))
U21'(mark(z0), z1, z2, z3) → c39(U21'(z0, z1, z2, z3))
U21'(z0, mark(z1), z2, z3) → c40(U21'(z0, z1, z2, z3))
U21'(z0, z1, mark(z2), z3) → c41(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, mark(z3)) → c42(U21'(z0, z1, z2, z3))
U21'(active(z0), z1, z2, z3) → c43(U21'(z0, z1, z2, z3))
U21'(z0, active(z1), z2, z3) → c44(U21'(z0, z1, z2, z3))
U21'(z0, z1, active(z2), z3) → c45(U21'(z0, z1, z2, z3))
U21'(z0, z1, z2, active(z3)) → c46(U21'(z0, z1, z2, z3))
U22'(mark(z0), z1, z2, z3) → c47(U22'(z0, z1, z2, z3))
U22'(z0, mark(z1), z2, z3) → c48(U22'(z0, z1, z2, z3))
U22'(z0, z1, mark(z2), z3) → c49(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, mark(z3)) → c50(U22'(z0, z1, z2, z3))
U22'(active(z0), z1, z2, z3) → c51(U22'(z0, z1, z2, z3))
U22'(z0, active(z1), z2, z3) → c52(U22'(z0, z1, z2, z3))
U22'(z0, z1, active(z2), z3) → c53(U22'(z0, z1, z2, z3))
U22'(z0, z1, z2, active(z3)) → c54(U22'(z0, z1, z2, z3))
U23'(mark(z0), z1, z2, z3) → c55(U23'(z0, z1, z2, z3))
U23'(z0, mark(z1), z2, z3) → c56(U23'(z0, z1, z2, z3))
U23'(z0, z1, mark(z2), z3) → c57(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, mark(z3)) → c58(U23'(z0, z1, z2, z3))
U23'(active(z0), z1, z2, z3) → c59(U23'(z0, z1, z2, z3))
U23'(z0, active(z1), z2, z3) → c60(U23'(z0, z1, z2, z3))
U23'(z0, z1, active(z2), z3) → c61(U23'(z0, z1, z2, z3))
U23'(z0, z1, z2, active(z3)) → c62(U23'(z0, z1, z2, z3))
TAKE(mark(z0), z1) → c63(TAKE(z0, z1))
TAKE(z0, mark(z1)) → c64(TAKE(z0, z1))
TAKE(active(z0), z1) → c65(TAKE(z0, z1))
TAKE(z0, active(z1)) → c66(TAKE(z0, z1))
ACTIVE(zeros) → c(MARK(cons(0, zeros)))
ACTIVE(U12(tt, z0)) → c2(MARK(s(length(z0))), LENGTH(z0))
MARK(cons(zeros, x1)) → c11(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros))
MARK(cons(cons(z0, z1), x1)) → c11(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(cons(U11(z0, z1), x1)) → c11(ACTIVE(cons(active(U11(mark(z0), z1)), x1)), CONS(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(cons(U12(z0, z1), x1)) → c11(ACTIVE(cons(active(U12(mark(z0), z1)), x1)), CONS(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(cons(s(z0), x1)) → c11(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0)))
MARK(cons(length(z0), x1)) → c11(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0)))
MARK(cons(U21(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U21(mark(z0), z1, z2, z3)), x1)), CONS(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(cons(U22(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U22(mark(z0), z1, z2, z3)), x1)), CONS(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(cons(U23(z0, z1, z2, z3), x1)) → c11(ACTIVE(cons(active(U23(mark(z0), z1, z2, z3)), x1)), CONS(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(cons(take(z0, z1), x1)) → c11(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(cons(x0, x1)) → c11(CONS(mark(x0), x1))
MARK(cons(z0, z1)) → c11(CONS(mark(z0), z1), MARK(z0))
MARK(cons(0, x1)) → c11(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1))
MARK(cons(tt, x1)) → c11(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1))
MARK(cons(nil, x1)) → c11(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1))
MARK(U11(z0, z1)) → c13(ACTIVE(U11(z0, z1)), U11'(mark(z0), z1), MARK(z0))
MARK(U11(zeros, x1)) → c13(ACTIVE(U11(active(zeros), x1)), U11'(mark(zeros), x1), MARK(zeros))
MARK(U11(cons(z0, z1), x1)) → c13(ACTIVE(U11(active(cons(mark(z0), z1)), x1)), U11'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U11(U11(z0, z1), x1)) → c13(ACTIVE(U11(active(U11(mark(z0), z1)), x1)), U11'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U11(U12(z0, z1), x1)) → c13(ACTIVE(U11(active(U12(mark(z0), z1)), x1)), U11'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U11(s(z0), x1)) → c13(ACTIVE(U11(active(s(mark(z0))), x1)), U11'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U11(length(z0), x1)) → c13(ACTIVE(U11(active(length(mark(z0))), x1)), U11'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U11(U21(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U21(mark(z0), z1, z2, z3)), x1)), U11'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U11(U22(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U22(mark(z0), z1, z2, z3)), x1)), U11'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U11(U23(z0, z1, z2, z3), x1)) → c13(ACTIVE(U11(active(U23(mark(z0), z1, z2, z3)), x1)), U11'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U11(take(z0, z1), x1)) → c13(ACTIVE(U11(active(take(mark(z0), mark(z1))), x1)), U11'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U11(x0, x1)) → c13(U11'(mark(x0), x1))
MARK(U11(0, x1)) → c13(ACTIVE(U11(active(0), x1)), U11'(mark(0), x1))
MARK(U11(tt, x1)) → c13(ACTIVE(U11(active(tt), x1)), U11'(mark(tt), x1))
MARK(U11(nil, x1)) → c13(ACTIVE(U11(active(nil), x1)), U11'(mark(nil), x1))
MARK(U12(z0, z1)) → c15(ACTIVE(U12(z0, z1)), U12'(mark(z0), z1), MARK(z0))
MARK(U12(zeros, x1)) → c15(ACTIVE(U12(active(zeros), x1)), U12'(mark(zeros), x1), MARK(zeros))
MARK(U12(cons(z0, z1), x1)) → c15(ACTIVE(U12(active(cons(mark(z0), z1)), x1)), U12'(mark(cons(z0, z1)), x1), MARK(cons(z0, z1)))
MARK(U12(U11(z0, z1), x1)) → c15(ACTIVE(U12(active(U11(mark(z0), z1)), x1)), U12'(mark(U11(z0, z1)), x1), MARK(U11(z0, z1)))
MARK(U12(U12(z0, z1), x1)) → c15(ACTIVE(U12(active(U12(mark(z0), z1)), x1)), U12'(mark(U12(z0, z1)), x1), MARK(U12(z0, z1)))
MARK(U12(s(z0), x1)) → c15(ACTIVE(U12(active(s(mark(z0))), x1)), U12'(mark(s(z0)), x1), MARK(s(z0)))
MARK(U12(length(z0), x1)) → c15(ACTIVE(U12(active(length(mark(z0))), x1)), U12'(mark(length(z0)), x1), MARK(length(z0)))
MARK(U12(U21(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U21(mark(z0), z1, z2, z3)), x1)), U12'(mark(U21(z0, z1, z2, z3)), x1), MARK(U21(z0, z1, z2, z3)))
MARK(U12(U22(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U22(mark(z0), z1, z2, z3)), x1)), U12'(mark(U22(z0, z1, z2, z3)), x1), MARK(U22(z0, z1, z2, z3)))
MARK(U12(U23(z0, z1, z2, z3), x1)) → c15(ACTIVE(U12(active(U23(mark(z0), z1, z2, z3)), x1)), U12'(mark(U23(z0, z1, z2, z3)), x1), MARK(U23(z0, z1, z2, z3)))
MARK(U12(take(z0, z1), x1)) → c15(ACTIVE(U12(active(take(mark(z0), mark(z1))), x1)), U12'(mark(take(z0, z1)), x1), MARK(take(z0, z1)))
MARK(U12(x0, x1)) → c15(U12'(mark(x0), x1))
MARK(U12(0, x1)) → c15(ACTIVE(U12(active(0), x1)), U12'(mark(0), x1))
MARK(U12(tt, x1)) → c15(ACTIVE(U12(active(tt), x1)), U12'(mark(tt), x1))
MARK(U12(nil, x1)) → c15(ACTIVE(U12(active(nil), x1)), U12'(mark(nil), x1))
MARK(s(zeros)) → c16(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros))
MARK(s(cons(z0, z1))) → c16(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(s(U11(z0, z1))) → c16(ACTIVE(s(active(U11(mark(z0), z1)))), S(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(s(U12(z0, z1))) → c16(ACTIVE(s(active(U12(mark(z0), z1)))), S(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(s(s(z0))) → c16(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0)))
MARK(s(length(z0))) → c16(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0)))
MARK(s(U21(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U21(mark(z0), z1, z2, z3)))), S(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(s(U22(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U22(mark(z0), z1, z2, z3)))), S(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(s(U23(z0, z1, z2, z3))) → c16(ACTIVE(s(active(U23(mark(z0), z1, z2, z3)))), S(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(s(take(z0, z1))) → c16(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(s(z0)) → c16(S(mark(z0)), MARK(z0))
MARK(s(0)) → c16(ACTIVE(s(active(0))), S(mark(0)))
MARK(s(tt)) → c16(ACTIVE(s(active(tt))), S(mark(tt)))
MARK(s(nil)) → c16(ACTIVE(s(active(nil))), S(mark(nil)))
MARK(length(z0)) → c17(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0))
MARK(length(zeros)) → c17(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros))
MARK(length(cons(z0, z1))) → c17(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1)))
MARK(length(U11(z0, z1))) → c17(ACTIVE(length(active(U11(mark(z0), z1)))), LENGTH(mark(U11(z0, z1))), MARK(U11(z0, z1)))
MARK(length(U12(z0, z1))) → c17(ACTIVE(length(active(U12(mark(z0), z1)))), LENGTH(mark(U12(z0, z1))), MARK(U12(z0, z1)))
MARK(length(s(z0))) → c17(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0)))
MARK(length(length(z0))) → c17(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0)))
MARK(length(U21(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U21(mark(z0), z1, z2, z3)))), LENGTH(mark(U21(z0, z1, z2, z3))), MARK(U21(z0, z1, z2, z3)))
MARK(length(U22(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U22(mark(z0), z1, z2, z3)))), LENGTH(mark(U22(z0, z1, z2, z3))), MARK(U22(z0, z1, z2, z3)))
MARK(length(U23(z0, z1, z2, z3))) → c17(ACTIVE(length(active(U23(mark(z0), z1, z2, z3)))), LENGTH(mark(U23(z0, z1, z2, z3))), MARK(U23(z0, z1, z2, z3)))
MARK(length(take(z0, z1))) → c17(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1)))
MARK(length(0)) → c17(ACTIVE(length(active(0))), LENGTH(mark(0)))
MARK(length(tt)) → c17(ACTIVE(length(active(tt))), LENGTH(mark(tt)))
MARK(length(nil)) → c17(ACTIVE(length(active(nil))), LENGTH(mark(nil)))
MARK(U21(z0, z1, z2, z3)) → c18(ACTIVE(U21(z0, z1, z2, z3)), U21'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U21(zeros, x1, x2, x3)) → c18(ACTIVE(U21(active(zeros), x1, x2, x3)), U21'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U21(cons(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(cons(mark(z0), z1)), x1, x2, x3)), U21'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U21(U11(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U11(mark(z0), z1)), x1, x2, x3)), U21'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U21(U12(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(U12(mark(z0), z1)), x1, x2, x3)), U21'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U21(s(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(s(mark(z0))), x1, x2, x3)), U21'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U21(length(z0), x1, x2, x3)) → c18(ACTIVE(U21(active(length(mark(z0))), x1, x2, x3)), U21'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U21(U21(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U21(U22(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U21(U23(z0, z1, z2, z3), x1, x2, x3)) → c18(ACTIVE(U21(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U21'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U21(take(z0, z1), x1, x2, x3)) → c18(ACTIVE(U21(active(take(mark(z0), mark(z1))), x1, x2, x3)), U21'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U21(x0, x1, x2, x3)) → c18(U21'(mark(x0), x1, x2, x3))
MARK(U21(0, x1, x2, x3)) → c18(ACTIVE(U21(active(0), x1, x2, x3)), U21'(mark(0), x1, x2, x3))
MARK(U21(tt, x1, x2, x3)) → c18(ACTIVE(U21(active(tt), x1, x2, x3)), U21'(mark(tt), x1, x2, x3))
MARK(U21(nil, x1, x2, x3)) → c18(ACTIVE(U21(active(nil), x1, x2, x3)), U21'(mark(nil), x1, x2, x3))
MARK(U22(z0, z1, z2, z3)) → c19(ACTIVE(U22(z0, z1, z2, z3)), U22'(mark(z0), z1, z2, z3), MARK(z0))
MARK(U22(zeros, x1, x2, x3)) → c19(ACTIVE(U22(active(zeros), x1, x2, x3)), U22'(mark(zeros), x1, x2, x3), MARK(zeros))
MARK(U22(cons(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(cons(mark(z0), z1)), x1, x2, x3)), U22'(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1)))
MARK(U22(U11(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U11(mark(z0), z1)), x1, x2, x3)), U22'(mark(U11(z0, z1)), x1, x2, x3), MARK(U11(z0, z1)))
MARK(U22(U12(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(U12(mark(z0), z1)), x1, x2, x3)), U22'(mark(U12(z0, z1)), x1, x2, x3), MARK(U12(z0, z1)))
MARK(U22(s(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(s(mark(z0))), x1, x2, x3)), U22'(mark(s(z0)), x1, x2, x3), MARK(s(z0)))
MARK(U22(length(z0), x1, x2, x3)) → c19(ACTIVE(U22(active(length(mark(z0))), x1, x2, x3)), U22'(mark(length(z0)), x1, x2, x3), MARK(length(z0)))
MARK(U22(U21(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U21(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U21(z0, z1, z2, z3)), x1, x2, x3), MARK(U21(z0, z1, z2, z3)))
MARK(U22(U22(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U22(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U22(z0, z1, z2, z3)), x1, x2, x3), MARK(U22(z0, z1, z2, z3)))
MARK(U22(U23(z0, z1, z2, z3), x1, x2, x3)) → c19(ACTIVE(U22(active(U23(mark(z0), z1, z2, z3)), x1, x2, x3)), U22'(mark(U23(z0, z1, z2, z3)), x1, x2, x3), MARK(U23(z0, z1, z2, z3)))
MARK(U22(take(z0, z1), x1, x2, x3)) → c19(ACTIVE(U22(active(take(mark(z0), mark(z1))), x1, x2, x3)), U22'(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1)))
MARK(U22(x0, x1, x2, x3)) → c19(U22'(mark(x0), x1, x2, x3))
MARK(U22(0, x1, x2, x3)) → c19(ACTIVE(U22(active(0), x1, x2, x3)), U22'(mark(0), x1, x2, x3))
MARK(U22(tt, x1, x2, x3)) → c19(ACTIVE(U22(active(tt), x1, x2, x3)), U22'(mark(tt), x1, x2, x3))
MARK(U22(nil, x1, x2, x3)) → c19(ACTIVE(U22(active(nil), x1, x2, x3)), U22'(mark(nil), x1, x2, x3))
K tuples:none
Defined Rule Symbols:

active, mark, cons, U11, U12, s, length, U21, U22, U23, take

Defined Pair Symbols:

ACTIVE, MARK, CONS, U11', U12', S, LENGTH, U21', U22', U23', TAKE

Compound Symbols:

c1, c3, c4, c5, c7, c9, c10, c20, c21, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c, c2, c11, c11, c11, c13, c13, c13, c15, c15, c15, c16, c16, c17, c17, c18, c18, c18, c19, c19, c19

(39) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 4.

The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
transitions:
zeros0() → 0
00() → 0
tt0() → 0
nil0() → 0
active0(0) → 1
mark0(0) → 2
cons0(0, 0) → 3
U110(0, 0) → 4
U120(0, 0) → 5
s0(0) → 6
length0(0) → 7
U210(0, 0, 0, 0) → 8
U220(0, 0, 0, 0) → 9
U230(0, 0, 0, 0) → 10
take0(0, 0) → 11
01() → 13
zeros1() → 14
cons1(13, 14) → 12
mark1(12) → 1
zeros1() → 15
active1(15) → 2
01() → 16
active1(16) → 2
tt1() → 17
active1(17) → 2
nil1() → 18
active1(18) → 2
02() → 20
zeros2() → 21
cons2(20, 21) → 19
mark2(19) → 2
mark2(13) → 23
cons2(23, 14) → 22
active2(22) → 1
mark3(20) → 25
cons3(25, 21) → 24
active3(24) → 2
02() → 26
active2(26) → 23
cons3(13, 14) → 22
cons3(26, 14) → 22
03() → 27
active3(27) → 25
cons4(20, 21) → 24
cons4(27, 21) → 24

(40) BOUNDS(O(1), O(n^1))