Evaluation semantics of car.
Function:
(defun eval-car (x) (declare (xargs :guard (valuep x))) (let ((__function__ 'eval-car)) (declare (ignorable __function__)) (cond ((value-case x :cons) (value-cons->car x)) (t (value-nil)))))
Theorem:
(defthm valuep-of-eval-car (b* ((result (eval-car x))) (valuep result)) :rule-classes :rewrite)
Theorem:
(defthm eval-car-of-value-fix-x (equal (eval-car (value-fix x)) (eval-car x)))
Theorem:
(defthm eval-car-value-equiv-congruence-on-x (implies (value-equiv x x-equiv) (equal (eval-car x) (eval-car x-equiv))) :rule-classes :congruence)