The signed integer format defined by
(sinteger-format-inc-sign-tcnpnt n) → format
This is parameterized over
Function:
(defun sinteger-format-inc-sign-tcnpnt (n) (declare (xargs :guard (posp n))) (make-sinteger-format :bits (sinteger-bit-roles-inc-n-and-sign (pos-fix n)) :signed (signed-format-twos-complement) :traps nil))
Theorem:
(defthm sinteger-formatp-of-sinteger-format-inc-sign-tcnpnt (b* ((format (sinteger-format-inc-sign-tcnpnt n))) (sinteger-formatp format)) :rule-classes :rewrite)
Theorem:
(defthm sinteger-format->max-of-sinteger-format-inc-sign-tcnpnt (equal (sinteger-format->max (sinteger-format-inc-sign-tcnpnt n)) (1- (expt 2 (pos-fix n)))))
Theorem:
(defthm sinteger-format->min-of-sinteger-format-inc-sign-tcnpnt (equal (sinteger-format->min (sinteger-format-inc-sign-tcnpnt n)) (- (expt 2 (pos-fix n)))))
Theorem:
(defthm sinteger-format-inc-sign-tcnpnt-of-pos-fix-n (equal (sinteger-format-inc-sign-tcnpnt (pos-fix n)) (sinteger-format-inc-sign-tcnpnt n)))
Theorem:
(defthm sinteger-format-inc-sign-tcnpnt-pos-equiv-congruence-on-n (implies (acl2::pos-equiv n n-equiv) (equal (sinteger-format-inc-sign-tcnpnt n) (sinteger-format-inc-sign-tcnpnt n-equiv))) :rule-classes :congruence)