Like vl-scope-find-item, but uses a fast lookup table.
(vl-scope-find-item-fast name scope design) → (mv * *)
Function:
(defun vl-scope-find-item-fast (name scope design) (declare (xargs :guard (and (stringp name) (vl-scope-p scope) (vl-maybe-design-p design)))) (let ((__function__ 'vl-scope-find-item-fast)) (declare (ignorable __function__)) (mbe :logic (vl-scope-find-item name scope design) :exec (vl-scopeinfo-find-item name (vl-scope->scopeinfo scope design) design))))
Theorem:
(defthm vl-scope-find-item-fast-of-str-fix-name (equal (vl-scope-find-item-fast (str-fix name) scope design) (vl-scope-find-item-fast name scope design)))
Theorem:
(defthm vl-scope-find-item-fast-streqv-congruence-on-name (implies (streqv name name-equiv) (equal (vl-scope-find-item-fast name scope design) (vl-scope-find-item-fast name-equiv scope design))) :rule-classes :congruence)
Theorem:
(defthm vl-scope-find-item-fast-of-vl-scope-fix-scope (equal (vl-scope-find-item-fast name (vl-scope-fix scope) design) (vl-scope-find-item-fast name scope design)))
Theorem:
(defthm vl-scope-find-item-fast-vl-scope-equiv-congruence-on-scope (implies (vl-scope-equiv scope scope-equiv) (equal (vl-scope-find-item-fast name scope design) (vl-scope-find-item-fast name scope-equiv design))) :rule-classes :congruence)
Theorem:
(defthm vl-scope-find-item-fast-of-vl-maybe-design-fix-design (equal (vl-scope-find-item-fast name scope (vl-maybe-design-fix design)) (vl-scope-find-item-fast name scope design)))
Theorem:
(defthm vl-scope-find-item-fast-vl-maybe-design-equiv-congruence-on-design (implies (vl-maybe-design-equiv design design-equiv) (equal (vl-scope-find-item-fast name scope design) (vl-scope-find-item-fast name scope design-equiv))) :rule-classes :congruence)