(vl-scope->id x) → name
Function:
(defun vl-scope->id (x) (declare (xargs :guard (vl-scope-p x))) (let ((__function__ 'vl-scope->id)) (declare (ignorable __function__)) (b* ((x (vl-scope-fix x))) (case (tag x) (:vl-interface (vl-interface->name x)) (:vl-module (vl-module->name x)) (:vl-genblob (vl-genblob->id x)) (:vl-blockscope (vl-blockscope->name x)) (:vl-package (vl-package->name x)) (:vl-class (vl-class->name x)) (:vl-scopeinfo (vl-scopeinfo->id x)) (:vl-design "Design Root") (otherwise (impossible))))))
Theorem:
(defthm vl-maybe-scopeid-p-of-vl-scope->id (b* ((name (vl-scope->id x))) (vl-maybe-scopeid-p name)) :rule-classes :type-prescription)
Theorem:
(defthm vl-scope->id-of-vl-scope-fix-x (equal (vl-scope->id (vl-scope-fix x)) (vl-scope->id x)))
Theorem:
(defthm vl-scope->id-vl-scope-equiv-congruence-on-x (implies (vl-scope-equiv x x-equiv) (equal (vl-scope->id x) (vl-scope->id x-equiv))) :rule-classes :congruence)