(sparseint$-val x) → val
Function:
(defun sparseint$-val (x) (declare (xargs :guard (sparseint$-p x))) (let ((__function__ 'sparseint$-val)) (declare (ignorable __function__)) (sparseint$-case x :leaf x.val :concat (logapp x.width (sparseint$-val x.lsbs) (sparseint$-val x.msbs)))))
Theorem:
(defthm integerp-of-sparseint$-val (b* ((val (sparseint$-val x))) (integerp val)) :rule-classes :type-prescription)
Theorem:
(defthm sparseint$-val-of-leaf (b* nil (implies (sparseint$-case x :leaf) (equal (sparseint$-val x) (sparseint$-leaf->val x)))))
Theorem:
(defthm sparseint$-val-of-concat (b* nil (implies (sparseint$-case x :concat) (equal (sparseint$-val x) (b* (((sparseint$-concat x))) (logapp x.width (sparseint$-val x.lsbs) (sparseint$-val x.msbs)))))))
Theorem:
(defthm sparseint$-val-of-sparseint$-fix-x (equal (sparseint$-val (sparseint$-fix x)) (sparseint$-val x)))
Theorem:
(defthm sparseint$-val-sparseint$-equiv-congruence-on-x (implies (sparseint$-equiv x x-equiv) (equal (sparseint$-val x) (sparseint$-val x-equiv))) :rule-classes :congruence)