(svjumpstate-free x) → new-x
Function:
(defun svjumpstate-free (x) (declare (xargs :guard (svjumpstate-p x))) (let ((__function__ 'svjumpstate-free)) (declare (ignorable __function__)) (b* (((svjumpstate x) (svjumpstate-fix x))) (svstate-free x.breakst) (svstate-free x.continuest) (svstate-free x.returnst) x)))
Theorem:
(defthm return-type-of-svjumpstate-free (b* ((new-x (svjumpstate-free x))) (equal new-x (svjumpstate-fix x))) :rule-classes :rewrite)
Theorem:
(defthm svjumpstate-free-of-svjumpstate-fix-x (equal (svjumpstate-free (svjumpstate-fix x)) (svjumpstate-free x)))
Theorem:
(defthm svjumpstate-free-svjumpstate-equiv-congruence-on-x (implies (svjumpstate-equiv x x-equiv) (equal (svjumpstate-free x) (svjumpstate-free x-equiv))) :rule-classes :congruence)