Convert expressions into vl-plainarg-ps.
(vl-exprlist-to-plainarglist x &key dir atts) → ans
Function:
(defun vl-exprlist-to-plainarglist-fn (x dir atts) (declare (xargs :guard (and (vl-exprlist-p x) (vl-maybe-direction-p dir) (vl-atts-p atts)))) (let ((__function__ 'vl-exprlist-to-plainarglist)) (declare (ignorable __function__)) (if (consp x) (cons (make-vl-plainarg :expr (vl-expr-fix (car x)) :dir dir :atts atts) (vl-exprlist-to-plainarglist-fn (cdr x) dir atts)) nil)))
Theorem:
(defthm vl-plainarglist-p-of-vl-exprlist-to-plainarglist (b* ((ans (vl-exprlist-to-plainarglist-fn x dir atts))) (vl-plainarglist-p ans)) :rule-classes :rewrite)
Theorem:
(defthm vl-exprlist-to-plainarglist-under-iff (iff (vl-exprlist-to-plainarglist x :dir dir :atts atts) (consp x)))
Theorem:
(defthm len-of-vl-exprlist-to-plainarglist (equal (len (vl-exprlist-to-plainarglist x :dir dir :atts atts)) (len x)))
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-of-vl-exprlist-fix-x (equal (vl-exprlist-to-plainarglist-fn (vl-exprlist-fix x) dir atts) (vl-exprlist-to-plainarglist-fn x dir atts)))
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-vl-exprlist-equiv-congruence-on-x (implies (vl-exprlist-equiv x x-equiv) (equal (vl-exprlist-to-plainarglist-fn x dir atts) (vl-exprlist-to-plainarglist-fn x-equiv dir atts))) :rule-classes :congruence)
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-of-vl-maybe-direction-fix-dir (equal (vl-exprlist-to-plainarglist-fn x (vl-maybe-direction-fix dir) atts) (vl-exprlist-to-plainarglist-fn x dir atts)))
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-vl-maybe-direction-equiv-congruence-on-dir (implies (vl-maybe-direction-equiv dir dir-equiv) (equal (vl-exprlist-to-plainarglist-fn x dir atts) (vl-exprlist-to-plainarglist-fn x dir-equiv atts))) :rule-classes :congruence)
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-of-vl-atts-fix-atts (equal (vl-exprlist-to-plainarglist-fn x dir (vl-atts-fix atts)) (vl-exprlist-to-plainarglist-fn x dir atts)))
Theorem:
(defthm vl-exprlist-to-plainarglist-fn-vl-atts-equiv-congruence-on-atts (implies (vl-atts-equiv atts atts-equiv) (equal (vl-exprlist-to-plainarglist-fn x dir atts) (vl-exprlist-to-plainarglist-fn x dir atts-equiv))) :rule-classes :congruence)