Recognizes ranges and unsized dimensions.
(vl-packeddimension-p x) → *
From the SystemVerilog-2012 grammar:
unsized_dimension ::= '[' ']' packed_dimension ::= '[' constant_range ']' | unsized_dimension
Function:
(defun vl-packeddimension-p (x) (declare (xargs :guard t)) (let ((__function__ 'vl-packeddimension-p)) (declare (ignorable __function__)) (or (eq x :vl-unsized-dimension) (vl-range-p x))))
Theorem:
(defthm vl-packeddimension-p-when-vl-range-p (implies (vl-range-p x) (vl-packeddimension-p x)))
Theorem:
(defthm vl-range-p-when-vl-packeddimension-p (implies (and (not (equal x :vl-unsized-dimension)) (vl-packeddimension-p x)) (vl-range-p x)))