• 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->sequences

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

    Definitions and Theorems

    Function: vl-genelementlist->sequences

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

    Theorem: vl-sequencelist-p-of-vl-genelementlist->sequences

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

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

    (defthm vl-sort-genelements-aux-is-vl-genelementlist->sequences
     (equal
      (mv-nth
        20
        (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-sequencelist-fix sequences))
              (vl-genelementlist->sequences x))))

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

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

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

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