(vl-genelementlist->covergroups x) → covergroups
Function:
(defun vl-genelementlist->covergroups (x) (declare (xargs :guard (vl-genelementlist-p x))) (let ((__function__ 'vl-genelementlist->covergroups)) (declare (ignorable __function__)) (b* (((when (atom x)) nil) (x1 (car x))) (vl-genelement-case x1 :vl-genbase (if (eq (tag x1.item) :vl-covergroup) (cons x1.item (vl-genelementlist->covergroups (cdr x))) (vl-genelementlist->covergroups (cdr x))) :otherwise (vl-genelementlist->covergroups (cdr x))))))
Theorem:
(defthm vl-covergrouplist-p-of-vl-genelementlist->covergroups (b* ((covergroups (vl-genelementlist->covergroups x))) (vl-covergrouplist-p covergroups)) :rule-classes :rewrite)
Theorem:
(defthm vl-sort-genelements-aux-is-vl-genelementlist->covergroups (equal (mv-nth 28 (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-covergrouplist-fix covergroups)) (vl-genelementlist->covergroups x))))
Theorem:
(defthm vl-genelementlist->covergroups-of-vl-genelementlist-fix-x (equal (vl-genelementlist->covergroups (vl-genelementlist-fix x)) (vl-genelementlist->covergroups x)))
Theorem:
(defthm vl-genelementlist->covergroups-vl-genelementlist-equiv-congruence-on-x (implies (vl-genelementlist-equiv x x-equiv) (equal (vl-genelementlist->covergroups x) (vl-genelementlist->covergroups x-equiv))) :rule-classes :congruence)