Check if a type is a scalar type [C17:6.2.5/21].
Function:
(defun type-scalarp (type) (declare (xargs :guard (typep type))) (or (type-arithmeticp type) (type-case type :pointer)))
Theorem:
(defthm booleanp-of-type-scalarp (b* ((yes/no (type-scalarp type))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm type-scalarp-of-type-fix-type (equal (type-scalarp (type-fix type)) (type-scalarp type)))
Theorem:
(defthm type-scalarp-type-equiv-congruence-on-type (implies (type-equiv type type-equiv) (equal (type-scalarp type) (type-scalarp type-equiv))) :rule-classes :congruence)