Get the modports field from a vl-interface.
(vl-interface->modports x) → modports
This is an ordinary field accessor created by defprod.
Function:
(defun vl-interface->modports$inline (x) (declare (xargs :guard (vl-interface-p x))) (declare (xargs :guard t)) (let ((__function__ 'vl-interface->modports)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and t x))) (vl-modportlist-fix (std::prod-car (std::prod-car (std::prod-cdr (std::prod-car (std::prod-car (cdr x)))))))) :exec (std::prod-car (std::prod-car (std::prod-cdr (std::prod-car (std::prod-car (cdr x)))))))))
Theorem:
(defthm vl-modportlist-p-of-vl-interface->modports (b* ((modports (vl-interface->modports$inline x))) (vl-modportlist-p modports)) :rule-classes :rewrite)
Theorem:
(defthm vl-interface->modports$inline-of-vl-interface-fix-x (equal (vl-interface->modports$inline (vl-interface-fix x)) (vl-interface->modports$inline x)))
Theorem:
(defthm vl-interface->modports$inline-vl-interface-equiv-congruence-on-x (implies (vl-interface-equiv x x-equiv) (equal (vl-interface->modports$inline x) (vl-interface->modports$inline x-equiv))) :rule-classes :congruence)