Evaluation semantics of
The guard of this function requires bad atoms,
which we do not model in our formalization.
It looks like the raw Lisp code of this function returns
Function:
(defun eval-bad-atom<= (x y) (declare (xargs :guard (and (valuep x) (valuep y)))) (declare (ignore x y)) (let ((__function__ 'eval-bad-atom<=)) (declare (ignorable __function__)) (value-nil)))
Theorem:
(defthm valuep-of-eval-bad-atom<= (b* ((result (eval-bad-atom<= x y))) (valuep result)) :rule-classes :rewrite)
Theorem:
(defthm eval-bad-atom<=-of-value-fix-x (equal (eval-bad-atom<= (value-fix x) y) (eval-bad-atom<= x y)))
Theorem:
(defthm eval-bad-atom<=-value-equiv-congruence-on-x (implies (value-equiv x x-equiv) (equal (eval-bad-atom<= x y) (eval-bad-atom<= x-equiv y))) :rule-classes :congruence)
Theorem:
(defthm eval-bad-atom<=-of-value-fix-y (equal (eval-bad-atom<= x (value-fix y)) (eval-bad-atom<= x y)))
Theorem:
(defthm eval-bad-atom<=-value-equiv-congruence-on-y (implies (value-equiv y y-equiv) (equal (eval-bad-atom<= x y) (eval-bad-atom<= x y-equiv))) :rule-classes :congruence)