Raw accessor for the lower integer from a 4vec.
Function:
(defun 4vec->lower$inline (x) (declare (xargs :guard (4vec-p x))) (let ((__function__ '4vec->lower)) (declare (ignorable __function__)) (mbe :logic (if (consp x) (ifix (cdr x)) (if (integerp x) x 0)) :exec (if (consp x) (cdr x) x))))
Theorem:
(defthm integerp-of-4vec->lower (b* ((lower (4vec->lower$inline x))) (integerp lower)) :rule-classes (:rewrite :type-prescription))
Theorem:
(defthm 4vec->lower-of-4vec (equal (4vec->lower (4vec upper lower)) (ifix lower)))
Theorem:
(defthm 4vec->lower-of-4vec-fix (equal (4vec->lower (4vec-fix x)) (4vec->lower x)))
Theorem:
(defthm 4vec-equiv-implies-equal-4vec->lower-1 (implies (4vec-equiv x x-equiv) (equal (4vec->lower x) (4vec->lower x-equiv))) :rule-classes (:congruence))