(bitset-memberp a x) tests whether
This is reasonably efficient: it executes as logbitp and does not need to use bitset-members.
We prefer to reason about
Function:
(defun acl2::bitset-memberp$inline (a x) (declare (type unsigned-byte a) (type unsigned-byte x)) (declare (xargs :guard (and (natp a) (natp x)))) (declare (xargs :split-types t)) (let ((__function__ 'bitset-memberp)) (declare (ignorable __function__)) (logbitp a (the unsigned-byte (lnfix x)))))
Theorem:
(defthm acl2::booleanp-of-bitset-memberp (b* ((bool (acl2::bitset-memberp$inline a x))) (booleanp bool)) :rule-classes :type-prescription)
Theorem:
(defthm bitset-memberp-removal (equal (bitset-memberp a x) (in (nfix a) (bitset-members x))))