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