(vl-function-specialization-map-deltemps x) → new-x
Function:
(defun vl-function-specialization-map-deltemps (x) (declare (xargs :guard (vl-function-specialization-map-p x))) (let ((__function__ 'vl-function-specialization-map-deltemps)) (declare (ignorable __function__)) (b* ((x (vl-function-specialization-map-fix x)) ((when (atom x)) (b* nil nil)) (fty::val (vl-function-specialization-deltemps (cdar x))) (cdr (vl-function-specialization-map-deltemps (cdr x)))) (cons-with-hint (cons-with-hint (caar x) fty::val (car x)) cdr x))))
Theorem:
(defthm vl-function-specialization-map-p-of-vl-function-specialization-map-deltemps (b* ((new-x (vl-function-specialization-map-deltemps x))) (vl-function-specialization-map-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-function-specialization-map-deltemps-of-vl-function-specialization-map-fix-x (equal (vl-function-specialization-map-deltemps (vl-function-specialization-map-fix x)) (vl-function-specialization-map-deltemps x)))
Theorem:
(defthm vl-function-specialization-map-deltemps-vl-function-specialization-map-equiv-congruence-on-x (implies (vl-function-specialization-map-equiv x x-equiv) (equal (vl-function-specialization-map-deltemps x) (vl-function-specialization-map-deltemps x-equiv))) :rule-classes :congruence)