MAYBE

Problem:
 a__zeros() -> cons(0(),zeros())
 a__U11(tt(),L) -> a__U12(tt(),L)
 a__U12(tt(),L) -> s(a__length(mark(L)))
 a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
 a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
 a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
 a__length(nil()) -> 0()
 a__length(cons(N,L)) -> a__U11(tt(),L)
 a__take(0(),IL) -> nil()
 a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
 mark(zeros()) -> a__zeros()
 mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
 mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
 mark(length(X)) -> a__length(mark(X))
 mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
 mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
 mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
 mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
 mark(cons(X1,X2)) -> cons(mark(X1),X2)
 mark(0()) -> 0()
 mark(tt()) -> tt()
 mark(s(X)) -> s(mark(X))
 mark(nil()) -> nil()
 a__zeros() -> zeros()
 a__U11(X1,X2) -> U11(X1,X2)
 a__U12(X1,X2) -> U12(X1,X2)
 a__length(X) -> length(X)
 a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
 a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
 a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
 a__take(X1,X2) -> take(X1,X2)

Proof:
 DP Processor:
  DPs:
   a__U11#(tt(),L) -> a__U12#(tt(),L)
   a__U12#(tt(),L) -> mark#(L)
   a__U12#(tt(),L) -> a__length#(mark(L))
   a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
   a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
   a__U23#(tt(),IL,M,N) -> mark#(N)
   a__length#(cons(N,L)) -> a__U11#(tt(),L)
   a__take#(s(M),cons(N,IL)) -> a__U21#(tt(),IL,M,N)
   mark#(zeros()) -> a__zeros#()
   mark#(U11(X1,X2)) -> mark#(X1)
   mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
   mark#(U12(X1,X2)) -> mark#(X1)
   mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
   mark#(length(X)) -> mark#(X)
   mark#(length(X)) -> a__length#(mark(X))
   mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
   mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
   mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
   mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
   mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
   mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
   mark#(take(X1,X2)) -> mark#(X2)
   mark#(take(X1,X2)) -> mark#(X1)
   mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
   mark#(cons(X1,X2)) -> mark#(X1)
   mark#(s(X)) -> mark#(X)
  TRS:
   a__zeros() -> cons(0(),zeros())
   a__U11(tt(),L) -> a__U12(tt(),L)
   a__U12(tt(),L) -> s(a__length(mark(L)))
   a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
   a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
   a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
   a__length(nil()) -> 0()
   a__length(cons(N,L)) -> a__U11(tt(),L)
   a__take(0(),IL) -> nil()
   a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
   mark(zeros()) -> a__zeros()
   mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
   mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
   mark(length(X)) -> a__length(mark(X))
   mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
   mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
   mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
   mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
   mark(cons(X1,X2)) -> cons(mark(X1),X2)
   mark(0()) -> 0()
   mark(tt()) -> tt()
   mark(s(X)) -> s(mark(X))
   mark(nil()) -> nil()
   a__zeros() -> zeros()
   a__U11(X1,X2) -> U11(X1,X2)
   a__U12(X1,X2) -> U12(X1,X2)
   a__length(X) -> length(X)
   a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
   a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
   a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
   a__take(X1,X2) -> take(X1,X2)
  TDG Processor:
   DPs:
    a__U11#(tt(),L) -> a__U12#(tt(),L)
    a__U12#(tt(),L) -> mark#(L)
    a__U12#(tt(),L) -> a__length#(mark(L))
    a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
    a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
    a__U23#(tt(),IL,M,N) -> mark#(N)
    a__length#(cons(N,L)) -> a__U11#(tt(),L)
    a__take#(s(M),cons(N,IL)) -> a__U21#(tt(),IL,M,N)
    mark#(zeros()) -> a__zeros#()
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(length(X)) -> mark#(X)
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X)
   TRS:
    a__zeros() -> cons(0(),zeros())
    a__U11(tt(),L) -> a__U12(tt(),L)
    a__U12(tt(),L) -> s(a__length(mark(L)))
    a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
    a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
    a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
    a__length(nil()) -> 0()
    a__length(cons(N,L)) -> a__U11(tt(),L)
    a__take(0(),IL) -> nil()
    a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
    mark(zeros()) -> a__zeros()
    mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
    mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
    mark(length(X)) -> a__length(mark(X))
    mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
    mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
    mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
    mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
    mark(cons(X1,X2)) -> cons(mark(X1),X2)
    mark(0()) -> 0()
    mark(tt()) -> tt()
    mark(s(X)) -> s(mark(X))
    mark(nil()) -> nil()
    a__zeros() -> zeros()
    a__U11(X1,X2) -> U11(X1,X2)
    a__U12(X1,X2) -> U12(X1,X2)
    a__length(X) -> length(X)
    a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
    a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
    a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
    a__take(X1,X2) -> take(X1,X2)
   graph:
    a__take#(s(M),cons(N,IL)) -> a__U21#(tt(),IL,M,N) ->
    a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
    a__U23#(tt(),IL,M,N) -> mark#(N) -> mark#(s(X)) -> mark#(X)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(take(X1,X2)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(take(X1,X2)) -> mark#(X2)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(length(X)) -> a__length#(mark(X))
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(length(X)) -> mark#(X)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    a__U23#(tt(),IL,M,N) -> mark#(N) ->
    mark#(zeros()) -> a__zeros#()
    a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N) ->
    a__U23#(tt(),IL,M,N) -> mark#(N)
    a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N) ->
    a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
    a__length#(cons(N,L)) -> a__U11#(tt(),L) ->
    a__U11#(tt(),L) -> a__U12#(tt(),L)
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4) ->
    a__U23#(tt(),IL,M,N) -> mark#(N)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(s(X)) -> mark#(X)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> mark#(X)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4) ->
    a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(s(X)) -> mark#(X)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> mark#(X)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4) ->
    a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(s(X)) -> mark#(X)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(length(X)) -> mark#(X)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    mark#(length(X)) -> a__length#(mark(X)) ->
    a__length#(cons(N,L)) -> a__U11#(tt(),L)
    mark#(length(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X)
    mark#(length(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(length(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2)
    mark#(length(X)) -> mark#(X) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(length(X)) -> mark#(X) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(length(X)) -> mark#(X) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(length(X)) -> mark#(X) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(length(X)) -> mark#(X) -> mark#(length(X)) -> mark#(X)
    mark#(length(X)) -> mark#(X) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(length(X)) -> mark#(X) -> mark#(U12(X1,X2)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(length(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(length(X)) -> mark#(X) -> mark#(zeros()) -> a__zeros#()
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X2)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(length(X)) -> mark#(X)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U12(X1,X2)) -> mark#(X1) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U12(X1,X2)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2) ->
    a__U12#(tt(),L) -> a__length#(mark(L))
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2) ->
    a__U12#(tt(),L) -> mark#(L)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X2)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(length(X)) -> mark#(X)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U12(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2) ->
    a__U11#(tt(),L) -> a__U12#(tt(),L)
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) ->
    a__take#(s(M),cons(N,IL)) -> a__U21#(tt(),IL,M,N)
    mark#(take(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(take(X1,X2)) -> mark#(X2) -> mark#(length(X)) -> mark#(X)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(take(X1,X2)) -> mark#(X2) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X2) -> mark#(zeros()) -> a__zeros#()
    mark#(take(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(take(X1,X2)) -> mark#(X1) -> mark#(length(X)) -> mark#(X)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(take(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(take(X1,X2)) -> mark#(X1) -> mark#(zeros()) -> a__zeros#()
    mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X)
    mark#(s(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2)
    mark#(s(X)) -> mark#(X) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(s(X)) -> mark#(X) -> mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(s(X)) -> mark#(X) -> mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(s(X)) -> mark#(X) -> mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(length(X)) -> a__length#(mark(X))
    mark#(s(X)) -> mark#(X) -> mark#(length(X)) -> mark#(X)
    mark#(s(X)) -> mark#(X) -> mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(s(X)) -> mark#(X) -> mark#(U12(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(s(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(zeros()) -> a__zeros#()
    mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(cons(X1,X2)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(take(X1,X2)) -> mark#(X2)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(length(X)) -> a__length#(mark(X))
    mark#(cons(X1,X2)) -> mark#(X1) -> mark#(length(X)) -> mark#(X)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U12(X1,X2)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(cons(X1,X2)) -> mark#(X1) ->
    mark#(zeros()) -> a__zeros#()
    a__U12#(tt(),L) -> a__length#(mark(L)) ->
    a__length#(cons(N,L)) -> a__U11#(tt(),L)
    a__U12#(tt(),L) -> mark#(L) -> mark#(s(X)) -> mark#(X)
    a__U12#(tt(),L) -> mark#(L) -> mark#(cons(X1,X2)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
    a__U12#(tt(),L) -> mark#(L) -> mark#(take(X1,X2)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) -> mark#(take(X1,X2)) -> mark#(X2)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
    a__U12#(tt(),L) -> mark#(L) -> mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
    a__U12#(tt(),L) -> mark#(L) -> mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
    a__U12#(tt(),L) -> mark#(L) -> mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(length(X)) -> a__length#(mark(X))
    a__U12#(tt(),L) -> mark#(L) -> mark#(length(X)) -> mark#(X)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
    a__U12#(tt(),L) -> mark#(L) -> mark#(U12(X1,X2)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) ->
    mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
    a__U12#(tt(),L) -> mark#(L) -> mark#(U11(X1,X2)) -> mark#(X1)
    a__U12#(tt(),L) -> mark#(L) -> mark#(zeros()) -> a__zeros#()
    a__U11#(tt(),L) -> a__U12#(tt(),L) ->
    a__U12#(tt(),L) -> a__length#(mark(L))
    a__U11#(tt(),L) -> a__U12#(tt(),L) -> a__U12#(tt(),L) -> mark#(L)
   SCC Processor:
    #sccs: 1
    #rules: 25
    #arcs: 231/676
    DPs:
     a__take#(s(M),cons(N,IL)) -> a__U21#(tt(),IL,M,N)
     a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
     a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
     a__U23#(tt(),IL,M,N) -> mark#(N)
     mark#(U11(X1,X2)) -> mark#(X1)
     mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
     a__U11#(tt(),L) -> a__U12#(tt(),L)
     a__U12#(tt(),L) -> mark#(L)
     mark#(U12(X1,X2)) -> mark#(X1)
     mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
     a__U12#(tt(),L) -> a__length#(mark(L))
     a__length#(cons(N,L)) -> a__U11#(tt(),L)
     mark#(length(X)) -> mark#(X)
     mark#(length(X)) -> a__length#(mark(X))
     mark#(U21(X1,X2,X3,X4)) -> mark#(X1)
     mark#(U21(X1,X2,X3,X4)) -> a__U21#(mark(X1),X2,X3,X4)
     mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
     mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
     mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
     mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
     mark#(take(X1,X2)) -> mark#(X2)
     mark#(take(X1,X2)) -> mark#(X1)
     mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
     mark#(cons(X1,X2)) -> mark#(X1)
     mark#(s(X)) -> mark#(X)
    TRS:
     a__zeros() -> cons(0(),zeros())
     a__U11(tt(),L) -> a__U12(tt(),L)
     a__U12(tt(),L) -> s(a__length(mark(L)))
     a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
     a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
     a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
     a__length(nil()) -> 0()
     a__length(cons(N,L)) -> a__U11(tt(),L)
     a__take(0(),IL) -> nil()
     a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
     mark(zeros()) -> a__zeros()
     mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
     mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
     mark(length(X)) -> a__length(mark(X))
     mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
     mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
     mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
     mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
     mark(cons(X1,X2)) -> cons(mark(X1),X2)
     mark(0()) -> 0()
     mark(tt()) -> tt()
     mark(s(X)) -> s(mark(X))
     mark(nil()) -> nil()
     a__zeros() -> zeros()
     a__U11(X1,X2) -> U11(X1,X2)
     a__U12(X1,X2) -> U12(X1,X2)
     a__length(X) -> length(X)
     a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
     a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
     a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
     a__take(X1,X2) -> take(X1,X2)
    Matrix Interpretation Processor: dim=1
     
     interpretation:
      [a__take#](x0, x1) = x0 + x1 + 6,
      
      [a__U23#](x0, x1, x2, x3) = 3x0 + x3,
      
      [a__U22#](x0, x1, x2, x3) = 3x0 + x2 + x3,
      
      [a__U21#](x0, x1, x2, x3) = 2x0 + x2 + x3 + 1,
      
      [a__length#](x0) = x0 + 1,
      
      [mark#](x0) = x0,
      
      [a__U12#](x0, x1) = x0 + x1,
      
      [a__U11#](x0, x1) = x0 + x1,
      
      [U23](x0, x1, x2, x3) = 6x0 + 2x1 + x2 + x3,
      
      [U22](x0, x1, x2, x3) = 6x0 + 2x1 + x2 + x3,
      
      [U21](x0, x1, x2, x3) = 4x0 + 2x1 + x2 + 2x3 + 2,
      
      [length](x0) = x0 + 1,
      
      [U12](x0, x1) = x0 + x1,
      
      [U11](x0, x1) = x0 + x1,
      
      [a__take](x0, x1) = x0 + 2x1 + 6,
      
      [nil] = 2,
      
      [take](x0, x1) = x0 + 2x1 + 6,
      
      [a__U23](x0, x1, x2, x3) = 6x0 + 2x1 + x2 + x3,
      
      [a__U22](x0, x1, x2, x3) = 6x0 + 2x1 + x2 + x3,
      
      [a__U21](x0, x1, x2, x3) = 4x0 + 2x1 + x2 + 2x3 + 2,
      
      [s](x0) = x0,
      
      [a__length](x0) = x0 + 1,
      
      [mark](x0) = x0,
      
      [a__U12](x0, x1) = x0 + x1,
      
      [a__U11](x0, x1) = x0 + x1,
      
      [tt] = 1,
      
      [cons](x0, x1) = x0 + x1,
      
      [zeros] = 0,
      
      [0] = 0,
      
      [a__zeros] = 0
     orientation:
      a__take#(s(M),cons(N,IL)) = IL + M + N + 6 >= M + N + 3 = a__U21#(tt(),IL,M,N)
      
      a__U21#(tt(),IL,M,N) = M + N + 3 >= M + N + 3 = a__U22#(tt(),IL,M,N)
      
      a__U22#(tt(),IL,M,N) = M + N + 3 >= N + 3 = a__U23#(tt(),IL,M,N)
      
      a__U23#(tt(),IL,M,N) = N + 3 >= N = mark#(N)
      
      mark#(U11(X1,X2)) = X1 + X2 >= X1 = mark#(X1)
      
      mark#(U11(X1,X2)) = X1 + X2 >= X1 + X2 = a__U11#(mark(X1),X2)
      
      a__U11#(tt(),L) = L + 1 >= L + 1 = a__U12#(tt(),L)
      
      a__U12#(tt(),L) = L + 1 >= L = mark#(L)
      
      mark#(U12(X1,X2)) = X1 + X2 >= X1 = mark#(X1)
      
      mark#(U12(X1,X2)) = X1 + X2 >= X1 + X2 = a__U12#(mark(X1),X2)
      
      a__U12#(tt(),L) = L + 1 >= L + 1 = a__length#(mark(L))
      
      a__length#(cons(N,L)) = L + N + 1 >= L + 1 = a__U11#(tt(),L)
      
      mark#(length(X)) = X + 1 >= X = mark#(X)
      
      mark#(length(X)) = X + 1 >= X + 1 = a__length#(mark(X))
      
      mark#(U21(X1,X2,X3,X4)) = 4X1 + 2X2 + X3 + 2X4 + 2 >= X1 = mark#(X1)
      
      mark#(U21(X1,X2,X3,X4)) = 4X1 + 2X2 + X3 + 2X4 + 2 >= 2X1 + X3 + X4 + 1 = a__U21#(mark(X1),X2,X3,X4)
      
      mark#(U22(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= X1 = mark#(X1)
      
      mark#(U22(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= 3X1 + X3 + X4 = a__U22#(mark(X1),X2,X3,X4)
      
      mark#(U23(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= X1 = mark#(X1)
      
      mark#(U23(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= 3X1 + X4 = a__U23#(mark(X1),X2,X3,X4)
      
      mark#(take(X1,X2)) = X1 + 2X2 + 6 >= X2 = mark#(X2)
      
      mark#(take(X1,X2)) = X1 + 2X2 + 6 >= X1 = mark#(X1)
      
      mark#(take(X1,X2)) = X1 + 2X2 + 6 >= X1 + X2 + 6 = a__take#(mark(X1),mark(X2))
      
      mark#(cons(X1,X2)) = X1 + X2 >= X1 = mark#(X1)
      
      mark#(s(X)) = X >= X = mark#(X)
      
      a__zeros() = 0 >= 0 = cons(0(),zeros())
      
      a__U11(tt(),L) = L + 1 >= L + 1 = a__U12(tt(),L)
      
      a__U12(tt(),L) = L + 1 >= L + 1 = s(a__length(mark(L)))
      
      a__U21(tt(),IL,M,N) = 2IL + M + 2N + 6 >= 2IL + M + N + 6 = a__U22(tt(),IL,M,N)
      
      a__U22(tt(),IL,M,N) = 2IL + M + N + 6 >= 2IL + M + N + 6 = a__U23(tt(),IL,M,N)
      
      a__U23(tt(),IL,M,N) = 2IL + M + N + 6 >= 2IL + M + N + 6 = cons(mark(N),take(M,IL))
      
      a__length(nil()) = 3 >= 0 = 0()
      
      a__length(cons(N,L)) = L + N + 1 >= L + 1 = a__U11(tt(),L)
      
      a__take(0(),IL) = 2IL + 6 >= 2 = nil()
      
      a__take(s(M),cons(N,IL)) = 2IL + M + 2N + 6 >= 2IL + M + 2N + 6 = a__U21(tt(),IL,M,N)
      
      mark(zeros()) = 0 >= 0 = a__zeros()
      
      mark(U11(X1,X2)) = X1 + X2 >= X1 + X2 = a__U11(mark(X1),X2)
      
      mark(U12(X1,X2)) = X1 + X2 >= X1 + X2 = a__U12(mark(X1),X2)
      
      mark(length(X)) = X + 1 >= X + 1 = a__length(mark(X))
      
      mark(U21(X1,X2,X3,X4)) = 4X1 + 2X2 + X3 + 2X4 + 2 >= 4X1 + 2X2 + X3 + 2X4 + 2 = a__U21(mark(X1),X2,X3,X4)
      
      mark(U22(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= 6X1 + 2X2 + X3 + X4 = a__U22(mark(X1),X2,X3,X4)
      
      mark(U23(X1,X2,X3,X4)) = 6X1 + 2X2 + X3 + X4 >= 6X1 + 2X2 + X3 + X4 = a__U23(mark(X1),X2,X3,X4)
      
      mark(take(X1,X2)) = X1 + 2X2 + 6 >= X1 + 2X2 + 6 = a__take(mark(X1),mark(X2))
      
      mark(cons(X1,X2)) = X1 + X2 >= X1 + X2 = cons(mark(X1),X2)
      
      mark(0()) = 0 >= 0 = 0()
      
      mark(tt()) = 1 >= 1 = tt()
      
      mark(s(X)) = X >= X = s(mark(X))
      
      mark(nil()) = 2 >= 2 = nil()
      
      a__zeros() = 0 >= 0 = zeros()
      
      a__U11(X1,X2) = X1 + X2 >= X1 + X2 = U11(X1,X2)
      
      a__U12(X1,X2) = X1 + X2 >= X1 + X2 = U12(X1,X2)
      
      a__length(X) = X + 1 >= X + 1 = length(X)
      
      a__U21(X1,X2,X3,X4) = 4X1 + 2X2 + X3 + 2X4 + 2 >= 4X1 + 2X2 + X3 + 2X4 + 2 = U21(X1,X2,X3,X4)
      
      a__U22(X1,X2,X3,X4) = 6X1 + 2X2 + X3 + X4 >= 6X1 + 2X2 + X3 + X4 = U22(X1,X2,X3,X4)
      
      a__U23(X1,X2,X3,X4) = 6X1 + 2X2 + X3 + X4 >= 6X1 + 2X2 + X3 + X4 = U23(X1,X2,X3,X4)
      
      a__take(X1,X2) = X1 + 2X2 + 6 >= X1 + 2X2 + 6 = take(X1,X2)
     problem:
      DPs:
       a__U21#(tt(),IL,M,N) -> a__U22#(tt(),IL,M,N)
       a__U22#(tt(),IL,M,N) -> a__U23#(tt(),IL,M,N)
       mark#(U11(X1,X2)) -> mark#(X1)
       mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2)
       a__U11#(tt(),L) -> a__U12#(tt(),L)
       mark#(U12(X1,X2)) -> mark#(X1)
       mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2)
       a__U12#(tt(),L) -> a__length#(mark(L))
       a__length#(cons(N,L)) -> a__U11#(tt(),L)
       mark#(length(X)) -> a__length#(mark(X))
       mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
       mark#(U22(X1,X2,X3,X4)) -> a__U22#(mark(X1),X2,X3,X4)
       mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
       mark#(U23(X1,X2,X3,X4)) -> a__U23#(mark(X1),X2,X3,X4)
       mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2))
       mark#(cons(X1,X2)) -> mark#(X1)
       mark#(s(X)) -> mark#(X)
      TRS:
       a__zeros() -> cons(0(),zeros())
       a__U11(tt(),L) -> a__U12(tt(),L)
       a__U12(tt(),L) -> s(a__length(mark(L)))
       a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
       a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
       a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
       a__length(nil()) -> 0()
       a__length(cons(N,L)) -> a__U11(tt(),L)
       a__take(0(),IL) -> nil()
       a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
       mark(zeros()) -> a__zeros()
       mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
       mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
       mark(length(X)) -> a__length(mark(X))
       mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
       mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
       mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
       mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
       mark(cons(X1,X2)) -> cons(mark(X1),X2)
       mark(0()) -> 0()
       mark(tt()) -> tt()
       mark(s(X)) -> s(mark(X))
       mark(nil()) -> nil()
       a__zeros() -> zeros()
       a__U11(X1,X2) -> U11(X1,X2)
       a__U12(X1,X2) -> U12(X1,X2)
       a__length(X) -> length(X)
       a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
       a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
       a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
       a__take(X1,X2) -> take(X1,X2)
     SCC Processor:
      #sccs: 2
      #rules: 9
      #arcs: 219/289
      DPs:
       mark#(U23(X1,X2,X3,X4)) -> mark#(X1)
       mark#(U11(X1,X2)) -> mark#(X1)
       mark#(U12(X1,X2)) -> mark#(X1)
       mark#(U22(X1,X2,X3,X4)) -> mark#(X1)
       mark#(cons(X1,X2)) -> mark#(X1)
       mark#(s(X)) -> mark#(X)
      TRS:
       a__zeros() -> cons(0(),zeros())
       a__U11(tt(),L) -> a__U12(tt(),L)
       a__U12(tt(),L) -> s(a__length(mark(L)))
       a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
       a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
       a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
       a__length(nil()) -> 0()
       a__length(cons(N,L)) -> a__U11(tt(),L)
       a__take(0(),IL) -> nil()
       a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
       mark(zeros()) -> a__zeros()
       mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
       mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
       mark(length(X)) -> a__length(mark(X))
       mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
       mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
       mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
       mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
       mark(cons(X1,X2)) -> cons(mark(X1),X2)
       mark(0()) -> 0()
       mark(tt()) -> tt()
       mark(s(X)) -> s(mark(X))
       mark(nil()) -> nil()
       a__zeros() -> zeros()
       a__U11(X1,X2) -> U11(X1,X2)
       a__U12(X1,X2) -> U12(X1,X2)
       a__length(X) -> length(X)
       a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
       a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
       a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
       a__take(X1,X2) -> take(X1,X2)
      Subterm Criterion Processor:
       simple projection:
        pi(mark#) = 0
       problem:
        DPs:
         
        TRS:
         a__zeros() -> cons(0(),zeros())
         a__U11(tt(),L) -> a__U12(tt(),L)
         a__U12(tt(),L) -> s(a__length(mark(L)))
         a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
         a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
         a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
         a__length(nil()) -> 0()
         a__length(cons(N,L)) -> a__U11(tt(),L)
         a__take(0(),IL) -> nil()
         a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
         mark(zeros()) -> a__zeros()
         mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
         mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
         mark(length(X)) -> a__length(mark(X))
         mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
         mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
         mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
         mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
         mark(cons(X1,X2)) -> cons(mark(X1),X2)
         mark(0()) -> 0()
         mark(tt()) -> tt()
         mark(s(X)) -> s(mark(X))
         mark(nil()) -> nil()
         a__zeros() -> zeros()
         a__U11(X1,X2) -> U11(X1,X2)
         a__U12(X1,X2) -> U12(X1,X2)
         a__length(X) -> length(X)
         a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
         a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
         a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
         a__take(X1,X2) -> take(X1,X2)
       Qed
      
      DPs:
       a__length#(cons(N,L)) -> a__U11#(tt(),L)
       a__U11#(tt(),L) -> a__U12#(tt(),L)
       a__U12#(tt(),L) -> a__length#(mark(L))
      TRS:
       a__zeros() -> cons(0(),zeros())
       a__U11(tt(),L) -> a__U12(tt(),L)
       a__U12(tt(),L) -> s(a__length(mark(L)))
       a__U21(tt(),IL,M,N) -> a__U22(tt(),IL,M,N)
       a__U22(tt(),IL,M,N) -> a__U23(tt(),IL,M,N)
       a__U23(tt(),IL,M,N) -> cons(mark(N),take(M,IL))
       a__length(nil()) -> 0()
       a__length(cons(N,L)) -> a__U11(tt(),L)
       a__take(0(),IL) -> nil()
       a__take(s(M),cons(N,IL)) -> a__U21(tt(),IL,M,N)
       mark(zeros()) -> a__zeros()
       mark(U11(X1,X2)) -> a__U11(mark(X1),X2)
       mark(U12(X1,X2)) -> a__U12(mark(X1),X2)
       mark(length(X)) -> a__length(mark(X))
       mark(U21(X1,X2,X3,X4)) -> a__U21(mark(X1),X2,X3,X4)
       mark(U22(X1,X2,X3,X4)) -> a__U22(mark(X1),X2,X3,X4)
       mark(U23(X1,X2,X3,X4)) -> a__U23(mark(X1),X2,X3,X4)
       mark(take(X1,X2)) -> a__take(mark(X1),mark(X2))
       mark(cons(X1,X2)) -> cons(mark(X1),X2)
       mark(0()) -> 0()
       mark(tt()) -> tt()
       mark(s(X)) -> s(mark(X))
       mark(nil()) -> nil()
       a__zeros() -> zeros()
       a__U11(X1,X2) -> U11(X1,X2)
       a__U12(X1,X2) -> U12(X1,X2)
       a__length(X) -> length(X)
       a__U21(X1,X2,X3,X4) -> U21(X1,X2,X3,X4)
       a__U22(X1,X2,X3,X4) -> U22(X1,X2,X3,X4)
       a__U23(X1,X2,X3,X4) -> U23(X1,X2,X3,X4)
       a__take(X1,X2) -> take(X1,X2)
      Open