(vl-module-increwrite x) → new-x
Function:
(defun vl-module-increwrite (x) (declare (xargs :guard (vl-module-p x))) (let ((__function__ 'vl-module-increwrite)) (declare (ignorable __function__)) (b* (((vl-module x) (vl-module-fix x))) (b* ((alwayses (vl-alwayslist-increwrite x.alwayses)) (generates (vl-genelementlist-increwrite x.generates)) (fundecls (vl-fundecllist-increwrite x.fundecls)) (taskdecls (vl-taskdecllist-increwrite x.taskdecls)) (initials (vl-initiallist-increwrite x.initials)) (finals (vl-finallist-increwrite x.finals)) (classes (vl-classlist-increwrite x.classes)) (elabtasks (vl-elabtasklist-increwrite x.elabtasks))) (change-vl-module x :alwayses alwayses :generates generates :fundecls fundecls :taskdecls taskdecls :initials initials :finals finals :classes classes :elabtasks elabtasks)))))
Theorem:
(defthm vl-module-p-of-vl-module-increwrite (b* ((new-x (vl-module-increwrite x))) (vl-module-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-module-increwrite-of-vl-module-fix-x (equal (vl-module-increwrite (vl-module-fix x)) (vl-module-increwrite x)))
Theorem:
(defthm vl-module-increwrite-vl-module-equiv-congruence-on-x (implies (vl-module-equiv x x-equiv) (equal (vl-module-increwrite x) (vl-module-increwrite x-equiv))) :rule-classes :congruence)