(vl-scopestack->path-aux x rchars) → rchars
Function:
(defun vl-scopestack->path-aux (x rchars) (declare (xargs :guard (vl-scopestack-p x))) (let ((__function__ 'vl-scopestack->path-aux)) (declare (ignorable __function__)) (vl-scopestack-case x :null (str::revappend-chars ":null" rchars) :global (str::revappend-chars "$root" rchars) :local (b* ((rchars (vl-scopestack->path-aux x.super rchars)) (id (vl-scope->id x.top))) (cond ((stringp id) (b* ((rchars (cons #\. rchars))) (str::revappend-chars id rchars))) ((integerp id) (b* ((rchars (cons #\[ rchars)) (rchars (if (< id 0) (cons #\- rchars) rchars)) (rchars (str::revappend-nat-to-dec-chars (abs id) rchars)) (rchars (cons #\] rchars))) rchars)) (t (str::revappend-chars (cat "<unnamed-" (symbol-name (vl-scope->scopetype x.top)) ">") rchars)))))))
Theorem:
(defthm character-listp-of-vl-scopestack->path-aux (implies (character-listp rchars) (b* ((rchars (vl-scopestack->path-aux x rchars))) (character-listp rchars))) :rule-classes :rewrite)
Theorem:
(defthm vl-scopestack->path-aux-of-vl-scopestack-fix-x (equal (vl-scopestack->path-aux (vl-scopestack-fix x) rchars) (vl-scopestack->path-aux x rchars)))
Theorem:
(defthm vl-scopestack->path-aux-vl-scopestack-equiv-congruence-on-x (implies (vl-scopestack-equiv x x-equiv) (equal (vl-scopestack->path-aux x rchars) (vl-scopestack->path-aux x-equiv rchars))) :rule-classes :congruence)