List of
(sinteger-bit-roles-inc-n n) → roles
Function:
(defun sinteger-bit-roles-inc-n (n) (declare (xargs :guard (natp n))) (b* (((when (zp n)) nil) (role (sinteger-bit-role-value (1- n))) (roles (sinteger-bit-roles-inc-n (1- n)))) (append roles (list role))))
Theorem:
(defthm sinteger-bit-role-listp-of-sinteger-bit-roles-inc-n (b* ((roles (sinteger-bit-roles-inc-n n))) (sinteger-bit-role-listp roles)) :rule-classes :rewrite)
Theorem:
(defthm len-of-sinteger-bit-roles-inc-n (b* ((?roles (sinteger-bit-roles-inc-n n))) (equal (len roles) (nfix n))))
Theorem:
(defthm sinteger-bit-roles-exponents-of-sinteger-bit-roles-inc-n (equal (sinteger-bit-roles-exponents (sinteger-bit-roles-inc-n n)) (integers-from-to 0 (1- (nfix n)))))
Theorem:
(defthm sinteger-bit-roles-value-count-of-sinteger-bit-roles-inc-n (equal (sinteger-bit-roles-value-count (sinteger-bit-roles-inc-n n)) (nfix n)))
Theorem:
(defthm sinteger-bit-roles-sign-count-of-sinteger-bit-roles-inc-n (equal (sinteger-bit-roles-sign-count (sinteger-bit-roles-inc-n n)) 0))
Theorem:
(defthm sinteger-bit-roles-inc-n-of-nfix-n (equal (sinteger-bit-roles-inc-n (nfix n)) (sinteger-bit-roles-inc-n n)))
Theorem:
(defthm sinteger-bit-roles-inc-n-nat-equiv-congruence-on-n (implies (acl2::nat-equiv n n-equiv) (equal (sinteger-bit-roles-inc-n n) (sinteger-bit-roles-inc-n n-equiv))) :rule-classes :congruence)