(update-ppstate->bytes bytes ppstate) → ppstate
Function:
(defun update-ppstate->bytes (bytes ppstate) (declare (xargs :stobjs (ppstate))) (declare (xargs :guard (byte-listp bytes))) (b* ((ppstate (ppstate-fix ppstate))) (raw-update-ppstate->bytes (byte-list-fix bytes) ppstate)))
Theorem:
(defthm ppstatep-of-update-ppstate->bytes (b* ((ppstate (update-ppstate->bytes bytes ppstate))) (ppstatep ppstate)) :rule-classes :rewrite)
Theorem:
(defthm update-ppstate->bytes-of-byte-list-fix-bytes (equal (update-ppstate->bytes (byte-list-fix bytes) ppstate) (update-ppstate->bytes bytes ppstate)))
Theorem:
(defthm update-ppstate->bytes-byte-list-equiv-congruence-on-bytes (implies (acl2::byte-list-equiv bytes bytes-equiv) (equal (update-ppstate->bytes bytes ppstate) (update-ppstate->bytes bytes-equiv ppstate))) :rule-classes :congruence)
Theorem:
(defthm update-ppstate->bytes-of-ppstate-fix-ppstate (equal (update-ppstate->bytes bytes (ppstate-fix ppstate)) (update-ppstate->bytes bytes ppstate)))
Theorem:
(defthm update-ppstate->bytes-ppstate-equiv-congruence-on-ppstate (implies (ppstate-equiv ppstate ppstate-equiv) (equal (update-ppstate->bytes bytes ppstate) (update-ppstate->bytes bytes ppstate-equiv))) :rule-classes :congruence)