(vl-pp-scope-summary x &key (ps 'ps)) → ps
Function:
(defun vl-pp-scope-summary-fn (x ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (vl-scopestack-p x))) (let ((__function__ 'vl-pp-scope-summary)) (declare (ignorable __function__)) (b* ((scope (vl-scopestack-case x :global x.design :local x.top :otherwise nil)) ((unless scope) (vl-print "[empty scopestack]")) (id (vl-scope->id scope)) (type (vl-scope->scopetype scope))) (case type ((:vl-module :vl-interface :vl-package :vl-design) (vl-pp-definition-scope-summary x)) (otherwise (vl-ps-seq (vl-pp-scopetype type) (vl-print " ") (if (stringp id) (vl-print-wirename id) (vl-print "[unknown]")) (vl-print " inside ") (vl-pp-definition-scope-summary x)))))))
Theorem:
(defthm vl-pp-scope-summary-fn-of-vl-scopestack-fix-x (equal (vl-pp-scope-summary-fn (vl-scopestack-fix x) ps) (vl-pp-scope-summary-fn x ps)))
Theorem:
(defthm vl-pp-scope-summary-fn-vl-scopestack-equiv-congruence-on-x (implies (vl-scopestack-equiv x x-equiv) (equal (vl-pp-scope-summary-fn x ps) (vl-pp-scope-summary-fn x-equiv ps))) :rule-classes :congruence)