(vl-lucid-collect-solo-occs x) → solos
Function:
(defun vl-lucid-collect-solo-occs (x) (declare (xargs :guard (vl-lucidocclist-p x))) (let ((__function__ 'vl-lucid-collect-solo-occs)) (declare (ignorable __function__)) (cond ((atom x) nil) ((eq (vl-lucidocc-kind (car x)) :solo) (cons (vl-lucidocc-fix (car x)) (vl-lucid-collect-solo-occs (cdr x)))) (t (vl-lucid-collect-solo-occs (cdr x))))))
Theorem:
(defthm vl-lucidocclist-p-of-vl-lucid-collect-solo-occs (b* ((solos (vl-lucid-collect-solo-occs x))) (vl-lucidocclist-p solos)) :rule-classes :rewrite)
Theorem:
(defthm vl-lucid-collect-solo-occs-under-iff (b* ((solos (vl-lucid-collect-solo-occs x))) (iff solos (vl-lucid-some-solo-occp x))) :rule-classes :rewrite)
Theorem:
(defthm consp-of-vl-lucid-collect-solo-occs (b* ((solos (vl-lucid-collect-solo-occs x))) (equal (consp solos) (if solos t nil))) :rule-classes :rewrite)
Theorem:
(defthm vl-lucid-collect-solo-occs-of-vl-lucidocclist-fix-x (equal (vl-lucid-collect-solo-occs (vl-lucidocclist-fix x)) (vl-lucid-collect-solo-occs x)))
Theorem:
(defthm vl-lucid-collect-solo-occs-vl-lucidocclist-equiv-congruence-on-x (implies (vl-lucidocclist-equiv x x-equiv) (equal (vl-lucid-collect-solo-occs x) (vl-lucid-collect-solo-occs x-equiv))) :rule-classes :congruence)