• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Fgl
      • Vwsim
      • Vl
        • Syntax
        • Loader
        • Warnings
          • Lint-warning-suppression
          • Warning-basics
          • Vl-warning
          • Vl-warninglist-add-ctx
          • Vl-warninglist->types
          • Propagating-errors
          • Vl-reportcard
            • Vl-reportcard-p
            • Vl-apply-reportcard
            • Vl-reportcard-fix
            • Vl-extend-reportcard-list
            • Vl-design-reportcard
            • Vl-design-origname-reportcard
            • Vl-extend-reportcard
            • Vl-reportcard-revive-invalid-warnings
              • Vl-revive-invalid-warnings
              • Vl-revive-invalid-warning
              • Vl-reportcard-revive-invalid-warnings-exec
            • Vl-clean-reportcard
            • Vl-remove-from-reportcard
            • Vl-reportcard-equiv
            • Vl-print-reportcard
            • Vl-keep-from-reportcard
            • Vl-reportcard-to-string
            • Vl-reportcard-types
            • Vl-reportcardkey-p
          • Vl-some-warning-fatalp
          • Clean-warnings
          • Lint-whole-file-suppression
          • Warn
          • Vl-warninglist
          • Vl-remove-warnings
          • Vl-keep-warnings
          • Flat-warnings
          • Vl-some-warning-of-type-p
          • Vl-msg
          • Vl-warning-add-ctx
          • Vl-print-warning
          • Vmsg-binary-concat
          • Ok
          • Vl-trace-warnings
          • Fatal
          • Vmsg
        • Getting-started
        • Utilities
        • Printer
        • Kit
        • Mlib
        • Transforms
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Vl-reportcard

Vl-reportcard-revive-invalid-warnings

Convert any warnings about invalid keys into warnings about the top-level design.

Signature
(vl-reportcard-revive-invalid-warnings x valid-fal) → warnings
Arguments
x — Guard (vl-reportcard-p x).
Returns
warnings — Type (vl-warninglist-p warnings).

Definitions and Theorems

Function: vl-reportcard-revive-invalid-warnings

(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: vl-warninglist-p-of-vl-reportcard-revive-invalid-warnings

(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: vl-reportcard-revive-invalid-warnings-exec-removal

(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: vl-reportcard-revive-invalid-warnings-of-vl-reportcard-fix-x

(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: vl-reportcard-revive-invalid-warnings-vl-reportcard-equiv-congruence-on-x

(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)

Subtopics

Vl-revive-invalid-warnings
(vl-revive-invalid-warnings name x) maps vl-revive-invalid-warning across a list.
Vl-revive-invalid-warning
Vl-reportcard-revive-invalid-warnings-exec