(update-ppstate->chars-unread chars-unread ppstate) → ppstate
Function:
(defun update-ppstate->chars-unread (chars-unread ppstate) (declare (xargs :stobjs (ppstate))) (declare (xargs :guard (natp chars-unread))) (b* ((ppstate (ppstate-fix ppstate))) (raw-update-ppstate->chars-unread (nfix chars-unread) ppstate)))
Theorem:
(defthm ppstatep-of-update-ppstate->chars-unread (b* ((ppstate (update-ppstate->chars-unread chars-unread ppstate))) (ppstatep ppstate)) :rule-classes :rewrite)
Theorem:
(defthm update-ppstate->chars-unread-of-nfix-chars-unread (equal (update-ppstate->chars-unread (nfix chars-unread) ppstate) (update-ppstate->chars-unread chars-unread ppstate)))
Theorem:
(defthm update-ppstate->chars-unread-nat-equiv-congruence-on-chars-unread (implies (acl2::nat-equiv chars-unread chars-unread-equiv) (equal (update-ppstate->chars-unread chars-unread ppstate) (update-ppstate->chars-unread chars-unread-equiv ppstate))) :rule-classes :congruence)
Theorem:
(defthm update-ppstate->chars-unread-of-ppstate-fix-ppstate (equal (update-ppstate->chars-unread chars-unread (ppstate-fix ppstate)) (update-ppstate->chars-unread chars-unread ppstate)))
Theorem:
(defthm update-ppstate->chars-unread-ppstate-equiv-congruence-on-ppstate (implies (ppstate-equiv ppstate ppstate-equiv) (equal (update-ppstate->chars-unread chars-unread ppstate) (update-ppstate->chars-unread chars-unread ppstate-equiv))) :rule-classes :congruence)