(svex-mask-alist-keys x) → keys
Function:
(defun svex-mask-alist-keys (x) (declare (xargs :guard (svex-mask-alist-p x))) (let ((__function__ 'svex-mask-alist-keys)) (declare (ignorable __function__)) (if (atom x) nil (if (mbt (and (consp (car x)) (svex-p (caar x)))) (cons (caar x) (svex-mask-alist-keys (cdr x))) (svex-mask-alist-keys (cdr x))))))
Theorem:
(defthm svexlist-p-of-svex-mask-alist-keys (b* ((keys (svex-mask-alist-keys x))) (svexlist-p keys)) :rule-classes :rewrite)
Theorem:
(defthm svex-mask-alist-keys-of-svex-mask-alist-fix-x (equal (svex-mask-alist-keys (svex-mask-alist-fix x)) (svex-mask-alist-keys x)))
Theorem:
(defthm svex-mask-alist-keys-svex-mask-alist-equiv-congruence-on-x (implies (svex-mask-alist-equiv x x-equiv) (equal (svex-mask-alist-keys x) (svex-mask-alist-keys x-equiv))) :rule-classes :congruence)
Theorem:
(defthm member-svex-mask-alist-keys (implies (not (member (svex-fix k) (svex-mask-alist-keys x))) (equal (svex-mask-lookup k x) 0)))
Theorem:
(defthm svex-mask-alist-keys-of-svex-mask-acons (equal (svex-mask-alist-keys (svex-mask-acons k v x)) (cons (svex-fix k) (svex-mask-alist-keys x))))