• 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
        • Getting-started
        • Utilities
        • Printer
        • Kit
        • Mlib
          • Scopestack
          • Hid-tools
          • Filtering-by-name
          • Vl-interface-mocktype
          • Stripping-functions
          • Genblob
          • Expr-tools
          • Extract-vl-types
          • Hierarchy
          • Range-tools
          • 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-dpiimport
            • 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-genvar
            • Vl-find-config
            • Vl-find-class
            • Vl-find-udp
            • Vl-modalist
              • Vl-make-portdecl-alist
              • Vl-fast-find-module
              • Vl-fast-find-portdecl
            • Stmt-tools
            • Modnamespace
            • Flat-warnings
            • Reordering-by-name
            • Datatype-tools
            • Syscalls
            • Allexprs
            • Lvalues
            • Port-tools
          • Transforms
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • 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)