Evaluation semantics of unary--.
Function:
(defun eval-unary-- (x) (declare (xargs :guard (valuep x))) (let ((__function__ 'eval-unary--)) (declare (ignorable __function__)) (value-number (if (value-case x :number) (unary-- (value-number->get x)) 0))))
Theorem:
(defthm valuep-of-eval-unary-- (b* ((result (eval-unary-- x))) (valuep result)) :rule-classes :rewrite)
Theorem:
(defthm eval-unary---of-value-fix-x (equal (eval-unary-- (value-fix x)) (eval-unary-- x)))
Theorem:
(defthm eval-unary---value-equiv-congruence-on-x (implies (value-equiv x x-equiv) (equal (eval-unary-- x) (eval-unary-- x-equiv))) :rule-classes :congruence)