(vl-module-resolve-ansi-portdecls x ss) → new-x
Function:
(defun vl-module-resolve-ansi-portdecls (x ss) (declare (xargs :guard (and (vl-module-p x) (vl-scopestack-p ss)))) (let ((__function__ 'vl-module-resolve-ansi-portdecls)) (declare (ignorable __function__)) (b* (((vl-module x) (vl-module-fix x)) ((unless x.parse-temps) x) ((vl-parse-temps x.temps) x.parse-temps) ((unless x.temps.ansi-p) x) ((mv warnings ports portdecls ?vardecls) (vl-resolve-ansi-portdecls x.temps.ansi-ports nil nil nil (vl-scopestack-push x ss)))) (change-vl-module x :warnings (append-without-guard warnings x.warnings) :ports ports :portdecls portdecls :vardecls x.vardecls :parse-temps (change-vl-parse-temps x.temps :loaditems (append-without-guard (vl-modelementlist->genelements portdecls) x.temps.loaditems))))))
Theorem:
(defthm vl-module-p-of-vl-module-resolve-ansi-portdecls (b* ((new-x (vl-module-resolve-ansi-portdecls x ss))) (vl-module-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-module-resolve-ansi-portdecls-of-vl-module-fix-x (equal (vl-module-resolve-ansi-portdecls (vl-module-fix x) ss) (vl-module-resolve-ansi-portdecls x ss)))
Theorem:
(defthm vl-module-resolve-ansi-portdecls-vl-module-equiv-congruence-on-x (implies (vl-module-equiv x x-equiv) (equal (vl-module-resolve-ansi-portdecls x ss) (vl-module-resolve-ansi-portdecls x-equiv ss))) :rule-classes :congruence)
Theorem:
(defthm vl-module-resolve-ansi-portdecls-of-vl-scopestack-fix-ss (equal (vl-module-resolve-ansi-portdecls x (vl-scopestack-fix ss)) (vl-module-resolve-ansi-portdecls x ss)))
Theorem:
(defthm vl-module-resolve-ansi-portdecls-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-module-resolve-ansi-portdecls x ss) (vl-module-resolve-ansi-portdecls x ss-equiv))) :rule-classes :congruence)