Logical complement
(boolean-not operand) → result
Function:
(defun boolean-not (operand) (declare (xargs :guard (boolean-valuep operand))) (b* ((x (boolean-value->bool operand))) (boolean-value (not x))))
Theorem:
(defthm boolean-valuep-of-boolean-not (b* ((result (boolean-not operand))) (boolean-valuep result)) :rule-classes :rewrite)
Theorem:
(defthm boolean-not-of-boolean-value-fix-operand (equal (boolean-not (boolean-value-fix operand)) (boolean-not operand)))
Theorem:
(defthm boolean-not-boolean-value-equiv-congruence-on-operand (implies (boolean-value-equiv operand operand-equiv) (equal (boolean-not operand) (boolean-not operand-equiv))) :rule-classes :congruence)