(vl-ctxexprlist-oddexpr-check-nrev x nrev) → nrev
Function:
(defun vl-ctxexprlist-oddexpr-check-nrev (x nrev) (declare (xargs :stobjs (nrev))) (declare (xargs :guard (vl-ctxexprlist-p x))) (let ((__function__ 'vl-ctxexprlist-oddexpr-check-nrev)) (declare (ignorable __function__)) (b* (((when (atom x)) (nrev-fix nrev)) (nrev (nrev-append (b* (((vl-ctxexpr x) (car x))) (vl-warninglist-add-ctx (vl-expr-oddexpr-check x.expr x.ss) x.ctx)) nrev))) (vl-ctxexprlist-oddexpr-check-nrev (cdr x) nrev))))
Theorem:
(defthm vl-ctxexprlist-oddexpr-check-nrev-of-vl-ctxexprlist-fix-x (equal (vl-ctxexprlist-oddexpr-check-nrev (vl-ctxexprlist-fix x) nrev) (vl-ctxexprlist-oddexpr-check-nrev x nrev)))
Theorem:
(defthm vl-ctxexprlist-oddexpr-check-nrev-vl-ctxexprlist-equiv-congruence-on-x (implies (vl-ctxexprlist-equiv x x-equiv) (equal (vl-ctxexprlist-oddexpr-check-nrev x nrev) (vl-ctxexprlist-oddexpr-check-nrev x-equiv nrev))) :rule-classes :congruence)