(update-ppstate->macros macros ppstate) → ppstate
Function:
(defun update-ppstate->macros (macros ppstate) (declare (xargs :stobjs (ppstate))) (declare (xargs :guard (macro-tablep macros))) (b* ((ppstate (ppstate-fix ppstate))) (raw-update-ppstate->macros (macro-table-fix macros) ppstate)))
Theorem:
(defthm ppstatep-of-update-ppstate->macros (b* ((ppstate (update-ppstate->macros macros ppstate))) (ppstatep ppstate)) :rule-classes :rewrite)
Theorem:
(defthm update-ppstate->macros-of-macro-table-fix-macros (equal (update-ppstate->macros (macro-table-fix macros) ppstate) (update-ppstate->macros macros ppstate)))
Theorem:
(defthm update-ppstate->macros-macro-table-equiv-congruence-on-macros (implies (macro-table-equiv macros macros-equiv) (equal (update-ppstate->macros macros ppstate) (update-ppstate->macros macros-equiv ppstate))) :rule-classes :congruence)
Theorem:
(defthm update-ppstate->macros-of-ppstate-fix-ppstate (equal (update-ppstate->macros macros (ppstate-fix ppstate)) (update-ppstate->macros macros ppstate)))
Theorem:
(defthm update-ppstate->macros-ppstate-equiv-congruence-on-ppstate (implies (ppstate-equiv ppstate ppstate-equiv) (equal (update-ppstate->macros macros ppstate) (update-ppstate->macros macros ppstate-equiv))) :rule-classes :congruence)