Convert any warnings about invalid keys into warnings about the top-level design.
(vl-reportcard-revive-invalid-warnings x valid-fal) → warnings
Function:
(defun vl-reportcard-revive-invalid-warnings (x valid-fal) (declare (xargs :guard (vl-reportcard-p x))) (declare (xargs :guard (hons-assoc-equal :design valid-fal))) (let ((__function__ 'vl-reportcard-revive-invalid-warnings)) (declare (ignorable __function__)) (mbe :logic (b* ((x (vl-reportcard-fix x)) ((when (atom x)) nil) ((cons name1 warnings1) (car x)) ((when (hons-get name1 valid-fal)) (vl-reportcard-revive-invalid-warnings (cdr x) valid-fal))) (append (vl-revive-invalid-warnings name1 warnings1) (vl-reportcard-revive-invalid-warnings (cdr x) valid-fal))) :exec (with-local-nrev (vl-reportcard-revive-invalid-warnings-exec x valid-fal nrev)))))
Theorem:
(defthm vl-warninglist-p-of-vl-reportcard-revive-invalid-warnings (b* ((warnings (vl-reportcard-revive-invalid-warnings x valid-fal))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm vl-reportcard-revive-invalid-warnings-exec-removal (equal (vl-reportcard-revive-invalid-warnings-exec x valid-fal nrev) (append nrev (vl-reportcard-revive-invalid-warnings x valid-fal))))
Theorem:
(defthm vl-reportcard-revive-invalid-warnings-of-vl-reportcard-fix-x (equal (vl-reportcard-revive-invalid-warnings (vl-reportcard-fix x) valid-fal) (vl-reportcard-revive-invalid-warnings x valid-fal)))
Theorem:
(defthm vl-reportcard-revive-invalid-warnings-vl-reportcard-equiv-congruence-on-x (implies (vl-reportcard-equiv x x-equiv) (equal (vl-reportcard-revive-invalid-warnings x valid-fal) (vl-reportcard-revive-invalid-warnings x-equiv valid-fal))) :rule-classes :congruence)