Removes all occurrences that are inside of
(vl-lucidocclist-drop-generates x) → new-x
Function:
(defun vl-lucidocclist-drop-generates (x) (declare (xargs :guard (vl-lucidocclist-p x))) (let ((__function__ 'vl-lucidocclist-drop-generates)) (declare (ignorable __function__)) (b* (((when (atom x)) nil) ((when (vl-inside-true-generate-p (vl-lucidocc->ss (car x)))) (vl-lucidocclist-drop-generates (cdr x)))) (cons (vl-lucidocc-fix (car x)) (vl-lucidocclist-drop-generates (cdr x))))))
Theorem:
(defthm vl-lucidocclist-p-of-vl-lucidocclist-drop-generates (b* ((new-x (vl-lucidocclist-drop-generates x))) (vl-lucidocclist-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-lucidocclist-drop-generates-of-vl-lucidocclist-fix-x (equal (vl-lucidocclist-drop-generates (vl-lucidocclist-fix x)) (vl-lucidocclist-drop-generates x)))
Theorem:
(defthm vl-lucidocclist-drop-generates-vl-lucidocclist-equiv-congruence-on-x (implies (vl-lucidocclist-equiv x x-equiv) (equal (vl-lucidocclist-drop-generates x) (vl-lucidocclist-drop-generates x-equiv))) :rule-classes :congruence)