Test whether a binary bitwise operation (represented as a 4-bit truth table) on two sparseints yields a nonzero value.
(sparseint-binary-bittest op x y) → test
Function:
(defun sparseint-binary-bittest$inline (op x y) (declare (type (unsigned-byte 4) op)) (declare (xargs :guard (and (integerp op) (sparseint-p x) (sparseint-p y)))) (let ((__function__ 'sparseint-binary-bittest)) (declare (ignorable __function__)) (sparseint$-binary-bittest op (sparseint-fix x) (sparseint-fix y))))
Theorem:
(defthm booleanp-of-sparseint-binary-bittest (b* ((test (sparseint-binary-bittest$inline op x y))) (booleanp test)) :rule-classes :type-prescription)
Theorem:
(defthm sparseint-val-of-sparseint-binary-bittest (b* ((?test (sparseint-binary-bittest$inline op x y))) (equal test (binary-bittest op (sparseint-val x) (sparseint-val y)))))
Theorem:
(defthm sparseint-binary-bittest$inline-of-ifix-op (equal (sparseint-binary-bittest$inline (ifix op) x y) (sparseint-binary-bittest$inline op x y)))
Theorem:
(defthm sparseint-binary-bittest$inline-int-equiv-congruence-on-op (implies (int-equiv op op-equiv) (equal (sparseint-binary-bittest$inline op x y) (sparseint-binary-bittest$inline op-equiv x y))) :rule-classes :congruence)
Theorem:
(defthm sparseint-binary-bittest$inline-of-sparseint-fix-x (equal (sparseint-binary-bittest$inline op (sparseint-fix x) y) (sparseint-binary-bittest$inline op x y)))
Theorem:
(defthm sparseint-binary-bittest$inline-sparseint-equiv-congruence-on-x (implies (sparseint-equiv x x-equiv) (equal (sparseint-binary-bittest$inline op x y) (sparseint-binary-bittest$inline op x-equiv y))) :rule-classes :congruence)
Theorem:
(defthm sparseint-binary-bittest$inline-of-sparseint-fix-y (equal (sparseint-binary-bittest$inline op x (sparseint-fix y)) (sparseint-binary-bittest$inline op x y)))
Theorem:
(defthm sparseint-binary-bittest$inline-sparseint-equiv-congruence-on-y (implies (sparseint-equiv y y-equiv) (equal (sparseint-binary-bittest$inline op x y) (sparseint-binary-bittest$inline op x y-equiv))) :rule-classes :congruence)