Make a fast lookup table for packages in a scope. Memoized.
(vl-scope-package-alist scope) → alist
Function:
(defun vl-scope-package-alist (scope) (declare (xargs :guard (vl-scope-p scope))) (let ((__function__ 'vl-scope-package-alist)) (declare (ignorable __function__)) (make-fast-alist (vl-scope-package-alist-aux scope))))
Theorem:
(defthm vl-package-alist-p-of-vl-scope-package-alist (b* ((alist (vl-scope-package-alist scope))) (vl-package-alist-p alist)) :rule-classes :rewrite)
Theorem:
(defthm vl-scope-package-alist-correct (implies (stringp name) (equal (cdr (hons-assoc-equal name (vl-scope-package-alist scope))) (vl-scope-find-package name scope))))
Theorem:
(defthm vl-scope-package-alist-of-vl-scope-fix-scope (equal (vl-scope-package-alist (vl-scope-fix scope)) (vl-scope-package-alist scope)))
Theorem:
(defthm vl-scope-package-alist-vl-scope-equiv-congruence-on-scope (implies (vl-scope-equiv scope scope-equiv) (equal (vl-scope-package-alist scope) (vl-scope-package-alist scope-equiv))) :rule-classes :congruence)