Logical negation of boolean values.
Function:
(defun bool-not (operand) (declare (xargs :guard (boolp operand))) (let ((__function__ 'bool-not)) (declare (ignorable __function__)) (b* ((x (bool->get operand))) (bool (not x)))))
Theorem:
(defthm boolp-of-bool-not (b* ((result (bool-not operand))) (boolp result)) :rule-classes :rewrite)
Theorem:
(defthm bool-not-of-bool-fix-operand (equal (bool-not (bool-fix operand)) (bool-not operand)))
Theorem:
(defthm bool-not-bool-equiv-congruence-on-operand (implies (bool-equiv operand operand-equiv) (equal (bool-not operand) (bool-not operand-equiv))) :rule-classes :congruence)