(vl-function-map-find-matching x args) → match
Function:
(defun vl-function-map-find-matching (x args) (declare (xargs :guard (and (vl-function-specialization-map-p x) (sv::maybe-4veclist-p args)))) (let ((__function__ 'vl-function-map-find-matching)) (declare (ignorable __function__)) (b* (((mv score match) (vl-function-map-find-matching-aux x args))) (and score match))))
Theorem:
(defthm return-type-of-vl-function-map-find-matching (b* ((match (vl-function-map-find-matching x args))) (implies match (vl-function-specialization-p match))) :rule-classes :rewrite)
Theorem:
(defthm vl-function-map-find-matching-of-vl-function-specialization-map-fix-x (equal (vl-function-map-find-matching (vl-function-specialization-map-fix x) args) (vl-function-map-find-matching x args)))
Theorem:
(defthm vl-function-map-find-matching-vl-function-specialization-map-equiv-congruence-on-x (implies (vl-function-specialization-map-equiv x x-equiv) (equal (vl-function-map-find-matching x args) (vl-function-map-find-matching x-equiv args))) :rule-classes :congruence)
Theorem:
(defthm vl-function-map-find-matching-of-maybe-4veclist-fix-args (equal (vl-function-map-find-matching x (sv::maybe-4veclist-fix args)) (vl-function-map-find-matching x args)))
Theorem:
(defthm vl-function-map-find-matching-maybe-4veclist-equiv-congruence-on-args (implies (sv::maybe-4veclist-equiv args args-equiv) (equal (vl-function-map-find-matching x args) (vl-function-map-find-matching x args-equiv))) :rule-classes :congruence)