MAYBE

Problem:
 zeros() -> cons(0(),n__zeros())
 U11(tt(),L) -> s(length(activate(L)))
 and(tt(),X) -> activate(X)
 isNat(n__0()) -> tt()
 isNat(n__length(V1)) -> isNatList(activate(V1))
 isNat(n__s(V1)) -> isNat(activate(V1))
 isNatIList(V) -> isNatList(activate(V))
 isNatIList(n__zeros()) -> tt()
 isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2)))
 isNatList(n__nil()) -> tt()
 isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2)))
 length(nil()) -> 0()
 length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L))
 zeros() -> n__zeros()
 0() -> n__0()
 length(X) -> n__length(X)
 s(X) -> n__s(X)
 cons(X1,X2) -> n__cons(X1,X2)
 isNatIList(X) -> n__isNatIList(X)
 nil() -> n__nil()
 isNatList(X) -> n__isNatList(X)
 isNat(X) -> n__isNat(X)
 activate(n__zeros()) -> zeros()
 activate(n__0()) -> 0()
 activate(n__length(X)) -> length(activate(X))
 activate(n__s(X)) -> s(activate(X))
 activate(n__cons(X1,X2)) -> cons(activate(X1),X2)
 activate(n__isNatIList(X)) -> isNatIList(X)
 activate(n__nil()) -> nil()
 activate(n__isNatList(X)) -> isNatList(X)
 activate(n__isNat(X)) -> isNat(X)
 activate(X) -> X

