(vl-plainarg-lvalexprs-nrev x nrev) → nrev
Function:
(defun vl-plainarg-lvalexprs-nrev$inline (x nrev) (declare (xargs :stobjs (nrev))) (declare (xargs :guard (vl-plainarg-p x))) (let ((__function__ 'vl-plainarg-lvalexprs-nrev)) (declare (ignorable __function__)) (b* ((x (vl-plainarg-fix x))) (b* (((vl-plainarg x) x)) (cond ((not x.expr) (nrev-fix nrev)) ((not x.dir) (prog2$ (cw "; vl-plainarg-lvalexprs: note skipping unresolved argument~%") (nrev-fix nrev))) ((or (eq x.dir :vl-output) (eq x.dir :vl-inout)) (cond ((assoc-equal "VL_UNSET_OUTPUT" x.atts) (nrev-fix nrev)) ((vl-expr-lvaluep x.expr) (nrev-push x.expr nrev)) (t (prog2$ (cw "; vl-plainarg-lvalexprs note: skipping ill-formed output/inout~%") (nrev-fix nrev))))) ((assoc-equal "VL_LVALUE_INPUT" x.atts) (if (vl-expr-lvaluep x.expr) (nrev-push x.expr nrev) (prog2$ (cw "; vl-plainarg-lvalexprs note: skipping non-lvalue backflow input~%") (nrev-fix nrev)))) (t (nrev-fix nrev)))))))
Theorem:
(defthm vl-plainarg-lvalexprs-nrev$inline-of-vl-plainarg-fix-x (equal (vl-plainarg-lvalexprs-nrev$inline (vl-plainarg-fix x) nrev) (vl-plainarg-lvalexprs-nrev$inline x nrev)))
Theorem:
(defthm vl-plainarg-lvalexprs-nrev$inline-vl-plainarg-equiv-congruence-on-x (implies (vl-plainarg-equiv x x-equiv) (equal (vl-plainarg-lvalexprs-nrev$inline x nrev) (vl-plainarg-lvalexprs-nrev$inline x-equiv nrev))) :rule-classes :congruence)