(s-take n x) → *
Function:
(defun s-take (n x) (declare (xargs :guard (and (natp n) (true-listp x)))) (let ((__function__ 's-take)) (declare (ignorable __function__)) (b* (((when (zp n)) (bfr-sterm nil)) ((mv first rest end) (first/rest/end x)) ((when (and end (eq first nil))) '(nil))) (bfr-ucons first (s-take (1- n) rest)))))
Theorem:
(defthm deps-of-s-take (implies (not (pbfr-list-depends-on k p x)) (not (pbfr-list-depends-on k p (s-take n x)))))
Theorem:
(defthm s-take-correct (equal (bfr-list->u (s-take n x) env) (loghead n (bfr-list->s x env))))