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