• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
          • Expression-sizing
          • Occform
          • Oprewrite
          • Expand-functions
          • Delayredux
          • Unparameterization
          • Caseelim
          • Split
          • Selresolve
          • Weirdint-elim
          • Vl-delta
            • Vl-delta-p
              • Vl-warn-delta
              • Vl-starting-delta
                • Vl-free-delta
                • Dwarn
              • Vl-delta-fix
              • Make-vl-delta
              • Vl-delta-equiv
              • Change-vl-delta
              • Vl-delta->warnings
              • Vl-delta->vardecls
              • Vl-delta->modinsts
              • Vl-delta->gateinsts
              • Vl-delta->assigns
              • Vl-delta->addmods
              • Vl-delta->nf
            • Replicate-insts
            • Rangeresolve
            • Propagate
            • Clean-selects
            • Clean-params
            • Blankargs
            • Inline-mods
            • Expr-simp
            • Trunc
            • Always-top
            • Gatesplit
            • Gate-elim
            • Expression-optimization
            • Elim-supplies
            • Wildelim
            • Drop-blankports
            • Clean-warnings
            • Addinstnames
            • Custom-transform-hooks
            • Annotate
            • Latchcode
            • Elim-unused-vars
            • Problem-modules
          • Lint
          • Mlib
          • Server
          • Kit
          • Printer
          • Esim-vl
          • Well-formedness
        • Sv
        • Fgl
        • Vwsim
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Vl-delta-p

    Vl-starting-delta

    Build an initial vl-delta-p for the module x.

    Signature
    (vl-starting-delta x) → delta
    Arguments
    x — Guard (vl-module-p x).

    The new delta has an appropriate starting namefactory for the module, and is also seeded with the module's warnings. The other accumulators are all empty to begin with.

    Definitions and Theorems

    Function: vl-starting-delta

    (defun vl-starting-delta (x)
      (declare (xargs :guard (vl-module-p x)))
      (let ((__function__ 'vl-starting-delta))
        (declare (ignorable __function__))
        (make-vl-delta :nf (vl-starting-namefactory x)
                       :warnings (vl-module->warnings x)
                       :vardecls nil
                       :assigns nil
                       :modinsts nil
                       :addmods nil)))

    Theorem: vl-starting-delta-of-vl-module-fix-x

    (defthm vl-starting-delta-of-vl-module-fix-x
      (equal (vl-starting-delta (vl-module-fix x))
             (vl-starting-delta x)))

    Theorem: vl-starting-delta-vl-module-equiv-congruence-on-x

    (defthm vl-starting-delta-vl-module-equiv-congruence-on-x
      (implies (vl-module-equiv x x-equiv)
               (equal (vl-starting-delta x)
                      (vl-starting-delta x-equiv)))
      :rule-classes :congruence)