(vl-lucid-resolved-slices->bits x ctx) → indices
Function:
(defun vl-lucid-resolved-slices->bits (x ctx) (declare (xargs :guard (and (vl-lucidocclist-p x) (any-p ctx)))) (declare (xargs :guard (and (vl-lucid-all-slices-p x) (vl-lucid-all-slices-resolved-p x)))) (let ((__function__ 'vl-lucid-resolved-slices->bits)) (declare (ignorable __function__)) (if (atom x) nil (union (vl-lucid-resolved-slice->bits (car x) ctx) (vl-lucid-resolved-slices->bits (cdr x) ctx)))))
Theorem:
(defthm return-type-of-vl-lucid-resolved-slices->bits (b* ((indices (vl-lucid-resolved-slices->bits x ctx))) (and (integer-listp indices) (setp indices))) :rule-classes :rewrite)
Theorem:
(defthm vl-lucid-resolved-slices->bits-of-vl-lucidocclist-fix-x (equal (vl-lucid-resolved-slices->bits (vl-lucidocclist-fix x) ctx) (vl-lucid-resolved-slices->bits x ctx)))
Theorem:
(defthm vl-lucid-resolved-slices->bits-vl-lucidocclist-equiv-congruence-on-x (implies (vl-lucidocclist-equiv x x-equiv) (equal (vl-lucid-resolved-slices->bits x ctx) (vl-lucid-resolved-slices->bits x-equiv ctx))) :rule-classes :congruence)
Theorem:
(defthm vl-lucid-resolved-slices->bits-of-identity-ctx (equal (vl-lucid-resolved-slices->bits x (identity ctx)) (vl-lucid-resolved-slices->bits x ctx)))
Theorem:
(defthm vl-lucid-resolved-slices->bits-equal-congruence-on-ctx (implies (equal ctx ctx-equiv) (equal (vl-lucid-resolved-slices->bits x ctx) (vl-lucid-resolved-slices->bits x ctx-equiv))) :rule-classes :congruence)