(sbitset-singleton-pair a) creates a sbitset-pairp whose
only member is
(sbitset-singleton-pair a) → pair
Function:
(defun sbitset-singleton-pair$inline (a) (declare (type unsigned-byte a)) (declare (xargs :guard (natp a))) (declare (xargs :split-types t)) (let ((__function__ 'sbitset-singleton-pair)) (declare (ignorable __function__)) (mbe :logic (let ((a (nfix a))) (sbitset-pair (floor a *sbitset-block-size*) (expt 2 (mod a *sbitset-block-size*)))) :exec (sbitset-pair (truncate a 60) (ash 1 (rem a 60))))))
Theorem:
(defthm sbitset-pairp-of-sbitset-singleton-pair (b* ((pair (sbitset-singleton-pair$inline a))) (sbitset-pairp pair)) :rule-classes :rewrite)
Theorem:
(defthm sbitset-pair-offset-of-sbitset-singleton-pair (equal (sbitset-pair-offset (sbitset-singleton-pair a)) (floor (nfix a) *sbitset-block-size*)))
Theorem:
(defthm sbiset-pair-block-of-sbitset-singleton-pair (equal (sbitset-pair-block (sbitset-singleton-pair a)) (expt 2 (mod (nfix a) *sbitset-block-size*))))