(vl-function-map-check-matching specialization actuals) → match
Function:
(defun vl-function-map-check-matching (specialization actuals) (declare (xargs :guard (and (sv::maybe-4veclist-p specialization) (sv::maybe-4veclist-p actuals)))) (let ((__function__ 'vl-function-map-check-matching)) (declare (ignorable __function__)) (b* (((when (atom specialization)) (and (atom actuals) 0)) ((unless (consp actuals)) nil) (spec1 (car specialization)) (act1 (car actuals)) ((when (not spec1)) (vl-function-map-check-matching (cdr specialization) (cdr actuals))) ((unless (and act1 (sv::4vec-equiv spec1 act1))) nil) (rest (vl-function-map-check-matching (cdr specialization) (cdr actuals)))) (and rest (+ 1 rest)))))
Theorem:
(defthm maybe-natp-of-vl-function-map-check-matching (b* ((match (vl-function-map-check-matching specialization actuals))) (maybe-natp match)) :rule-classes :type-prescription)
Theorem:
(defthm vl-function-map-check-matching-of-maybe-4veclist-fix-specialization (equal (vl-function-map-check-matching (sv::maybe-4veclist-fix specialization) actuals) (vl-function-map-check-matching specialization actuals)))
Theorem:
(defthm vl-function-map-check-matching-maybe-4veclist-equiv-congruence-on-specialization (implies (sv::maybe-4veclist-equiv specialization specialization-equiv) (equal (vl-function-map-check-matching specialization actuals) (vl-function-map-check-matching specialization-equiv actuals))) :rule-classes :congruence)
Theorem:
(defthm vl-function-map-check-matching-of-maybe-4veclist-fix-actuals (equal (vl-function-map-check-matching specialization (sv::maybe-4veclist-fix actuals)) (vl-function-map-check-matching specialization actuals)))
Theorem:
(defthm vl-function-map-check-matching-maybe-4veclist-equiv-congruence-on-actuals (implies (sv::maybe-4veclist-equiv actuals actuals-equiv) (equal (vl-function-map-check-matching specialization actuals) (vl-function-map-check-matching specialization actuals-equiv))) :rule-classes :congruence)