The ACL2 integer value of the maximum signed value representable in an integer format.
(integer-format->signed-max format) → max
Function:
(defun integer-format->signed-max (format) (declare (xargs :guard (integer-formatp format))) (let ((__function__ 'integer-format->signed-max)) (declare (ignorable __function__)) (sinteger-format->max (uinteger+sinteger-format->signed (integer-format->pair format)))))
Theorem:
(defthm posp-of-integer-format->signed-max (b* ((max (integer-format->signed-max format))) (posp max)) :rule-classes (:rewrite :type-prescription))
Theorem:
(defthm integer-format->signed-max-upper-bound (b* ((common-lisp::?max (integer-format->signed-max format))) (<= max (1- (expt 2 (1- (integer-format->bit-size format)))))) :rule-classes :linear)
Theorem:
(defthm integer-format->signed-max-of-integer-format-fix-format (equal (integer-format->signed-max (integer-format-fix format)) (integer-format->signed-max format)))
Theorem:
(defthm integer-format->signed-max-integer-format-equiv-congruence-on-format (implies (integer-format-equiv format format-equiv) (equal (integer-format->signed-max format) (integer-format->signed-max format-equiv))) :rule-classes :congruence)