(update-parstate->position position parstate) → parstate
Function:
(defun update-parstate->position (position parstate) (declare (xargs :stobjs (parstate))) (declare (xargs :guard (positionp position))) (let ((__function__ 'update-parstate->position)) (declare (ignorable __function__)) (b* ((parstate (parstate-fix parstate))) (raw-update-parstate->position (position-fix position) parstate))))
Theorem:
(defthm parstatep-of-update-parstate->position (b* ((parstate (update-parstate->position position parstate))) (parstatep parstate)) :rule-classes :rewrite)
Theorem:
(defthm update-parstate->position-of-position-fix-position (equal (update-parstate->position (position-fix position) parstate) (update-parstate->position position parstate)))
Theorem:
(defthm update-parstate->position-position-equiv-congruence-on-position (implies (position-equiv position position-equiv) (equal (update-parstate->position position parstate) (update-parstate->position position-equiv parstate))) :rule-classes :congruence)
Theorem:
(defthm update-parstate->position-of-parstate-fix-parstate (equal (update-parstate->position position (parstate-fix parstate)) (update-parstate->position position parstate)))
Theorem:
(defthm update-parstate->position-parstate-equiv-congruence-on-parstate (implies (parstate-equiv parstate parstate-equiv) (equal (update-parstate->position position parstate) (update-parstate->position position parstate-equiv))) :rule-classes :congruence)