(vl-lucid-first-solo-occ x) → occ?
Function:
(defun vl-lucid-first-solo-occ (x) (declare (xargs :guard (vl-lucidocclist-p x))) (let ((__function__ 'vl-lucid-first-solo-occ)) (declare (ignorable __function__)) (cond ((atom x) nil) ((eq (vl-lucidocc-kind (car x)) :solo) (vl-lucidocc-fix (car x))) (t (vl-lucid-first-solo-occ (cdr x))))))
Theorem:
(defthm return-type-of-vl-lucid-first-solo-occ (b* ((occ? (vl-lucid-first-solo-occ x))) (and (iff (vl-lucidocc-p occ?) (vl-lucid-some-solo-occp x)) (iff occ? (vl-lucid-some-solo-occp x)))) :rule-classes :rewrite)
Theorem:
(defthm vl-lucid-first-solo-occ-of-vl-lucidocclist-fix-x (equal (vl-lucid-first-solo-occ (vl-lucidocclist-fix x)) (vl-lucid-first-solo-occ x)))
Theorem:
(defthm vl-lucid-first-solo-occ-vl-lucidocclist-equiv-congruence-on-x (implies (vl-lucidocclist-equiv x x-equiv) (equal (vl-lucid-first-solo-occ x) (vl-lucid-first-solo-occ x-equiv))) :rule-classes :congruence)