Function:
(defun vl-op-fix (x) (declare (xargs :guard (vl-op-p x))) (let ((__function__ 'vl-op-fix)) (declare (ignorable __function__)) (mbe :logic (if (vl-binaryop-p x) x (vl-unaryop-fix x)) :exec x)))
Theorem:
(defthm vl-op-p-of-vl-op-fix (b* ((xx (vl-op-fix x))) (vl-op-p xx)) :rule-classes :rewrite)
Theorem:
(defthm vl-op-fix-when-vl-op-p (b* ((?xx (vl-op-fix x))) (implies (vl-op-p x) (equal xx x))))