(vl-scopeitem->name x) → name
Function:
(defun vl-scopeitem->name (x) (declare (xargs :guard (vl-scopeitem-p x))) (let ((__function__ 'vl-scopeitem->name)) (declare (ignorable __function__)) (b* ((x (vl-scopeitem-fix x))) (case (tag x) (:vl-modinst (vl-modinst->instname x)) (:vl-gateinst (vl-gateinst->name x)) (:vl-genbegin (b* ((name (vl-genblock->name (vl-genbegin->block x)))) (and (stringp name) name))) (:vl-genarray (vl-genarray->name x)) (:vl-genvar (vl-genvar->name x)) ((:vl-genloop :vl-genif :vl-gencase :vl-genbase) nil) (:vl-interfaceport (vl-interfaceport->name x)) (:vl-paramdecl (vl-paramdecl->name x)) (:vl-vardecl (vl-vardecl->name x)) (:vl-fundecl (vl-fundecl->name x)) (:vl-taskdecl (vl-taskdecl->name x)) (:vl-dpiimport (vl-dpiimport->name x)) (:vl-modport (vl-modport->name x)) (otherwise (vl-typedef->name x))))))
Theorem:
(defthm maybe-stringp-of-vl-scopeitem->name (b* ((name (vl-scopeitem->name x))) (maybe-stringp name)) :rule-classes :type-prescription)
Theorem:
(defthm vl-scopeitem->name-of-vl-scopeitem-fix-x (equal (vl-scopeitem->name (vl-scopeitem-fix x)) (vl-scopeitem->name x)))
Theorem:
(defthm vl-scopeitem->name-vl-scopeitem-equiv-congruence-on-x (implies (vl-scopeitem-equiv x x-equiv) (equal (vl-scopeitem->name x) (vl-scopeitem->name x-equiv))) :rule-classes :congruence)