(vl-import-stars-find-item name packages design) → (mv package item)
Function:
(defun vl-import-stars-find-item (name packages design) (declare (xargs :guard (and (stringp name) (string-listp packages) (vl-maybe-design-p design)))) (let ((__function__ 'vl-import-stars-find-item)) (declare (ignorable __function__)) (b* (((when (atom packages)) (mv nil nil)) (pkg (string-fix (car packages))) (package (and design (cdr (hons-get pkg (vl-design-scope-package-alist-top design))))) ((unless package) (mv pkg nil)) (item (cdr (hons-get (string-fix name) (vl-package-scope-item-alist-top package)))) ((when item) (mv pkg item))) (vl-import-stars-find-item name (cdr packages) design))))
Theorem:
(defthm return-type-of-vl-import-stars-find-item.package (b* (((mv common-lisp::?package ?item) (vl-import-stars-find-item name packages design))) (iff (stringp package) package)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-import-stars-find-item.item (b* (((mv common-lisp::?package ?item) (vl-import-stars-find-item name packages design))) (iff (vl-scopeitem-p item) item)) :rule-classes :rewrite)
Theorem:
(defthm vl-import-stars-find-item-correct (equal (vl-import-stars-find-item name (vl-importlist->star-packages x) design) (vl-importlist-find-implicit-item name x design)))
Theorem:
(defthm vl-import-stars-find-item-of-str-fix-name (equal (vl-import-stars-find-item (str-fix name) packages design) (vl-import-stars-find-item name packages design)))
Theorem:
(defthm vl-import-stars-find-item-streqv-congruence-on-name (implies (streqv name name-equiv) (equal (vl-import-stars-find-item name packages design) (vl-import-stars-find-item name-equiv packages design))) :rule-classes :congruence)
Theorem:
(defthm vl-import-stars-find-item-of-string-list-fix-packages (equal (vl-import-stars-find-item name (string-list-fix packages) design) (vl-import-stars-find-item name packages design)))
Theorem:
(defthm vl-import-stars-find-item-string-list-equiv-congruence-on-packages (implies (str::string-list-equiv packages packages-equiv) (equal (vl-import-stars-find-item name packages design) (vl-import-stars-find-item name packages-equiv design))) :rule-classes :congruence)
Theorem:
(defthm vl-import-stars-find-item-of-vl-maybe-design-fix-design (equal (vl-import-stars-find-item name packages (vl-maybe-design-fix design)) (vl-import-stars-find-item name packages design)))
Theorem:
(defthm vl-import-stars-find-item-vl-maybe-design-equiv-congruence-on-design (implies (vl-maybe-design-equiv design design-equiv) (equal (vl-import-stars-find-item name packages design) (vl-import-stars-find-item name packages design-equiv))) :rule-classes :congruence)