Bitwise negation of a sparseint
(sparseint-bitnot x) → bitnot
Function:
(defun sparseint-bitnot$inline (x) (declare (xargs :guard (sparseint-p x))) (let ((__function__ 'sparseint-bitnot)) (declare (ignorable __function__)) (sparseint$-bitnot (sparseint-fix x))))
Theorem:
(defthm sparseint-p-of-sparseint-bitnot (b* ((bitnot (sparseint-bitnot$inline x))) (sparseint-p bitnot)) :rule-classes :rewrite)
Theorem:
(defthm sparseint-val-of-sparseint-bitnot (b* ((?bitnot (sparseint-bitnot$inline x))) (equal (sparseint-val bitnot) (lognot (sparseint-val x)))))
Theorem:
(defthm sparseint-bitnot$inline-of-sparseint-fix-x (equal (sparseint-bitnot$inline (sparseint-fix x)) (sparseint-bitnot$inline x)))
Theorem:
(defthm sparseint-bitnot$inline-sparseint-equiv-congruence-on-x (implies (sparseint-equiv x x-equiv) (equal (sparseint-bitnot$inline x) (sparseint-bitnot$inline x-equiv))) :rule-classes :congruence)