Check if a list of types consists of all arithmetic types.
(type-arithmetic-listp x) → std::bool
This is an ordinary std::deflist. It is
"loose" in that it does not care whether
Function:
(defun type-arithmetic-listp (x) (declare (xargs :guard (type-listp x))) (let ((__function__ 'type-arithmetic-listp)) (declare (ignorable __function__)) (if (consp x) (and (type-arithmeticp (car x)) (type-arithmetic-listp (cdr x))) t)))
Theorem:
(defthm type-arithmetic-listp-of-type-list-fix-x (equal (type-arithmetic-listp (type-list-fix x)) (type-arithmetic-listp x)))
Theorem:
(defthm type-arithmetic-listp-type-list-equiv-congruence-on-x (implies (type-list-equiv x x-equiv) (equal (type-arithmetic-listp x) (type-arithmetic-listp x-equiv))) :rule-classes :congruence)