(update-elab-mod$a->orig-mod m elab-mod$a) → elab-mod$a2
Function:
(defun update-elab-mod$a->orig-mod (m elab-mod$a) (declare (xargs :guard (and (module-p m) (elab-mod$ap elab-mod$a)))) (let ((__function__ 'update-elab-mod$a->orig-mod)) (declare (ignorable __function__)) (s :orig-mod (module-fix m) (elab-mod$a-fix elab-mod$a))))
Theorem:
(defthm elab-mod$ap-of-update-elab-mod$a->orig-mod (b* ((elab-mod$a2 (update-elab-mod$a->orig-mod m elab-mod$a))) (elab-mod$ap elab-mod$a2)) :rule-classes :rewrite)
Theorem:
(defthm update-elab-mod$a->orig-mod-of-module-fix-m (equal (update-elab-mod$a->orig-mod (module-fix m) elab-mod$a) (update-elab-mod$a->orig-mod m elab-mod$a)))
Theorem:
(defthm update-elab-mod$a->orig-mod-module-equiv-congruence-on-m (implies (module-equiv m m-equiv) (equal (update-elab-mod$a->orig-mod m elab-mod$a) (update-elab-mod$a->orig-mod m-equiv elab-mod$a))) :rule-classes :congruence)
Theorem:
(defthm update-elab-mod$a->orig-mod-of-elab-mod$a-fix-elab-mod$a (equal (update-elab-mod$a->orig-mod m (elab-mod$a-fix elab-mod$a)) (update-elab-mod$a->orig-mod m elab-mod$a)))
Theorem:
(defthm update-elab-mod$a->orig-mod-elab-mod$a-equiv-congruence-on-elab-mod$a (implies (elab-mod$a-equiv elab-mod$a elab-mod$a-equiv) (equal (update-elab-mod$a->orig-mod m elab-mod$a) (update-elab-mod$a->orig-mod m elab-mod$a-equiv))) :rule-classes :congruence)