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