(svex-env-check-boolmasks boolmasks env) → *
Function:
(defun svex-env-check-boolmasks (boolmasks env) (declare (xargs :guard (and (svar-boolmasks-p boolmasks) (svex-env-p env)))) (let ((__function__ 'svex-env-check-boolmasks)) (declare (ignorable __function__)) (b* (((when (atom boolmasks)) t) ((unless (mbt (svar-p (caar boolmasks)))) (svex-env-check-boolmasks (cdr boolmasks) env)) ((cons var mask) (car boolmasks)) (val (svex-env-lookup var env)) (ok (4vec-boolmaskp val mask)) (?ign (and (not ok) (cw "not 4vec-boolmaskp: ~x0~%" var)))) (and (svex-env-check-boolmasks (cdr boolmasks) env) ok))))
Theorem:
(defthm svex-env-check-boolmasks-correct (implies (and (svex-env-check-boolmasks boolmasks env) (svar-boolmasks-p boolmasks)) (svex-env-boolmasks-ok env boolmasks)))
Theorem:
(defthm svex-env-check-boolmasks-of-svar-boolmasks-fix-boolmasks (equal (svex-env-check-boolmasks (svar-boolmasks-fix boolmasks) env) (svex-env-check-boolmasks boolmasks env)))
Theorem:
(defthm svex-env-check-boolmasks-svar-boolmasks-equiv-congruence-on-boolmasks (implies (svar-boolmasks-equiv boolmasks boolmasks-equiv) (equal (svex-env-check-boolmasks boolmasks env) (svex-env-check-boolmasks boolmasks-equiv env))) :rule-classes :congruence)
Theorem:
(defthm svex-env-check-boolmasks-of-svex-env-fix-env (equal (svex-env-check-boolmasks boolmasks (svex-env-fix env)) (svex-env-check-boolmasks boolmasks env)))
Theorem:
(defthm svex-env-check-boolmasks-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (svex-env-check-boolmasks boolmasks env) (svex-env-check-boolmasks boolmasks env-equiv))) :rule-classes :congruence)