Lift extend-trans-state to lists.
(extend-trans-state-list tops tstate) → new-tstate
Function:
(defun extend-trans-state-list (tops tstate) (declare (xargs :guard (and (toplevel-listp tops) (trans-statep tstate)))) (let ((__function__ 'extend-trans-state-list)) (declare (ignorable __function__)) (cond ((endp tops) (trans-state-fix tstate)) (t (extend-trans-state-list (cdr tops) (extend-trans-state (car tops) tstate))))))
Theorem:
(defthm trans-statep-of-extend-trans-state-list (b* ((new-tstate (extend-trans-state-list tops tstate))) (trans-statep new-tstate)) :rule-classes :rewrite)
Theorem:
(defthm extend-trans-state-list-of-toplevel-list-fix-tops (equal (extend-trans-state-list (toplevel-list-fix tops) tstate) (extend-trans-state-list tops tstate)))
Theorem:
(defthm extend-trans-state-list-toplevel-list-equiv-congruence-on-tops (implies (toplevel-list-equiv tops tops-equiv) (equal (extend-trans-state-list tops tstate) (extend-trans-state-list tops-equiv tstate))) :rule-classes :congruence)
Theorem:
(defthm extend-trans-state-list-of-trans-state-fix-tstate (equal (extend-trans-state-list tops (trans-state-fix tstate)) (extend-trans-state-list tops tstate)))
Theorem:
(defthm extend-trans-state-list-trans-state-equiv-congruence-on-tstate (implies (trans-state-equiv tstate tstate-equiv) (equal (extend-trans-state-list tops tstate) (extend-trans-state-list tops tstate-equiv))) :rule-classes :congruence)