Recognizes all expressions that can validly occur in a (non-blank) port.
Function:
(defun vl-portexpr-p (x) (declare (xargs :guard (vl-expr-p x))) (let ((__function__ 'vl-portexpr-p)) (declare (ignorable __function__)) (or (vl-atomicportexpr-p x) (vl-expr-case x :vl-concat (vl-atomicportexprlist-p x.parts) :otherwise nil))))
Theorem:
(defthm booleanp-of-vl-portexpr-p (b* ((okp (vl-portexpr-p x))) (booleanp okp)) :rule-classes :type-prescription)
Theorem:
(defthm vl-portexpr-p-of-vl-expr-fix-x (equal (vl-portexpr-p (vl-expr-fix x)) (vl-portexpr-p x)))
Theorem:
(defthm vl-portexpr-p-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-portexpr-p x) (vl-portexpr-p x-equiv))) :rule-classes :congruence)