Top-level function for scanning for translation names.
(vl-scan-for-tnames state) → (mv tnames state)
Function:
(defun vl-scan-for-tnames (state) (declare (xargs :stobjs (state))) (declare (xargs :guard t)) (let ((__function__ 'vl-scan-for-tnames)) (declare (ignorable __function__)) (b* (((mv err val state) (oslib::ls-subdirs *vls-root*)) ((when err) (raise "Error listing ~x0: ~x1." *vls-root* err) (mv nil state)) (bases (vl-remove-temp-bases val)) ((mv xlist state) (vl-scan-for-tnames-aux bases state)) ((mv xlist state) (vl-remove-illegitimate-tnames xlist state))) (mv xlist state))))
Theorem:
(defthm vl-tnamelist-p-of-vl-scan-for-tnames.tnames (b* (((mv ?tnames acl2::?state) (vl-scan-for-tnames state))) (vl-tnamelist-p tnames)) :rule-classes :rewrite)
Theorem:
(defthm state-p1-of-vl-scan-for-tnames.state (implies (force (state-p1 state)) (b* (((mv ?tnames acl2::?state) (vl-scan-for-tnames state))) (state-p1 state))) :rule-classes :rewrite)