(ppstate->chars-unread ppstate) → chars-unread
Function:
(defun ppstate->chars-unread (ppstate) (declare (xargs :stobjs (ppstate))) (declare (xargs :guard t)) (mbe :logic (if (ppstatep ppstate) (raw-ppstate->chars-unread ppstate) 0) :exec (raw-ppstate->chars-unread ppstate)))
Theorem:
(defthm natp-of-ppstate->chars-unread (b* ((chars-unread (ppstate->chars-unread ppstate))) (natp chars-unread)) :rule-classes (:rewrite :type-prescription))
Theorem:
(defthm ppstate->chars-unread-of-ppstate-fix-ppstate (equal (ppstate->chars-unread (ppstate-fix ppstate)) (ppstate->chars-unread ppstate)))
Theorem:
(defthm ppstate->chars-unread-ppstate-equiv-congruence-on-ppstate (implies (ppstate-equiv ppstate ppstate-equiv) (equal (ppstate->chars-unread ppstate) (ppstate->chars-unread ppstate-equiv))) :rule-classes :congruence)