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