(VAR IL L M N X )
(STRATEGY CONTEXTSENSITIVE
        (zeros ) 
        (cons 1) 
        (0 ) 
        (and 1) 
        (tt ) 
        (length 1) 
        (nil ) 
        (s 1) 
        (take 1 2) 
)
(RULES 
        zeros -> cons(0, zeros)
        and(tt, X) -> X
        length(nil) -> 0
        length(cons(N, L)) -> s(length(L))
        take(0, IL) -> nil
        take(s(M), cons(N, IL)) -> cons(N, take(M, IL))
        
)