(vl-function-specialization-strip x) → new-x
Function:
(defun vl-function-specialization-strip (x) (declare (xargs :guard (vl-function-specialization-p x))) (let ((__function__ 'vl-function-specialization-strip)) (declare (ignorable __function__)) (b* (((vl-function-specialization x) (vl-function-specialization-fix x))) (b* ((body (vl-stmt-strip x.body))) (change-vl-function-specialization x :body body)))))
Theorem:
(defthm vl-function-specialization-p-of-vl-function-specialization-strip (b* ((new-x (vl-function-specialization-strip x))) (vl-function-specialization-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-function-specialization-strip-of-vl-function-specialization-fix-x (equal (vl-function-specialization-strip (vl-function-specialization-fix x)) (vl-function-specialization-strip x)))
Theorem:
(defthm vl-function-specialization-strip-vl-function-specialization-equiv-congruence-on-x (implies (vl-function-specialization-equiv x x-equiv) (equal (vl-function-specialization-strip x) (vl-function-specialization-strip x-equiv))) :rule-classes :congruence)