• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • 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-some-warning-fatalp
          • Clean-warnings
            • Vl-interfacelist-clean-warnings
            • Vl-programlist-clean-warnings
            • Vl-packagelist-clean-warnings
            • Vl-modulelist-clean-warnings
            • Vl-configlist-clean-warnings
            • Vl-classlist-clean-warnings
            • Vl-udplist-clean-warnings
            • Vl-design-clean-warnings
            • Vl-clean-warnings
              • Vl-warning-sort
            • Vl-program-clean-warnings
            • Vl-package-clean-warnings
            • Vl-interface-clean-warnings
            • Vl-module-clean-warnings
            • Vl-config-clean-warnings
            • Vl-class-clean-warnings
            • Vl-udp-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
  • Clean-warnings

Vl-clean-warnings

Sort and remove duplicates from a list of warnings.

Signature
(vl-clean-warnings x) → ans
Arguments
x — Guard (vl-warninglist-p x).
Returns
ans — Type (vl-warninglist-p ans).

Definitions and Theorems

Function: vl-clean-warnings

(defun vl-clean-warnings (x)
  (declare (xargs :guard (vl-warninglist-p x)))
  (let ((__function__ 'vl-clean-warnings))
    (declare (ignorable __function__))
    (acl2::remove-adjacent-duplicates
         (vl-warning-sort (list-fix (vl-warninglist-fix x))))))

Theorem: vl-warninglist-p-of-vl-clean-warnings

(defthm vl-warninglist-p-of-vl-clean-warnings
  (b* ((ans (vl-clean-warnings x)))
    (vl-warninglist-p ans))
  :rule-classes :rewrite)

Theorem: vl-clearn-warnings-under-iff

(defthm vl-clearn-warnings-under-iff
  (iff (vl-clean-warnings x) (consp x)))

Theorem: vl-clean-warnings-of-vl-warninglist-fix-x

(defthm vl-clean-warnings-of-vl-warninglist-fix-x
  (equal (vl-clean-warnings (vl-warninglist-fix x))
         (vl-clean-warnings x)))

Theorem: vl-clean-warnings-vl-warninglist-equiv-congruence-on-x

(defthm vl-clean-warnings-vl-warninglist-equiv-congruence-on-x
  (implies (vl-warninglist-equiv x x-equiv)
           (equal (vl-clean-warnings x)
                  (vl-clean-warnings x-equiv)))
  :rule-classes :congruence)

Subtopics

Vl-warning-sort
Mergesort warnings using vl-warning-<