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