Sort a vl-genelementlist-p to create a vl-genblob.
(vl-sort-genelements x) → blob
Function:
(defun vl-sort-genelements (x) (declare (xargs :guard (vl-genelementlist-p x))) (let ((__function__ 'vl-sort-genelements)) (declare (ignorable __function__)) (b* (((mv portdecls assigns aliases vardecls paramdecls fundecls taskdecls modinsts gateinsts alwayses initials typedefs imports fwdtypedefs modports genvars generates) (vl-sort-genelements-aux x nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil))) (make-vl-genblob :portdecls portdecls :assigns assigns :aliases aliases :vardecls vardecls :paramdecls paramdecls :fundecls fundecls :taskdecls taskdecls :modinsts modinsts :gateinsts gateinsts :alwayses alwayses :initials initials :typedefs typedefs :imports imports :fwdtypedefs fwdtypedefs :modports modports :genvars genvars :generates generates))))
Theorem:
(defthm vl-genblob-p-of-vl-sort-genelements (b* ((blob (vl-sort-genelements x))) (vl-genblob-p blob)) :rule-classes :rewrite)
Theorem:
(defthm vl-sort-genelements-of-vl-genelementlist-fix-x (equal (vl-sort-genelements (vl-genelementlist-fix x)) (vl-sort-genelements x)))
Theorem:
(defthm vl-sort-genelements-vl-genelementlist-equiv-congruence-on-x (implies (vl-genelementlist-equiv x x-equiv) (equal (vl-sort-genelements x) (vl-sort-genelements x-equiv))) :rule-classes :congruence)