Function:
(defun binary-bittest (op x y) (declare (type (unsigned-byte 4) op)) (declare (xargs :guard (and (integerp op) (integerp x) (integerp y)))) (let ((__function__ 'binary-bittest)) (declare (ignorable __function__)) (not (eql 0 (binary-bitop op x y)))))
Theorem:
(defthm binary-bittest-of-ifix-op (equal (binary-bittest (ifix op) x y) (binary-bittest op x y)))
Theorem:
(defthm binary-bittest-int-equiv-congruence-on-op (implies (int-equiv op op-equiv) (equal (binary-bittest op x y) (binary-bittest op-equiv x y))) :rule-classes :congruence)
Theorem:
(defthm binary-bittest-of-ifix-x (equal (binary-bittest op (ifix x) y) (binary-bittest op x y)))
Theorem:
(defthm binary-bittest-int-equiv-congruence-on-x (implies (int-equiv x x-equiv) (equal (binary-bittest op x y) (binary-bittest op x-equiv y))) :rule-classes :congruence)
Theorem:
(defthm binary-bittest-of-ifix-y (equal (binary-bittest op x (ifix y)) (binary-bittest op x y)))
Theorem:
(defthm binary-bittest-int-equiv-congruence-on-y (implies (int-equiv y y-equiv) (equal (binary-bittest op x y) (binary-bittest op x y-equiv))) :rule-classes :congruence)