Try to load a description from the search path.
(vl-load-description name st state) → (mv st state)
Function:
(defun vl-load-description (name st state) (declare (xargs :stobjs (state))) (declare (xargs :guard (and (stringp name) (vl-loadstate-p st)))) (let ((__function__ 'vl-load-description)) (declare (ignorable __function__)) (b* (((vl-loadstate st) st) ((vl-loadconfig config) st.config) (warnings (vl-parsestate->warnings st.pstate)) ((mv filename warnings state) (vl-find-basename/extension name config.search-exts config.search-path warnings state)) ((unless filename) (b* ((warnings (warn :type :vl-warn-find-failed :msg "Unable to find a file for ~s0." :args (list name)))) (mv (vl-loadstate-set-warnings warnings) state))) (st (vl-loadstate-set-warnings warnings))) (vl-load-file filename st state))))
Theorem:
(defthm vl-loadstate-p-of-vl-load-description.st (b* (((mv ?st acl2::?state) (vl-load-description name st state))) (vl-loadstate-p st)) :rule-classes :rewrite)
Theorem:
(defthm state-p1-of-vl-load-description.state (implies (force (state-p1 state)) (b* (((mv ?st acl2::?state) (vl-load-description name st state))) (state-p1 state))) :rule-classes :rewrite)
Theorem:
(defthm unique-names-after-vl-load-description (b* (((mv new-st &) (vl-load-description name st state))) (implies (uniquep (vl-descriptionlist->names (vl-loadstate->descs st))) (no-duplicatesp (vl-descriptionlist->names (vl-loadstate->descs new-st))))))