• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • 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
        • Lint
        • Mlib
          • Scopestack
          • Filtering-by-name
          • Vl-namefactory
          • Substitution
          • Allexprs
          • Vl-consteval
          • Hid-tools
          • Range-tools
          • Lvalexprs
          • Hierarchy
          • Finding-by-name
            • Fast-finding-by-name
            • Vl-find-interfaceport
            • Vl-find-portdecl
            • Vl-find-taskdecl
            • Vl-find-paramdecl
            • Vl-find-interface
            • Vl-find-gateinst
            • Vl-find-vardecl
            • Vl-find-typedef
            • Vl-find-program
            • Vl-find-package
            • Vl-find-module
            • Vl-find-modport
            • Vl-find-modinst
            • Vl-find-genelement
            • Vl-find-fundecl
            • Vl-find-config
            • Vl-modalist
              • Vl-find-udp
              • Vl-make-portdecl-alist
              • Vl-fast-find-module
              • Vl-fast-find-portdecl
            • Expr-tools
            • Expr-slicing
            • Stripping-functions
            • Stmt-tools
            • Modnamespace
            • Vl-parse-expr-from-str
            • Welltyped
            • Reordering-by-name
            • Flat-warnings
            • Genblob
            • Expr-building
            • Datatype-tools
            • Syscalls
            • Relocate
            • Expr-cleaning
            • Namemangle
            • Caremask
            • Port-tools
            • Lvalues
          • Server
          • Kit
          • Printer
          • Esim-vl
          • Well-formedness
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Testing-utilities
      • Math
    • Finding-by-name

    Vl-modalist

    Legacy. Build a fast alist mapping module names to modules.

    Signature
    (vl-modalist mods) → modalist
    Arguments
    mods — Guard (vl-modulelist-p mods).
    Returns
    modalist — Type (vl-module-alist-p modalist).

    Definitions and Theorems

    Function: vl-modalist

    (defun vl-modalist (mods)
           (declare (xargs :guard (vl-modulelist-p mods)))
           (let ((__function__ 'vl-modalist))
                (declare (ignorable __function__))
                (make-fast-alist (vl-modulelist-alist mods nil))))

    Theorem: vl-module-alist-p-of-vl-modalist

    (defthm vl-module-alist-p-of-vl-modalist
            (b* ((modalist (vl-modalist mods)))
                (vl-module-alist-p modalist))
            :rule-classes :rewrite)

    Theorem: vl-modalist-when-not-consp

    (defthm vl-modalist-when-not-consp
            (implies (not (consp x))
                     (equal (vl-modalist x) nil)))

    Theorem: vl-modalist-of-cons

    (defthm vl-modalist-of-cons
            (equal (vl-modalist (cons a x))
                   (cons (cons (vl-module->name a)
                               (vl-module-fix a))
                         (vl-modalist x))))

    Theorem: alistp-of-vl-modalist

    (defthm alistp-of-vl-modalist
            (alistp (vl-modalist x)))

    Theorem: strip-cars-of-vl-modalist

    (defthm strip-cars-of-vl-modalist
            (equal (strip-cars (vl-modalist x))
                   (vl-modulelist->names x)))

    Theorem: strip-cdrs-of-vl-modalist

    (defthm strip-cdrs-of-vl-modalist
            (equal (strip-cdrs (vl-modalist x))
                   (vl-modulelist-fix (list-fix x))))

    Theorem: hons-assoc-equal-of-vl-modalist

    (defthm hons-assoc-equal-of-vl-modalist
            (implies (stringp name)
                     (equal (hons-assoc-equal name (vl-modalist x))
                            (if (vl-find-module name x)
                                (cons name (vl-find-module name x))
                                nil))))

    Theorem: vl-modalist-of-vl-modulelist-fix-mods

    (defthm vl-modalist-of-vl-modulelist-fix-mods
            (equal (vl-modalist (vl-modulelist-fix mods))
                   (vl-modalist mods)))

    Theorem: vl-modalist-vl-modulelist-equiv-congruence-on-mods

    (defthm vl-modalist-vl-modulelist-equiv-congruence-on-mods
            (implies (vl-modulelist-equiv mods mods-equiv)
                     (equal (vl-modalist mods)
                            (vl-modalist mods-equiv)))
            :rule-classes :congruence)