Same as lit-negate, but with a type declaration that the input is 32 bits unsigned.
(lit-negate^ lit) → *
Function:
(defun lit-negate^$inline (lit) (declare (type (unsigned-byte 32) lit)) (declare (xargs :guard (litp lit))) (let ((__function__ 'lit-negate^)) (declare (ignorable __function__)) (mbe :logic (lit-negate lit) :exec (the (unsigned-byte 32) (logxor 1 (the (unsigned-byte 32) lit))))))
Theorem:
(defthm lit-negate^$inline-of-lit-fix-lit (equal (lit-negate^$inline (lit-fix lit)) (lit-negate^$inline lit)))
Theorem:
(defthm lit-negate^$inline-lit-equiv-congruence-on-lit (implies (lit-equiv lit lit-equiv) (equal (lit-negate^$inline lit) (lit-negate^$inline lit-equiv))) :rule-classes :congruence)