Top-level gate-elim transform.
(vl-design-gate-elim x &key (primalist '*vl-gateinst-primitives-alist*)) → new-x
Function:
(defun vl-design-gate-elim-fn (x primalist) (declare (xargs :guard (and (vl-design-p x) (vl-primalist-p primalist)))) (let ((__function__ 'vl-design-gate-elim)) (declare (ignorable __function__)) (b* ((x (vl-design-fix x)) ((vl-design x) x)) (change-vl-design x :mods (vl-modulelist-gate-elim x.mods :primalist primalist)))))
Theorem:
(defthm vl-design-p-of-vl-design-gate-elim (b* ((new-x (vl-design-gate-elim-fn x primalist))) (vl-design-p new-x)) :rule-classes :rewrite)