(vl-subhid-p inner outer) → *
Function:
(defun vl-subhid-p (inner outer) (declare (xargs :guard (and (vl-hidexpr-p inner) (vl-hidexpr-p outer)))) (let ((__function__ 'vl-subhid-p)) (declare (ignorable __function__)) (if (vl-hidexpr-equiv inner outer) (vl-hidexpr-case outer :end t :dot (stringp (vl-hidindex->name outer.first))) (vl-hidexpr-case outer :dot (vl-subhid-p inner outer.rest) :otherwise nil))))
Theorem:
(defthm vl-subhid-p-of-vl-hidexpr-fix-inner (equal (vl-subhid-p (vl-hidexpr-fix inner) outer) (vl-subhid-p inner outer)))
Theorem:
(defthm vl-subhid-p-vl-hidexpr-equiv-congruence-on-inner (implies (vl-hidexpr-equiv inner inner-equiv) (equal (vl-subhid-p inner outer) (vl-subhid-p inner-equiv outer))) :rule-classes :congruence)
Theorem:
(defthm vl-subhid-p-of-vl-hidexpr-fix-outer (equal (vl-subhid-p inner (vl-hidexpr-fix outer)) (vl-subhid-p inner outer)))
Theorem:
(defthm vl-subhid-p-vl-hidexpr-equiv-congruence-on-outer (implies (vl-hidexpr-equiv outer outer-equiv) (equal (vl-subhid-p inner outer) (vl-subhid-p inner outer-equiv))) :rule-classes :congruence)