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(X) activate(n__s(X)) -> s(X) activate(n__cons(X1,X2)) -> cons(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)) -> length#(X) activate#(n__s(X)) -> s#(X) activate#(n__cons(X1,X2)) -> cons#(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(X) activate(n__s(X)) -> s(X) activate(n__cons(X1,X2)) -> cons(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 CDG 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)) -> length#(X) activate#(n__s(X)) -> s#(X) activate#(n__cons(X1,X2)) -> cons#(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(X) activate(n__s(X)) -> s(X) activate(n__cons(X1,X2)) -> cons(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__length(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__s(V1)) -> activate#(V1) isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) -> isNat#(n__s(V1)) -> isNat#(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__zeros()) -> zeros#() isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__0()) -> 0#() isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__length(X)) -> length#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__s(X)) -> s#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__nil()) -> nil#() isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNatList(X)) -> isNatList#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNat(X)) -> isNat#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__zeros()) -> zeros#() isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__0()) -> 0#() isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__length(X)) -> length#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__s(X)) -> s#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__nil()) -> nil#() isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNatList(X)) -> isNatList#(X) isNatIList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNat(X)) -> isNat#(X) isNatIList#(V) -> isNatList#(activate(V)) -> isNatList#(n__cons(V1,V2)) -> activate#(V2) isNatIList#(V) -> isNatList#(activate(V)) -> isNatList#(n__cons(V1,V2)) -> activate#(V1) isNatIList#(V) -> isNatList#(activate(V)) -> isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) isNatIList#(V) -> isNatList#(activate(V)) -> isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2))) isNatIList#(V) -> activate#(V) -> activate#(n__zeros()) -> zeros#() isNatIList#(V) -> activate#(V) -> activate#(n__0()) -> 0#() isNatIList#(V) -> activate#(V) -> activate#(n__length(X)) -> length#(X) isNatIList#(V) -> activate#(V) -> activate#(n__s(X)) -> s#(X) isNatIList#(V) -> activate#(V) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNatIList#(V) -> activate#(V) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNatIList#(V) -> activate#(V) -> activate#(n__nil()) -> nil#() isNatIList#(V) -> activate#(V) -> activate#(n__isNatList(X)) -> isNatList#(X) isNatIList#(V) -> activate#(V) -> activate#(n__isNat(X)) -> isNat#(X) isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) -> isNat#(n__length(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__s(V1)) -> activate#(V1) isNatList#(n__cons(V1,V2)) -> isNat#(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) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__zeros()) -> zeros#() isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__0()) -> 0#() isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__length(X)) -> length#(X) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__s(X)) -> s#(X) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__nil()) -> nil#() isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNatList(X)) -> isNatList#(X) isNatList#(n__cons(V1,V2)) -> activate#(V2) -> activate#(n__isNat(X)) -> isNat#(X) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__zeros()) -> zeros#() isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__0()) -> 0#() isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__length(X)) -> length#(X) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__s(X)) -> s#(X) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__nil()) -> nil#() isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNatList(X)) -> isNatList#(X) isNatList#(n__cons(V1,V2)) -> activate#(V1) -> activate#(n__isNat(X)) -> isNat#(X) isNat#(n__s(V1)) -> isNat#(activate(V1)) -> isNat#(n__length(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__s(V1)) -> activate#(V1) isNat#(n__s(V1)) -> isNat#(activate(V1)) -> isNat#(n__s(V1)) -> isNat#(activate(V1)) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__zeros()) -> zeros#() isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__0()) -> 0#() isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__length(X)) -> length#(X) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__s(X)) -> s#(X) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__nil()) -> nil#() isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__isNatList(X)) -> isNatList#(X) isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__isNat(X)) -> isNat#(X) isNat#(n__length(V1)) -> isNatList#(activate(V1)) -> isNatList#(n__cons(V1,V2)) -> activate#(V2) 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)) -> isNat#(activate(V1)) isNat#(n__length(V1)) -> isNatList#(activate(V1)) -> isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2))) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__zeros()) -> zeros#() isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__0()) -> 0#() isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__length(X)) -> length#(X) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__s(X)) -> s#(X) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__isNatIList(X)) -> isNatIList#(X) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__nil()) -> nil#() isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__isNatList(X)) -> isNatList#(X) isNat#(n__length(V1)) -> activate#(V1) -> activate#(n__isNat(X)) -> isNat#(X) and#(tt(),X) -> activate#(X) -> activate#(n__zeros()) -> zeros#() and#(tt(),X) -> activate#(X) -> activate#(n__0()) -> 0#() and#(tt(),X) -> activate#(X) -> activate#(n__length(X)) -> length#(X) and#(tt(),X) -> activate#(X) -> activate#(n__s(X)) -> s#(X) and#(tt(),X) -> activate#(X) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) and#(tt(),X) -> activate#(X) -> activate#(n__isNatIList(X)) -> isNatIList#(X) and#(tt(),X) -> activate#(X) -> activate#(n__nil()) -> nil#() and#(tt(),X) -> activate#(X) -> activate#(n__isNatList(X)) -> isNatList#(X) and#(tt(),X) -> activate#(X) -> activate#(n__isNat(X)) -> isNat#(X) length#(cons(N,L)) -> isNatList#(activate(L)) -> isNatList#(n__cons(V1,V2)) -> activate#(V2) 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)) -> isNat#(activate(V1)) length#(cons(N,L)) -> isNatList#(activate(L)) -> isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(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__zeros()) -> zeros#() length#(cons(N,L)) -> activate#(L) -> activate#(n__0()) -> 0#() length#(cons(N,L)) -> activate#(L) -> activate#(n__length(X)) -> length#(X) length#(cons(N,L)) -> activate#(L) -> activate#(n__s(X)) -> s#(X) length#(cons(N,L)) -> activate#(L) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) length#(cons(N,L)) -> activate#(L) -> activate#(n__isNatIList(X)) -> isNatIList#(X) length#(cons(N,L)) -> activate#(L) -> activate#(n__nil()) -> nil#() length#(cons(N,L)) -> activate#(L) -> activate#(n__isNatList(X)) -> isNatList#(X) length#(cons(N,L)) -> activate#(L) -> activate#(n__isNat(X)) -> isNat#(X) length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) -> U11#(tt(),L) -> 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) -> s#(length(activate(L))) activate#(n__isNat(X)) -> isNat#(X) -> isNat#(n__length(V1)) -> activate#(V1) activate#(n__isNat(X)) -> isNat#(X) -> isNat#(n__length(V1)) -> isNatList#(activate(V1)) activate#(n__isNat(X)) -> isNat#(X) -> isNat#(n__s(V1)) -> activate#(V1) activate#(n__isNat(X)) -> isNat#(X) -> isNat#(n__s(V1)) -> isNat#(activate(V1)) activate#(n__isNatList(X)) -> isNatList#(X) -> isNatList#(n__cons(V1,V2)) -> activate#(V2) activate#(n__isNatList(X)) -> isNatList#(X) -> isNatList#(n__cons(V1,V2)) -> activate#(V1) 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)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2))) activate#(n__isNatIList(X)) -> isNatIList#(X) -> isNatIList#(V) -> activate#(V) activate#(n__isNatIList(X)) -> isNatIList#(X) -> isNatIList#(V) -> isNatList#(activate(V)) activate#(n__isNatIList(X)) -> isNatIList#(X) -> isNatIList#(n__cons(V1,V2)) -> activate#(V2) activate#(n__isNatIList(X)) -> isNatIList#(X) -> isNatIList#(n__cons(V1,V2)) -> activate#(V1) 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)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2))) activate#(n__length(X)) -> length#(X) -> length#(nil()) -> 0#() activate#(n__length(X)) -> length#(X) -> length#(cons(N,L)) -> activate#(L) activate#(n__length(X)) -> length#(X) -> length#(cons(N,L)) -> isNatList#(activate(L)) activate#(n__length(X)) -> length#(X) -> length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNat(N)) activate#(n__length(X)) -> length#(X) -> length#(cons(N,L)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) activate#(n__zeros()) -> zeros#() -> zeros#() -> 0#() activate#(n__zeros()) -> zeros#() -> zeros#() -> cons#(0(),n__zeros()) U11#(tt(),L) -> length#(activate(L)) -> length#(nil()) -> 0#() U11#(tt(),L) -> length#(activate(L)) -> length#(cons(N,L)) -> activate#(L) U11#(tt(),L) -> length#(activate(L)) -> length#(cons(N,L)) -> isNatList#(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)) -> U11#(and(isNatList(activate(L)),n__isNat(N)),activate(L)) U11#(tt(),L) -> activate#(L) -> activate#(n__zeros()) -> zeros#() U11#(tt(),L) -> activate#(L) -> activate#(n__0()) -> 0#() U11#(tt(),L) -> activate#(L) -> activate#(n__length(X)) -> length#(X) U11#(tt(),L) -> activate#(L) -> activate#(n__s(X)) -> s#(X) U11#(tt(),L) -> activate#(L) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) U11#(tt(),L) -> activate#(L) -> activate#(n__isNatIList(X)) -> isNatIList#(X) U11#(tt(),L) -> activate#(L) -> activate#(n__nil()) -> nil#() U11#(tt(),L) -> activate#(L) -> activate#(n__isNatList(X)) -> isNatList#(X) U11#(tt(),L) -> activate#(L) -> activate#(n__isNat(X)) -> isNat#(X) 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)) -> length#(X) activate#(n__s(X)) -> s#(X) activate#(n__cons(X1,X2)) -> cons#(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(X) activate(n__s(X)) -> s(X) activate(n__cons(X1,X2)) -> cons(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: 25 #arcs: 146/1156 DPs: isNatIList#(n__cons(V1,V2)) -> isNat#(activate(V1)) isNat#(n__s(V1)) -> isNat#(activate(V1)) isNat#(n__s(V1)) -> activate#(V1) activate#(n__isNat(X)) -> isNat#(X) isNat#(n__length(V1)) -> isNatList#(activate(V1)) isNatList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatList(activate(V2))) and#(tt(),X) -> activate#(X) activate#(n__isNatList(X)) -> isNatList#(X) isNatList#(n__cons(V1,V2)) -> isNat#(activate(V1)) isNat#(n__length(V1)) -> activate#(V1) activate#(n__isNatIList(X)) -> isNatIList#(X) isNatIList#(n__cons(V1,V2)) -> and#(isNat(activate(V1)),n__isNatIList(activate(V2))) isNatIList#(n__cons(V1,V2)) -> activate#(V1) activate#(n__length(X)) -> length#(X) 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)) length#(cons(N,L)) -> isNatList#(activate(L)) isNatList#(n__cons(V1,V2)) -> activate#(V1) isNatList#(n__cons(V1,V2)) -> activate#(V2) length#(cons(N,L)) -> activate#(L) U11#(tt(),L) -> activate#(L) isNatIList#(n__cons(V1,V2)) -> activate#(V2) isNatIList#(V) -> isNatList#(activate(V)) isNatIList#(V) -> activate#(V) 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(X) activate(n__s(X)) -> s(X) activate(n__cons(X1,X2)) -> cons(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