(vl-namedb-pmap-fix names pmap) → pmap-fix
Function:
(defun vl-namedb-pmap-fix$inline (names pmap) (declare (xargs :guard (and (vl-namedb-nameset-p names) (vl-namedb-prefixmap-p pmap)))) (declare (xargs :guard (vl-namedb-pmap-okp names pmap))) (let ((__function__ 'vl-namedb-pmap-fix)) (declare (ignorable __function__)) (mbe :logic (b* ((names (vl-namedb-nameset-fix names)) (pmap (vl-namedb-prefixmap-fix pmap))) (if (vl-namedb-pmap-okp names pmap) pmap nil)) :exec pmap)))
Theorem:
(defthm return-type-of-vl-namedb-pmap-fix (b* ((pmap-fix (vl-namedb-pmap-fix$inline names pmap))) (and (vl-namedb-prefixmap-p pmap-fix) (vl-namedb-pmap-okp names pmap-fix))) :rule-classes :rewrite)
Theorem:
(defthm vl-namedb-pmap-fix-when-vl-namedb-pmap-okp (implies (vl-namedb-pmap-okp names pmap) (equal (vl-namedb-pmap-fix names pmap) (vl-namedb-prefixmap-fix pmap))))
Theorem:
(defthm vl-namedb-pmap-okp-of-vl-namedb-pmap-fix (implies (vl-namedb-nameset-p names) (vl-namedb-pmap-okp names (vl-namedb-pmap-fix names pmap))))
Theorem:
(defthm vl-namedb-pmap-fix$inline-of-vl-namedb-nameset-fix-names (equal (vl-namedb-pmap-fix$inline (vl-namedb-nameset-fix names) pmap) (vl-namedb-pmap-fix$inline names pmap)))
Theorem:
(defthm vl-namedb-pmap-fix$inline-vl-namedb-nameset-equiv-congruence-on-names (implies (vl-namedb-nameset-equiv names names-equiv) (equal (vl-namedb-pmap-fix$inline names pmap) (vl-namedb-pmap-fix$inline names-equiv pmap))) :rule-classes :congruence)
Theorem:
(defthm vl-namedb-pmap-fix$inline-of-vl-namedb-prefixmap-fix-pmap (equal (vl-namedb-pmap-fix$inline names (vl-namedb-prefixmap-fix pmap)) (vl-namedb-pmap-fix$inline names pmap)))
Theorem:
(defthm vl-namedb-pmap-fix$inline-vl-namedb-prefixmap-equiv-congruence-on-pmap (implies (vl-namedb-prefixmap-equiv pmap pmap-equiv) (equal (vl-namedb-pmap-fix$inline names pmap) (vl-namedb-pmap-fix$inline names pmap-equiv))) :rule-classes :congruence)