(vl-dimension-size x) → (mv unresolved-flg size)
Function:
(defun vl-dimension-size (x) (declare (xargs :guard (vl-dimension-p x))) (let ((__function__ 'vl-dimension-size)) (declare (ignorable __function__)) (vl-dimension-case x :unsized (mv nil nil) :star (mv nil nil) :datatype (mv nil nil) :queue (cond ((not x.maxsize) (mv nil nil)) ((vl-expr-resolved-p x.maxsize) (mv nil nil)) (t (mv t nil))) :range (if (vl-range-resolved-p x.range) (mv nil (vl-range-size x.range)) (mv t nil)))))
Theorem:
(defthm maybe-posp-of-vl-dimension-size.size (b* (((mv ?unresolved-flg ?size) (vl-dimension-size x))) (maybe-posp size)) :rule-classes :type-prescription)
Theorem:
(defthm vl-dimension-size-of-vl-dimension-fix-x (equal (vl-dimension-size (vl-dimension-fix x)) (vl-dimension-size x)))
Theorem:
(defthm vl-dimension-size-vl-dimension-equiv-congruence-on-x (implies (vl-dimension-equiv x x-equiv) (equal (vl-dimension-size x) (vl-dimension-size x-equiv))) :rule-classes :congruence)