(vl-vardecl-logicassign x warnings) → new-warnings
Function:
(defun vl-vardecl-logicassign (x warnings) (declare (xargs :guard (and (vl-vardecl-p x) (vl-warninglist-p warnings)))) (let ((__function__ 'vl-vardecl-logicassign)) (declare (ignorable __function__)) (b* (((vl-vardecl x) (vl-vardecl-fix x)) ((unless x.initval) (ok)) (reg-p (vl-datatype-case x.type (:vl-coretype (vl-coretypename-equiv x.type.name :vl-reg)) (:otherwise nil))) ((when reg-p) (ok))) (warn :type :vl-warn-vardecl-assign :msg "~a0: declaration-time assignment to ~s1 will be treated ~ like an 'initial' assignment, not a continuous assignment; ~ is that what you meant?" :args (list x x.name)))))
Theorem:
(defthm vl-warninglist-p-of-vl-vardecl-logicassign (b* ((new-warnings (vl-vardecl-logicassign x warnings))) (vl-warninglist-p new-warnings)) :rule-classes :rewrite)
Theorem:
(defthm vl-vardecl-logicassign-of-vl-vardecl-fix-x (equal (vl-vardecl-logicassign (vl-vardecl-fix x) warnings) (vl-vardecl-logicassign x warnings)))
Theorem:
(defthm vl-vardecl-logicassign-vl-vardecl-equiv-congruence-on-x (implies (vl-vardecl-equiv x x-equiv) (equal (vl-vardecl-logicassign x warnings) (vl-vardecl-logicassign x-equiv warnings))) :rule-classes :congruence)
Theorem:
(defthm vl-vardecl-logicassign-of-vl-warninglist-fix-warnings (equal (vl-vardecl-logicassign x (vl-warninglist-fix warnings)) (vl-vardecl-logicassign x warnings)))
Theorem:
(defthm vl-vardecl-logicassign-vl-warninglist-equiv-congruence-on-warnings (implies (vl-warninglist-equiv warnings warnings-equiv) (equal (vl-vardecl-logicassign x warnings) (vl-vardecl-logicassign x warnings-equiv))) :rule-classes :congruence)