(vl-collect-unsized-ints x) → sub-x
Function:
(defun vl-collect-unsized-ints (x) (declare (xargs :guard (vl-exprlist-p x))) (let ((__function__ 'vl-collect-unsized-ints)) (declare (ignorable __function__)) (cond ((atom x) nil) ((and (vl-fast-atom-p (car x)) (vl-fast-constint-p (vl-atom->guts (car x))) (vl-constint->wasunsized (vl-atom->guts (car x)))) (cons (vl-expr-fix (car x)) (vl-collect-unsized-ints (cdr x)))) (t (vl-collect-unsized-ints (cdr x))))))
Theorem:
(defthm vl-exprlist-p-of-vl-collect-unsized-ints (b* ((sub-x (vl-collect-unsized-ints x))) (vl-exprlist-p sub-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-exprlist-resolved-p-of-vl-collect-unsized-ints (vl-exprlist-resolved-p (vl-collect-unsized-ints x)))
Theorem:
(defthm vl-collect-unsized-ints-of-vl-exprlist-fix-x (equal (vl-collect-unsized-ints (vl-exprlist-fix x)) (vl-collect-unsized-ints x)))
Theorem:
(defthm vl-collect-unsized-ints-vl-exprlist-equiv-congruence-on-x (implies (vl-exprlist-equiv x x-equiv) (equal (vl-collect-unsized-ints x) (vl-collect-unsized-ints x-equiv))) :rule-classes :congruence)