• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
    • Macro-libraries
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
        • Lint
          • Vl-lintconfig-p
          • Lucid
          • Skip-detection
          • Vl-lintresult-p
          • Lint-warning-suppression
          • Condcheck
          • Selfassigns
          • Leftright-check
          • Dupeinst-check
          • Oddexpr-check
          • Remove-toohard
          • Qmarksize-check
          • Portcheck
          • Duplicate-detect
          • Vl-print-certain-warnings
          • Duperhs-check
          • *vl-lint-help*
          • Lint-stmt-rewrite
            • Vl-initiallist-lint-stmt-rewrite
            • Vl-modulelist-lint-stmt-rewrite
            • Vl-alwayslist-lint-stmt-rewrite
            • Vl-module-lint-stmt-rewrite
            • Vl-lint-throwaway-fn-p
            • Vl-initial-lint-stmt-rewrite
            • Vl-always-lint-stmt-rewrite
            • Vl-design-lint-stmt-rewrite
            • Vl-lint-stmt-rewrite
              • Vl-lint-stmtlist-rewrite
          • Drop-missing-submodules
          • Check-case
          • Drop-user-submodules
          • Check-namespace
          • Vl-lint
        • Mlib
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Lint-stmt-rewrite

Vl-lint-stmt-rewrite

Main rewrite. Recursively convert any throwaway statements into null statements.

Signature
(vl-lint-stmt-rewrite x) → new-x
Arguments
x — Guard (vl-stmt-p x).
Returns
new-x — Type (vl-stmt-p new-x).

Theorem: return-type-of-vl-lint-stmt-rewrite.new-x

(defthm return-type-of-vl-lint-stmt-rewrite.new-x
  (b* ((?new-x (vl-lint-stmt-rewrite x)))
    (vl-stmt-p new-x))
  :rule-classes :rewrite)

Theorem: return-type-of-vl-lint-stmtlist-rewrite.new-x

(defthm return-type-of-vl-lint-stmtlist-rewrite.new-x
  (b* ((?new-x (vl-lint-stmtlist-rewrite x)))
    (and (vl-stmtlist-p new-x)
         (equal (len new-x) (len x))))
  :rule-classes :rewrite)

Subtopics

Vl-lint-stmtlist-rewrite