• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • 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
            • Vl-genblob
            • Vl-sort-genelements
            • Vl-genblob->interface
            • Vl-genblob->module
            • Vl-genblob->elems
            • Vl-interface->genblob
            • Vl-genblob->package
            • Vl-module->genblob
            • Vl-genblob->class
            • Vl-package->genblob
            • Vl-class->genblob
            • Vl-genelementlist->defaultdisables
            • Vl-genelementlist->properties
            • Vl-genelementlist->paramdecls
            • Vl-genelementlist->fwdtypedefs
            • Vl-genelementlist->dpiimports
            • Vl-genelementlist->dpiexports
            • Vl-genelementlist->covergroups
            • Vl-genelementlist->cassertions
            • Vl-genelementlist->assertions
            • Vl-genelementlist->vardecls
            • Vl-genelementlist->typedefs
            • Vl-genelementlist->taskdecls
              • Vl-genelementlist->sequences
              • Vl-genelementlist->portdecls
              • Vl-genelementlist->modports
              • Vl-genelementlist->modinsts
              • Vl-genelementlist->letdecls
              • Vl-genelementlist->initials
              • Vl-genelementlist->imports
              • Vl-genelementlist->genvars
              • Vl-genelementlist->generates
              • Vl-genelementlist->gclkdecls
              • Vl-genelementlist->gateinsts
              • Vl-genelementlist->fundecls
              • Vl-genelementlist->elabtasks
              • Vl-genelementlist->clkdecls
              • Vl-genelementlist->assigns
              • Vl-genelementlist->alwayses
              • Vl-genelementlist->finals
              • Vl-genelementlist->classes
              • Vl-genelementlist->binds
              • Vl-genelementlist->aliases
              • Vl-genblock->genblob
              • Vl-scopetype-p
            • Expr-tools
            • Extract-vl-types
            • Hierarchy
            • Range-tools
            • Finding-by-name
            • Stmt-tools
            • Modnamespace
            • Flat-warnings
            • Reordering-by-name
            • Datatype-tools
            • Syscalls
            • Allexprs
            • Lvalues
            • Port-tools
          • Transforms
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Genblob

    Vl-genelementlist->taskdecls

    Signature
    (vl-genelementlist->taskdecls x) → taskdecls
    Arguments
    x — Guard (vl-genelementlist-p x).
    Returns
    taskdecls — Type (vl-taskdecllist-p taskdecls).

    Definitions and Theorems

    Function: vl-genelementlist->taskdecls

    (defun vl-genelementlist->taskdecls (x)
      (declare (xargs :guard (vl-genelementlist-p x)))
      (let ((__function__ 'vl-genelementlist->taskdecls))
        (declare (ignorable __function__))
        (b* (((when (atom x)) nil) (x1 (car x)))
          (vl-genelement-case
               x1 :vl-genbase
               (if (eq (tag x1.item) :vl-taskdecl)
                   (cons x1.item
                         (vl-genelementlist->taskdecls (cdr x)))
                 (vl-genelementlist->taskdecls (cdr x)))
               :otherwise (vl-genelementlist->taskdecls (cdr x))))))

    Theorem: vl-taskdecllist-p-of-vl-genelementlist->taskdecls

    (defthm vl-taskdecllist-p-of-vl-genelementlist->taskdecls
      (b* ((taskdecls (vl-genelementlist->taskdecls x)))
        (vl-taskdecllist-p taskdecls))
      :rule-classes :rewrite)

    Theorem: vl-sort-genelements-aux-is-vl-genelementlist->taskdecls

    (defthm vl-sort-genelements-aux-is-vl-genelementlist->taskdecls
     (equal
      (mv-nth
        6
        (vl-sort-genelements-aux x portdecls assigns aliases
                                 vardecls paramdecls fundecls taskdecls
                                 modinsts gateinsts alwayses initials
                                 finals typedefs imports fwdtypedefs
                                 modports genvars assertions cassertions
                                 properties sequences clkdecls
                                 gclkdecls defaultdisables dpiimports
                                 dpiexports binds classes covergroups
                                 elabtasks letdecls generates))
      (append (rev (vl-taskdecllist-fix taskdecls))
              (vl-genelementlist->taskdecls x))))

    Theorem: vl-genelementlist->taskdecls-of-vl-genelementlist-fix-x

    (defthm vl-genelementlist->taskdecls-of-vl-genelementlist-fix-x
      (equal (vl-genelementlist->taskdecls (vl-genelementlist-fix x))
             (vl-genelementlist->taskdecls x)))

    Theorem: vl-genelementlist->taskdecls-vl-genelementlist-equiv-congruence-on-x

    (defthm
     vl-genelementlist->taskdecls-vl-genelementlist-equiv-congruence-on-x
     (implies (vl-genelementlist-equiv x x-equiv)
              (equal (vl-genelementlist->taskdecls x)
                     (vl-genelementlist->taskdecls x-equiv)))
     :rule-classes :congruence)