(vl-classlist-gather-reportcard x acc) → new-acc
Function:
(defun vl-classlist-gather-reportcard (x acc) (declare (xargs :guard (and (vl-classlist-p x) (vl-reportcard-p acc)))) (let ((__function__ 'vl-classlist-gather-reportcard)) (declare (ignorable __function__)) (b* (((when (atom x)) (vl-reportcard-fix acc)) (acc (vl-extend-reportcard-list (vl-class->name (car x)) (vl-class->warnings (car x)) acc))) (vl-classlist-gather-reportcard (cdr x) acc))))
Theorem:
(defthm vl-reportcard-p-of-vl-classlist-gather-reportcard (b* ((new-acc (vl-classlist-gather-reportcard x acc))) (vl-reportcard-p new-acc)) :rule-classes :rewrite)
Theorem:
(defthm vl-classlist-gather-reportcard-of-vl-classlist-fix-x (equal (vl-classlist-gather-reportcard (vl-classlist-fix x) acc) (vl-classlist-gather-reportcard x acc)))
Theorem:
(defthm vl-classlist-gather-reportcard-vl-classlist-equiv-congruence-on-x (implies (vl-classlist-equiv x x-equiv) (equal (vl-classlist-gather-reportcard x acc) (vl-classlist-gather-reportcard x-equiv acc))) :rule-classes :congruence)
Theorem:
(defthm vl-classlist-gather-reportcard-of-vl-reportcard-fix-acc (equal (vl-classlist-gather-reportcard x (vl-reportcard-fix acc)) (vl-classlist-gather-reportcard x acc)))
Theorem:
(defthm vl-classlist-gather-reportcard-vl-reportcard-equiv-congruence-on-acc (implies (vl-reportcard-equiv acc acc-equiv) (equal (vl-classlist-gather-reportcard x acc) (vl-classlist-gather-reportcard x acc-equiv))) :rule-classes :congruence)