Major Section: PROGRAMMING
For any natural number n
not exceeding the length of l
,
(take n l)
collects the first n
elements of the list l
.
The following is a theorem (though it takes some effort, including lemmas, to get ACL2 to prove it):
(equal (length (take n l)) (nfix n))If
n
is is an integer greater than the length of l
, then
take
pads the list with the appropriate number of nil
elements. Thus, the following is also a theorem.
(implies (and (integerp n) (true-listp l) (<= (length l) n)) (equal (take n l) (append l (make-list (- n (length l))))))For related functions, see nthcdr and see butlast.
The guard for (take n l)
is that n
is a nonnegative integer
and l
is a true list.