The ACL2 integer value of
Although this currently does not depend on the implementation environment, we make that an input to this function for uniformity and extensibility.
Function:
(defun ienv->uchar-max (ienv) (declare (xargs :guard (ienvp ienv))) (declare (ignore ienv)) (declare (xargs :type-prescription (and (posp (ienv->uchar-max ienv)) (> (ienv->uchar-max ienv) 1)))) 255)
Theorem:
(defthm posp-of-ienv->uchar-max (b* ((max (ienv->uchar-max ienv))) (posp max)) :rule-classes :rewrite)
Theorem:
(defthm ienv->uchar-max-correct (equal (ienv->uchar-max ienv) (c::ienv->uchar-max (ldm-ienv ienv))))
Theorem:
(defthm ienv->uchar-max-of-ienv-fix-ienv (equal (ienv->uchar-max (ienv-fix ienv)) (ienv->uchar-max ienv)))
Theorem:
(defthm ienv->uchar-max-ienv-equiv-congruence-on-ienv (implies (ienv-equiv ienv ienv-equiv) (equal (ienv->uchar-max ienv) (ienv->uchar-max ienv-equiv))) :rule-classes :congruence)