Collect up a vl-exprctxalist-p from a list of vl-alwayslist-ps.
(vl-alwayslist-ctxexprs mod x) → alist
Function:
(defun vl-alwayslist-ctxexprs (mod x) (declare (xargs :guard (and (stringp mod) (vl-alwayslist-p x)))) (let ((__function__ 'vl-alwayslist-ctxexprs)) (declare (ignorable __function__)) (mbe :logic (if (atom x) nil (append (vl-always-ctxexprs mod (car x)) (vl-alwayslist-ctxexprs mod (cdr x)))) :exec (with-local-nrev (vl-alwayslist-ctxexprs-nrev mod x nrev)))))
Theorem:
(defthm vl-exprctxalist-p-of-vl-alwayslist-ctxexprs (b* ((alist (vl-alwayslist-ctxexprs mod x))) (vl-exprctxalist-p alist)) :rule-classes :rewrite)
Theorem:
(defthm vl-alwayslist-ctxexprs-nrev-removal (equal (vl-alwayslist-ctxexprs-nrev mod x nrev) (append nrev (vl-alwayslist-ctxexprs mod x))))
Theorem:
(defthm vl-alwayslist-ctxexprs-of-str-fix-mod (equal (vl-alwayslist-ctxexprs (str-fix mod) x) (vl-alwayslist-ctxexprs mod x)))
Theorem:
(defthm vl-alwayslist-ctxexprs-streqv-congruence-on-mod (implies (streqv mod mod-equiv) (equal (vl-alwayslist-ctxexprs mod x) (vl-alwayslist-ctxexprs mod-equiv x))) :rule-classes :congruence)
Theorem:
(defthm vl-alwayslist-ctxexprs-of-vl-alwayslist-fix-x (equal (vl-alwayslist-ctxexprs mod (vl-alwayslist-fix x)) (vl-alwayslist-ctxexprs mod x)))
Theorem:
(defthm vl-alwayslist-ctxexprs-vl-alwayslist-equiv-congruence-on-x (implies (vl-alwayslist-equiv x x-equiv) (equal (vl-alwayslist-ctxexprs mod x) (vl-alwayslist-ctxexprs mod x-equiv))) :rule-classes :congruence)