Check if a (supported) type is an integer type
except for the plain
Function:
(defun type-nonchar-integerp (type) (declare (xargs :guard (typep type))) (let ((__function__ 'type-nonchar-integerp)) (declare (ignorable __function__)) (or (type-case type :uchar) (type-case type :schar) (type-case type :ushort) (type-case type :sshort) (type-case type :uint) (type-case type :sint) (type-case type :ulong) (type-case type :slong) (type-case type :ullong) (type-case type :sllong))))
Theorem:
(defthm booleanp-of-type-nonchar-integerp (b* ((yes/no (type-nonchar-integerp type))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm type-integerp-when-type-nonchar-integerp (implies (type-nonchar-integerp x) (type-integerp x)))
Theorem:
(defthm type-nonchar-integerp-of-type-fix-type (equal (type-nonchar-integerp (type-fix type)) (type-nonchar-integerp type)))
Theorem:
(defthm type-nonchar-integerp-type-equiv-congruence-on-type (implies (type-equiv type type-equiv) (equal (type-nonchar-integerp type) (type-nonchar-integerp type-equiv))) :rule-classes :congruence)