Gather a list of all valid vl-reportcard keys for a design.
(vl-design-reportcard-keys design) → keys
Function:
(defun vl-design-reportcard-keys (design) (declare (xargs :guard (vl-design-p design))) (let ((__function__ 'vl-design-reportcard-keys)) (declare (ignorable __function__)) (b* (((vl-design design) design)) (mbe :logic (append (vl-modulelist->names design.mods) (vl-udplist->names design.udps) (vl-interfacelist->names design.interfaces) (vl-programlist->names design.programs) (vl-classlist->names design.classes) (vl-packagelist->names design.packages) (vl-configlist->names design.configs) (vl-typedeflist->names design.typedefs) '(:design)) :exec (with-local-nrev (b* ((nrev (vl-modulelist->names-nrev design.mods nrev)) (nrev (vl-udplist->names-nrev design.udps nrev)) (nrev (vl-interfacelist->names-nrev design.interfaces nrev)) (nrev (vl-programlist->names-nrev design.programs nrev)) (nrev (vl-classlist->names-nrev design.classes nrev)) (nrev (vl-packagelist->names-nrev design.packages nrev)) (nrev (vl-configlist->names-nrev design.configs nrev)) (nrev (vl-typedeflist->names-nrev design.typedefs nrev)) (nrev (nrev-push :design nrev))) nrev))))))
Theorem:
(defthm vl-reportcardkeylist-p-of-vl-design-reportcard-keys (b* ((keys (vl-design-reportcard-keys design))) (vl-reportcardkeylist-p keys)) :rule-classes :rewrite)
Theorem:
(defthm design-in-vl-design-reportcard-keys (member :design (vl-design-reportcard-keys x)))
Theorem:
(defthm vl-design-reportcard-keys-of-vl-design-fix-design (equal (vl-design-reportcard-keys (vl-design-fix design)) (vl-design-reportcard-keys design)))
Theorem:
(defthm vl-design-reportcard-keys-vl-design-equiv-congruence-on-design (implies (vl-design-equiv design design-equiv) (equal (vl-design-reportcard-keys design) (vl-design-reportcard-keys design-equiv))) :rule-classes :congruence)