Determines if every index throughout a vl-hidexpr-p is resolved.
(vl-hidexpr-resolved-p x) → bool
Function:
(defun vl-hidexpr-resolved-p (x) (declare (xargs :guard (vl-expr-p x))) (declare (xargs :guard (vl-hidexpr-p x))) (let ((__function__ 'vl-hidexpr-resolved-p)) (declare (ignorable __function__)) (if (vl-hidexpr->endp x) t (and (vl-hidindex-resolved-p (vl-hidexpr->first x)) (vl-hidexpr-resolved-p (vl-hidexpr->rest x))))))
Theorem:
(defthm vl-hidexpr-resolved-p-when-endp (implies (vl-hidexpr->endp x) (vl-hidexpr-resolved-p x)))
Theorem:
(defthm vl-hidexpr-resolved-p-when-not-endp (implies (not (vl-hidexpr->endp x)) (equal (vl-hidexpr-resolved-p x) (and (vl-hidindex-resolved-p (vl-hidexpr->first x)) (vl-hidexpr-resolved-p (vl-hidexpr->rest x))))) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-hidexpr-resolved-p-of-vl-expr-fix-x (equal (vl-hidexpr-resolved-p (vl-expr-fix x)) (vl-hidexpr-resolved-p x)))
Theorem:
(defthm vl-hidexpr-resolved-p-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-hidexpr-resolved-p x) (vl-hidexpr-resolved-p x-equiv))) :rule-classes :congruence)