Constructs a vl-reportcard-p for a design.
(vl-design-reportcard x) → reportcard
This reportcard is in terms of elaborated (unparameterized) names; see also vl-design-origname-reportcard for an alternative that uses original names.
Function:
(defun vl-design-reportcard (x) (declare (xargs :guard (vl-design-p x))) (let ((__function__ 'vl-design-reportcard)) (declare (ignorable __function__)) (b* ((acc nil) (acc (vl-design-reportcard-aux x acc)) (ret (vl-clean-reportcard acc))) (fast-alist-free acc) ret)))
Theorem:
(defthm vl-reportcard-p-of-vl-design-reportcard (b* ((reportcard (vl-design-reportcard x))) (vl-reportcard-p reportcard)) :rule-classes :rewrite)
Theorem:
(defthm vl-design-reportcard-of-vl-design-fix-x (equal (vl-design-reportcard (vl-design-fix x)) (vl-design-reportcard x)))
Theorem:
(defthm vl-design-reportcard-vl-design-equiv-congruence-on-x (implies (vl-design-equiv x x-equiv) (equal (vl-design-reportcard x) (vl-design-reportcard x-equiv))) :rule-classes :congruence)