List of
(uinteger-bit-roles-inc-n n) → roles
The list of bit roles is well-formed, if
Function:
(defun uinteger-bit-roles-inc-n (n) (declare (xargs :guard (natp n))) (let ((__function__ 'uinteger-bit-roles-inc-n)) (declare (ignorable __function__)) (b* (((when (zp n)) nil) (role (uinteger-bit-role-value (1- n))) (roles (uinteger-bit-roles-inc-n (1- n)))) (append roles (list role)))))
Theorem:
(defthm uinteger-bit-role-listp-of-uinteger-bit-roles-inc-n (b* ((roles (uinteger-bit-roles-inc-n n))) (uinteger-bit-role-listp roles)) :rule-classes :rewrite)
Theorem:
(defthm len-of-uinteger-bit-roles-inc-n (b* ((?roles (uinteger-bit-roles-inc-n n))) (equal (len roles) (nfix n))))
Theorem:
(defthm uinteger-bit-roles-exponents-of-uinteger-bit-roles-inc-n (equal (uinteger-bit-roles-exponents (uinteger-bit-roles-inc-n n)) (integers-from-to 0 (1- (nfix n)))))
Theorem:
(defthm uinteger-bit-roles-value-count-of-uinteger-bit-roles-inc-n (equal (uinteger-bit-roles-value-count (uinteger-bit-roles-inc-n n)) (nfix n)))
Theorem:
(defthm uinteger-bit-roles-wfp-of-uinteger-bit-roles-inc-n (implies (not (zp n)) (uinteger-bit-roles-wfp (uinteger-bit-roles-inc-n n))))
Theorem:
(defthm uinteger-bit-roles-inc-n-of-nfix-n (equal (uinteger-bit-roles-inc-n (nfix n)) (uinteger-bit-roles-inc-n n)))
Theorem:
(defthm uinteger-bit-roles-inc-n-nat-equiv-congruence-on-n (implies (acl2::nat-equiv n n-equiv) (equal (uinteger-bit-roles-inc-n n) (uinteger-bit-roles-inc-n n-equiv))) :rule-classes :congruence)