(vl-simplereg->range x) → range
Function:
(defun vl-simplereg->range (x) (declare (xargs :guard (vl-vardecl-p x))) (declare (xargs :guard (vl-simplereg-p x))) (let ((__function__ 'vl-simplereg->range)) (declare (ignorable __function__)) (b* (((vl-vardecl x) x) ((vl-coretype x.type) x.type)) (and (consp x.type.pdims) (vl-range-fix (car x.type.pdims))))))
Theorem:
(defthm vl-maybe-range-p-of-vl-simplereg->range (b* ((range (vl-simplereg->range x))) (vl-maybe-range-p range)) :rule-classes :rewrite)
Theorem:
(defthm vl-range-p-of-vl-simplereg->range (b* ((range (vl-simplereg->range x))) (equal (vl-range-p range) (if range t nil))) :rule-classes :rewrite)
Theorem:
(defthm vl-simplereg->range-of-vl-vardecl-fix-x (equal (vl-simplereg->range (vl-vardecl-fix x)) (vl-simplereg->range x)))
Theorem:
(defthm vl-simplereg->range-vl-vardecl-equiv-congruence-on-x (implies (vl-vardecl-equiv x x-equiv) (equal (vl-simplereg->range x) (vl-simplereg->range x-equiv))) :rule-classes :congruence)