(vl-scopestack->design x) → design
Function:
(defun vl-scopestack->design (x) (declare (xargs :guard (vl-scopestack-p x))) (let ((__function__ 'vl-scopestack->design)) (declare (ignorable __function__)) (vl-scopestack-case x :null nil :global x.design :local (vl-scopestack->design x.super))))
Theorem:
(defthm return-type-of-vl-scopestack->design (b* ((design (vl-scopestack->design x))) (iff (vl-design-p design) design)) :rule-classes :rewrite)
Theorem:
(defthm vl-maybe-design-p-of-vl-scopestack->design (b* ((design (vl-scopestack->design x))) (vl-maybe-design-p design)) :rule-classes :rewrite)
Theorem:
(defthm vl-scopestack->design-of-vl-scopestack-fix-x (equal (vl-scopestack->design (vl-scopestack-fix x)) (vl-scopestack->design x)))
Theorem:
(defthm vl-scopestack->design-vl-scopestack-equiv-congruence-on-x (implies (vl-scopestack-equiv x x-equiv) (equal (vl-scopestack->design x) (vl-scopestack->design x-equiv))) :rule-classes :congruence)