Lift atj-gen-shallow-mv-class to lists.
(atj-gen-shallow-mv-classes typess) → classes
Function:
(defun atj-gen-shallow-mv-classes-guard (typess) (declare (xargs :guard (atj-type-list-listp typess))) (let ((__function__ 'atj-gen-shallow-mv-classes-guard)) (declare (ignorable __function__)) (or (endp typess) (and (>= (len (car typess)) 2) (atj-gen-shallow-mv-classes-guard (cdr typess))))))
Theorem:
(defthm booleanp-of-atj-gen-shallow-mv-classes-guard (b* ((yes/no (atj-gen-shallow-mv-classes-guard typess))) (booleanp yes/no)) :rule-classes :rewrite)
Function:
(defun atj-gen-shallow-mv-classes (typess) (declare (xargs :guard (atj-type-list-listp typess))) (declare (xargs :guard (atj-gen-shallow-mv-classes-guard typess))) (let ((__function__ 'atj-gen-shallow-mv-classes)) (declare (ignorable __function__)) (cond ((endp typess) nil) (t (cons (atj-gen-shallow-mv-class (car typess)) (atj-gen-shallow-mv-classes (cdr typess)))))))
Theorem:
(defthm return-type-of-atj-gen-shallow-mv-classes (b* ((classes (atj-gen-shallow-mv-classes typess))) (and (jclass-listp classes) (equal (len classes) (len typess)))) :rule-classes :rewrite)