(bfr-loghead-ns n x) → xx
Function:
(defun bfr-loghead-ns (n x) (declare (xargs :guard (and (natp n) (true-listp x)))) (let ((__function__ 'bfr-loghead-ns)) (declare (ignorable __function__)) (b* (((when (zp n)) (bfr-sterm nil)) ((mv head tail ?end) (first/rest/end x))) (bfr-scons head (bfr-loghead-ns (1- n) tail)))))
Theorem:
(defthm true-listp-of-bfr-loghead-ns (b* ((xx (bfr-loghead-ns n x))) (true-listp xx)) :rule-classes :type-prescription)
Theorem:
(defthm bfr-loghead-ns-correct (b* ((xx (bfr-loghead-ns n x))) (and (equal (bfr-list->s xx env) (loghead (nfix n) (bfr-list->s x env))))))
Theorem:
(defthm bfr-loghead-ns-deps (b* ((xx (bfr-loghead-ns n x))) (implies (and (not (pbfr-list-depends-on varname param x))) (and (not (pbfr-list-depends-on varname param xx))))))