(vl-scan-for-tnames-aux bases state) → (mv tnames state)
Function:
(defun vl-scan-for-tnames-aux (bases state) (declare (xargs :stobjs (state))) (declare (xargs :guard (string-listp bases))) (let ((__function__ 'vl-scan-for-tnames-aux)) (declare (ignorable __function__)) (b* (((when (atom bases)) (mv nil state)) ((mv list1 state) (vl-scan-for-tnames-in-base (car bases) state)) ((mv list2 state) (vl-scan-for-tnames-aux (cdr bases) state))) (mv (append list1 list2) state))))
Theorem:
(defthm vl-tnamelist-p-of-vl-scan-for-tnames-aux.tnames (b* (((mv ?tnames acl2::?state) (vl-scan-for-tnames-aux bases state))) (vl-tnamelist-p tnames)) :rule-classes :rewrite)
Theorem:
(defthm state-p1-of-vl-scan-for-tnames-aux.state (implies (force (state-p1 state)) (b* (((mv ?tnames acl2::?state) (vl-scan-for-tnames-aux bases state))) (state-p1 state))) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-vl-scan-for-tnames-aux.tnames (b* (((mv ?tnames acl2::?state) (vl-scan-for-tnames-aux bases state))) (true-listp tnames)) :rule-classes :type-prescription)