(vl-bindelim-modinstlist-add-atts x intent) → new-x
Function:
(defun vl-bindelim-modinstlist-add-atts (x intent) (declare (xargs :guard (and (vl-modinstlist-p x) (vl-bindintent-p intent)))) (let ((__function__ 'vl-bindelim-modinstlist-add-atts)) (declare (ignorable __function__)) (if (atom x) nil (cons (vl-bindelim-modinst-add-atts (car x) intent) (vl-bindelim-modinstlist-add-atts (cdr x) intent)))))
Theorem:
(defthm vl-modinstlist-p-of-vl-bindelim-modinstlist-add-atts (b* ((new-x (vl-bindelim-modinstlist-add-atts x intent))) (vl-modinstlist-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-bindelim-modinstlist-add-atts-of-vl-modinstlist-fix-x (equal (vl-bindelim-modinstlist-add-atts (vl-modinstlist-fix x) intent) (vl-bindelim-modinstlist-add-atts x intent)))
Theorem:
(defthm vl-bindelim-modinstlist-add-atts-vl-modinstlist-equiv-congruence-on-x (implies (vl-modinstlist-equiv x x-equiv) (equal (vl-bindelim-modinstlist-add-atts x intent) (vl-bindelim-modinstlist-add-atts x-equiv intent))) :rule-classes :congruence)
Theorem:
(defthm vl-bindelim-modinstlist-add-atts-of-vl-bindintent-fix-intent (equal (vl-bindelim-modinstlist-add-atts x (vl-bindintent-fix intent)) (vl-bindelim-modinstlist-add-atts x intent)))
Theorem:
(defthm vl-bindelim-modinstlist-add-atts-vl-bindintent-equiv-congruence-on-intent (implies (vl-bindintent-equiv intent intent-equiv) (equal (vl-bindelim-modinstlist-add-atts x intent) (vl-bindelim-modinstlist-add-atts x intent-equiv))) :rule-classes :congruence)