(sparseint$-bitnot x) → bitnot
Function:
(defun sparseint$-bitnot (x) (declare (xargs :guard (sparseint$-p x))) (let ((__function__ 'sparseint$-bitnot)) (declare (ignorable __function__)) (sparseint$-case x :leaf (sparseint$-leaf (lognot x.val)) :concat (change-sparseint$-concat x :lsbs (sparseint$-bitnot x.lsbs) :msbs (sparseint$-bitnot x.msbs)))))
Theorem:
(defthm sparseint$-p-of-sparseint$-bitnot (b* ((bitnot (sparseint$-bitnot x))) (sparseint$-p bitnot)) :rule-classes :rewrite)
Theorem:
(defthm sparseint$-height-of-sparseint$-bitnot (b* ((?bitnot (sparseint$-bitnot x))) (equal (sparseint$-height bitnot) (sparseint$-height x))))
Theorem:
(defthm sparseint$-height-correct-of-sparseint$-bitnot (b* ((?bitnot (sparseint$-bitnot x))) (implies (sparseint$-height-correctp x) (sparseint$-height-correctp bitnot))))
Theorem:
(defthm sparseint$-val-of-sparseint$-bitnot (b* ((?bitnot (sparseint$-bitnot x))) (equal (sparseint$-val bitnot) (lognot (sparseint$-val x)))))
Theorem:
(defthm sparseint$-bitnot-of-sparseint$-fix-x (equal (sparseint$-bitnot (sparseint$-fix x)) (sparseint$-bitnot x)))
Theorem:
(defthm sparseint$-bitnot-sparseint$-equiv-congruence-on-x (implies (sparseint$-equiv x x-equiv) (equal (sparseint$-bitnot x) (sparseint$-bitnot x-equiv))) :rule-classes :congruence)