Proof:
 DP Processor:
  DPs:
   zeros#() -> 0#()
   zeros#() -> cons#(0(),n__zeros())
   U11#(tt(),L) -> activate#(L)
   U11#(tt(),L) -> length#(activate(L))
   U11#(tt(),L) -> s#(length(activate(L)))
   and#(tt(),X) -> activate#(X)
   isNat#(n__length(V1)) -> activate#(V1)
   isNat#(n__length(V1)) -> isNatList#(activate(V1))
   isNat#(n__s(V1)) -> activate#(V1)
   isNat#(n__s(V1)) -> isNat#(activate(V1))
   isNatIList#(V) -> activate#(V)
   isNatIList#(V) -> isNatList#(activate(V))
   isNatIList#(n__cons(V1,V2)) -> activate#(V2)
   isNatIList#(n__cons(V1,V2)) -> activate#(V1)
   isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1))
   isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2)))
   isNatList#(n__cons(V1,V2)) -> activate#(V2)
   isNatList#(n__cons(V1,V2)) -> activate#(V1)
   isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
   isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
   length#(nil()) -> 0#()
   length#(cons(N,L)) -> activate#(L)
   length#(cons(N,L)) -> isNatList#(activate(L))
   length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
   length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
   activate#(n__zeros()) -> zeros#()
   activate#(n__0()) -> 0#()
   activate#(n__length(X)) -> activate#(X)
   activate#(n__length(X)) -> length#(activate(X))
   activate#(n__s(X)) -> activate#(X)
   activate#(n__s(X)) -> s#(activate(X))
   activate#(n__cons(X1,X2)) -> activate#(X1)
   activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
   activate#(n__isNatIList(X)) -> isNatIList#(X)
   activate#(n__nil()) -> nil#()
   activate#(n__isNatList(X)) -> isNatList#(X)
   activate#(n__isNat(X)) -> isNat#(X)
  TRS:
   zeros() -> cons(0(),n__zeros())
   U11(tt(),L) -> s(length(activate(L)))
   and(tt(),X) -> activate(X)
   isNat(n__0()) -> tt()
   isNat(n__length(V1)) -> isNatList(activate(V1))
   isNat(n__s(V1)) -> isNat(activate(V1))
   isNatIList(V) -> isNatList(activate(V))
   isNatIList(n__zeros()) -> tt()
   isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2)))
   isNatList(n__nil()) -> tt()
   isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2)))
   length(nil()) -> 0()
   length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L))
   zeros() -> n__zeros()
   0() -> n__0()
   length(X) -> n__length(X)
   s(X) -> n__s(X)
   cons(X1,X2) -> n__cons(X1,X2)
   isNatIList(X) -> n__isNatIList(X)
   nil() -> n__nil()
   isNatList(X) -> n__isNatList(X)
   isNat(X) -> n__isNat(X)
   activate(n__zeros()) -> zeros()
   activate(n__0()) -> 0()
   activate(n__length(X)) -> length(activate(X))
   activate(n__s(X)) -> s(activate(X))
   activate(n__cons(X1,X2)) -> cons(activate(X1),X2)
   activate(n__isNatIList(X)) -> isNatIList(X)
   activate(n__nil()) -> nil()
   activate(n__isNatList(X)) -> isNatList(X)
   activate(n__isNat(X)) -> isNat(X)
   activate(X) -> X
  TDG Processor:
   DPs:
    zeros#() -> 0#()
    zeros#() -> cons#(0(),n__zeros())
    U11#(tt(),L) -> activate#(L)
    U11#(tt(),L) -> length#(activate(L))
    U11#(tt(),L) -> s#(length(activate(L)))
    and#(tt(),X) -> activate#(X)
    isNat#(n__length(V1)) -> activate#(V1)
    isNat#(n__length(V1)) -> isNatList#(activate(V1))
    isNat#(n__s(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> isNat#(activate(V1))
    isNatIList#(V) -> activate#(V)
    isNatIList#(V) -> isNatList#(activate(V))
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2)))
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
    length#(nil()) -> 0#()
    length#(cons(N,L)) -> activate#(L)
    length#(cons(N,L)) -> isNatList#(activate(L))
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
    activate#(n__zeros()) -> zeros#()
    activate#(n__0()) -> 0#()
    activate#(n__length(X)) -> activate#(X)
    activate#(n__length(X)) -> length#(activate(X))
    activate#(n__s(X)) -> activate#(X)
    activate#(n__s(X)) -> s#(activate(X))
    activate#(n__cons(X1,X2)) -> activate#(X1)
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    activate#(n__nil()) -> nil#()
    activate#(n__isNatList(X)) -> isNatList#(X)
    activate#(n__isNat(X)) -> isNat#(X)
   TRS:
    zeros() -> cons(0(),n__zeros())
    U11(tt(),L) -> s(length(activate(L)))
    and(tt(),X) -> activate(X)
    isNat(n__0()) -> tt()
    isNat(n__length(V1)) -> isNatList(activate(V1))
    isNat(n__s(V1)) -> isNat(activate(V1))
    isNatIList(V) -> isNatList(activate(V))
    isNatIList(n__zeros()) -> tt()
    isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2)))
    isNatList(n__nil()) -> tt()
    isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2)))
    length(nil()) -> 0()
    length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L))
    zeros() -> n__zeros()
    0() -> n__0()
    length(X) -> n__length(X)
    s(X) -> n__s(X)
    cons(X1,X2) -> n__cons(X1,X2)
    isNatIList(X) -> n__isNatIList(X)
    nil() -> n__nil()
    isNatList(X) -> n__isNatList(X)
    isNat(X) -> n__isNat(X)
    activate(n__zeros()) -> zeros()
    activate(n__0()) -> 0()
    activate(n__length(X)) -> length(activate(X))
    activate(n__s(X)) -> s(activate(X))
    activate(n__cons(X1,X2)) -> cons(activate(X1),X2)
    activate(n__isNatIList(X)) -> isNatIList(X)
    activate(n__nil()) -> nil()
    activate(n__isNatList(X)) -> isNatList(X)
    activate(n__isNat(X)) -> isNat(X)
    activate(X) -> X
   graph:
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNat#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatList#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatIList#(V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
    isNatIList#(V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    isNatIList#(V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    isNatIList#(V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNatIList#(V) -> activate#(V) -> activate#(n__nil()) -> nil#()
    isNatIList#(V) -> activate#(V) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNatIList#(V) -> activate#(V) ->
    activate#(n__s(X)) -> activate#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNatIList#(V) -> activate#(V) ->
    activate#(n__length(X)) -> activate#(X)
    isNatIList#(V) -> activate#(V) -> activate#(n__0()) -> 0#()
    isNatIList#(V) -> activate#(V) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNat#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatList#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> activate#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> activate#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> activate#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> activate#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNat#(n__s(V1)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNat#(activate(V1))
    isNat#(n__s(V1)) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatList#(activate(V1))
    isNat#(n__s(V1)) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> activate#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> activate#(X)
    isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__0()) -> 0#()
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNat#(n__length(V1)) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
    isNat#(n__length(V1)) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    isNat#(n__length(V1)) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    isNat#(n__length(V1)) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNat(X)) -> isNat#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(activate(X))
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> activate#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(activate(X))
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> activate#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    and#(tt(),X) -> activate#(X) -> activate#(n__isNat(X)) -> isNat#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    and#(tt(),X) -> activate#(X) -> activate#(n__nil()) -> nil#()
    and#(tt(),X) -> activate#(X) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__s(X)) -> s#(activate(X))
    and#(tt(),X) -> activate#(X) -> activate#(n__s(X)) -> activate#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__length(X)) -> length#(activate(X))
    and#(tt(),X) -> activate#(X) ->
    activate#(n__length(X)) -> activate#(X)
    and#(tt(),X) -> activate#(X) -> activate#(n__0()) -> 0#()
    and#(tt(),X) -> activate#(X) ->
    activate#(n__zeros()) -> zeros#()
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N)) ->
    and#(tt(),X) -> activate#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__isNat(X)) -> isNat#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__nil()) -> nil#()
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__s(X)) -> s#(activate(X))
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__s(X)) -> activate#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__length(X)) -> length#(activate(X))
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__length(X)) -> activate#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__0()) -> 0#()
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__zeros()) -> zeros#()
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) ->
    U11#(tt(),L) -> s#(length(activate(L)))
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) ->
    U11#(tt(),L) -> length#(activate(L))
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) ->
    U11#(tt(),L) -> activate#(L)
    activate#(n__isNat(X)) -> isNat#(X) ->
    isNat#(n__s(V1)) -> isNat#(activate(V1))
    activate#(n__isNat(X)) -> isNat#(X) ->
    isNat#(n__s(V1)) -> activate#(V1)
    activate#(n__isNat(X)) -> isNat#(X) ->
    isNat#(n__length(V1)) -> isNatList#(activate(V1))
    activate#(n__isNat(X)) -> isNat#(X) ->
    isNat#(n__length(V1)) -> activate#(V1)
    activate#(n__isNatList(X)) -> isNatList#(X) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
    activate#(n__isNatList(X)) -> isNatList#(X) ->
    isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    activate#(n__isNatList(X)) -> isNatList#(X) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    activate#(n__isNatList(X)) -> isNatList#(X) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2)))
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1))
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(V) -> isNatList#(activate(V))
    activate#(n__isNatIList(X)) -> isNatIList#(X) ->
    isNatIList#(V) -> activate#(V)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__isNat(X)) -> isNat#(X)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__nil()) -> nil#()
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__s(X)) -> s#(activate(X))
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__s(X)) -> activate#(X)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__length(X)) -> length#(activate(X))
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__length(X)) -> activate#(X)
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__0()) -> 0#()
    activate#(n__cons(X1,X2)) -> activate#(X1) ->
    activate#(n__zeros()) -> zeros#()
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__isNat(X)) -> isNat#(X)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__nil()) -> nil#()
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__s(X)) -> s#(activate(X))
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__s(X)) -> activate#(X)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__length(X)) -> length#(activate(X))
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__length(X)) -> activate#(X)
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__0()) -> 0#()
    activate#(n__s(X)) -> activate#(X) ->
    activate#(n__zeros()) -> zeros#()
    activate#(n__length(X)) -> length#(activate(X)) ->
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
    activate#(n__length(X)) -> length#(activate(X)) ->
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
    activate#(n__length(X)) -> length#(activate(X)) ->
    length#(cons(N,L)) -> isNatList#(activate(L))
    activate#(n__length(X)) -> length#(activate(X)) ->
    length#(cons(N,L)) -> activate#(L)
    activate#(n__length(X)) -> length#(activate(X)) ->
    length#(nil()) -> 0#()
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__isNat(X)) -> isNat#(X)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__nil()) -> nil#()
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__s(X)) -> s#(activate(X))
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__s(X)) -> activate#(X)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__length(X)) -> length#(activate(X))
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__length(X)) -> activate#(X)
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__0()) -> 0#()
    activate#(n__length(X)) -> activate#(X) ->
    activate#(n__zeros()) -> zeros#()
    activate#(n__zeros()) -> zeros#() ->
    zeros#() -> cons#(0(),n__zeros())
    activate#(n__zeros()) -> zeros#() -> zeros#() -> 0#()
    U11#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
    U11#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
    U11#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> isNatList#(activate(L))
    U11#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> activate#(L)
    U11#(tt(),L) -> length#(activate(L)) -> length#(nil()) -> 0#()
    U11#(tt(),L) -> activate#(L) -> activate#(n__isNat(X)) -> isNat#(X)
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__isNatList(X)) -> isNatList#(X)
    U11#(tt(),L) -> activate#(L) -> activate#(n__nil()) -> nil#()
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__isNatIList(X)) -> isNatIList#(X)
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> activate#(X1)
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__s(X)) -> s#(activate(X))
    U11#(tt(),L) -> activate#(L) -> activate#(n__s(X)) -> activate#(X)
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__length(X)) -> length#(activate(X))
    U11#(tt(),L) -> activate#(L) ->
    activate#(n__length(X)) -> activate#(X)
    U11#(tt(),L) -> activate#(L) -> activate#(n__0()) -> 0#()
    U11#(tt(),L) -> activate#(L) -> activate#(n__zeros()) -> zeros#()
   Restore Modifier:
    DPs:
     zeros#() -> 0#()
     zeros#() -> cons#(0(),n__zeros())
     U11#(tt(),L) -> activate#(L)
     U11#(tt(),L) -> length#(activate(L))
     U11#(tt(),L) -> s#(length(activate(L)))
     and#(tt(),X) -> activate#(X)
     isNat#(n__length(V1)) -> activate#(V1)
     isNat#(n__length(V1)) -> isNatList#(activate(V1))
     isNat#(n__s(V1)) -> activate#(V1)
     isNat#(n__s(V1)) -> isNat#(activate(V1))
     isNatIList#(V) -> activate#(V)
     isNatIList#(V) -> isNatList#(activate(V))
     isNatIList#(n__cons(V1,V2)) -> activate#(V2)
     isNatIList#(n__cons(V1,V2)) -> activate#(V1)
     isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1))
     isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2)))
     isNatList#(n__cons(V1,V2)) -> activate#(V2)
     isNatList#(n__cons(V1,V2)) -> activate#(V1)
     isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
     isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
     length#(nil()) -> 0#()
     length#(cons(N,L)) -> activate#(L)
     length#(cons(N,L)) -> isNatList#(activate(L))
     length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
     length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
     activate#(n__zeros()) -> zeros#()
     activate#(n__0()) -> 0#()
     activate#(n__length(X)) -> activate#(X)
     activate#(n__length(X)) -> length#(activate(X))
     activate#(n__s(X)) -> activate#(X)
     activate#(n__s(X)) -> s#(activate(X))
     activate#(n__cons(X1,X2)) -> activate#(X1)
     activate#(n__cons(X1,X2)) -> cons#(activate(X1),X2)
     activate#(n__isNatIList(X)) -> isNatIList#(X)
     activate#(n__nil()) -> nil#()
     activate#(n__isNatList(X)) -> isNatList#(X)
     activate#(n__isNat(X)) -> isNat#(X)
    TRS:
     zeros() -> cons(0(),n__zeros())
     U11(tt(),L) -> s(length(activate(L)))
     and(tt(),X) -> activate(X)
     isNat(n__0()) -> tt()
     isNat(n__length(V1)) -> isNatList(activate(V1))
     isNat(n__s(V1)) -> isNat(activate(V1))
     isNatIList(V) -> isNatList(activate(V))
     isNatIList(n__zeros()) -> tt()
     isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2)))
     isNatList(n__nil()) -> tt()
     isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2)))
     length(nil()) -> 0()
     length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L))
     zeros() -> n__zeros()
     0() -> n__0()
     length(X) -> n__length(X)
     s(X) -> n__s(X)
     cons(X1,X2) -> n__cons(X1,X2)
     isNatIList(X) -> n__isNatIList(X)
     nil() -> n__nil()
     isNatList(X) -> n__isNatList(X)
     isNat(X) -> n__isNat(X)
     activate(n__zeros()) -> zeros()
     activate(n__0()) -> 0()
     activate(n__length(X)) -> length(activate(X))
     activate(n__s(X)) -> s(activate(X))
     activate(n__cons(X1,X2)) -> cons(activate(X1),X2)
     activate(n__isNatIList(X)) -> isNatIList(X)
     activate(n__nil()) -> nil()
     activate(n__isNatList(X)) -> isNatList(X)
     activate(n__isNat(X)) -> isNat(X)
     activate(X) -> X
    SCC Processor:
     #sccs: 1
     #rules: 28
     #arcs: 212/1369
     DPs:
      isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1))
      isNat#(n__length(V1)) -> activate#(V1)
      activate#(n__length(X)) -> activate#(X)
      activate#(n__length(X)) -> length#(activate(X))
      length#(cons(N,L)) -> activate#(L)
      activate#(n__s(X)) -> activate#(X)
      activate#(n__cons(X1,X2)) -> activate#(X1)
      activate#(n__isNatIList(X)) -> isNatIList#(X)
      isNatIList#(V) -> activate#(V)
      activate#(n__isNatList(X)) -> isNatList#(X)
      isNatList#(n__cons(V1,V2)) -> activate#(V2)
      activate#(n__isNat(X)) -> isNat#(X)
      isNat#(n__length(V1)) -> isNatList#(activate(V1))
      isNatList#(n__cons(V1,V2)) -> activate#(V1)
      isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1))
      isNat#(n__s(V1)) -> activate#(V1)
      isNat#(n__s(V1)) -> isNat#(activate(V1))
      isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2)))
      and#(tt(),X) -> activate#(X)
      isNatIList#(V) -> isNatList#(activate(V))
      isNatIList#(n__cons(V1,V2)) -> activate#(V2)
      isNatIList#(n__cons(V1,V2)) -> activate#(V1)
      isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2)))
      length#(cons(N,L)) -> isNatList#(activate(L))
      length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N))
      length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L))
      U11#(tt(),L) -> activate#(L)
      U11#(tt(),L) -> length#(activate(L))
     TRS:
      zeros() -> cons(0(),n__zeros())
      U11(tt(),L) -> s(length(activate(L)))
      and(tt(),X) -> activate(X)
      isNat(n__0()) -> tt()
      isNat(n__length(V1)) -> isNatList(activate(V1))
      isNat(n__s(V1)) -> isNat(activate(V1))
      isNatIList(V) -> isNatList(activate(V))
      isNatIList(n__zeros()) -> tt()
      isNatIList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatIList(activate(V2)))
      isNatList(n__nil()) -> tt()
      isNatList(n__cons(V1,V2)) -> and(isNat(activate(V1)),n__isNatList(activate(V2)))
      length(nil()) -> 0()
      length(cons(N,L)) -> U11(and(isNatList(activate(L)),n__isNat(N)),activate(L))
      zeros() -> n__zeros()
      0() -> n__0()
      length(X) -> n__length(X)
      s(X) -> n__s(X)
      cons(X1,X2) -> n__cons(X1,X2)
      isNatIList(X) -> n__isNatIList(X)
      nil() -> n__nil()
      isNatList(X) -> n__isNatList(X)
      isNat(X) -> n__isNat(X)
      activate(n__zeros()) -> zeros()
      activate(n__0()) -> 0()
      activate(n__length(X)) -> length(activate(X))
      activate(n__s(X)) -> s(activate(X))
      activate(n__cons(X1,X2)) -> cons(activate(X1),X2)
      activate(n__isNatIList(X)) -> isNatIList(X)
      activate(n__nil()) -> nil()
      activate(n__isNatList(X)) -> isNatList(X)
      activate(n__isNat(X)) -> isNat(X)
      activate(X) -> X
     Open