Evaluate an element of hex strings after the first one.
(eval-hex-string-rest-element elem) → val
This reduces to the evaluation of the pair of hex digits. The optional underscore is merely concrete syntactic information, retained in the abstract syntax but semantically irrelevant.
Function:
(defun eval-hex-string-rest-element (elem) (declare (xargs :guard (hex-string-rest-elementp elem))) (let ((__function__ 'eval-hex-string-rest-element)) (declare (ignorable __function__)) (eval-hex-pair (hex-string-rest-element->pair elem))))
Theorem:
(defthm ubyte8p-of-eval-hex-string-rest-element (b* ((val (eval-hex-string-rest-element elem))) (ubyte8p val)) :rule-classes :rewrite)
Theorem:
(defthm eval-hex-string-rest-element-of-hex-string-rest-element-fix-elem (equal (eval-hex-string-rest-element (hex-string-rest-element-fix elem)) (eval-hex-string-rest-element elem)))
Theorem:
(defthm eval-hex-string-rest-element-hex-string-rest-element-equiv-congruence-on-elem (implies (hex-string-rest-element-equiv elem elem-equiv) (equal (eval-hex-string-rest-element elem) (eval-hex-string-rest-element elem-equiv))) :rule-classes :congruence)