(vl-unhierarchicalize-interfaceports args ports ss inst warnings) → (mv warnings new-args)
Function:
(defun vl-unhierarchicalize-interfaceports (args ports ss inst warnings) (declare (xargs :guard (and (vl-plainarglist-p args) (vl-portlist-p ports) (vl-scopestack-p ss) (vl-modinst-p inst) (vl-warninglist-p warnings)))) (declare (xargs :guard (same-lengthp args ports))) (let ((__function__ 'vl-unhierarchicalize-interfaceports)) (declare (ignorable __function__)) (b* (((when (atom args)) (mv (ok) nil)) ((mv warnings first) (vl-unhierarchicalize-interfaceport (car args) (car ports) ss inst warnings)) ((mv warnings rest) (vl-unhierarchicalize-interfaceports (cdr args) (cdr ports) ss inst warnings))) (mv warnings (cons first rest)))))
Theorem:
(defthm vl-warninglist-p-of-vl-unhierarchicalize-interfaceports.warnings (b* (((mv ?warnings ?new-args) (vl-unhierarchicalize-interfaceports args ports ss inst warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm vl-plainarglist-p-of-vl-unhierarchicalize-interfaceports.new-args (b* (((mv ?warnings ?new-args) (vl-unhierarchicalize-interfaceports args ports ss inst warnings))) (vl-plainarglist-p new-args)) :rule-classes :rewrite)
Theorem:
(defthm len-of-vl-unhierarchicalize-interfaceports (b* (((mv ?warnings ?new-args) (vl-unhierarchicalize-interfaceports args ports ss inst warnings))) (equal (len new-args) (len args))))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-of-vl-plainarglist-fix-args (equal (vl-unhierarchicalize-interfaceports (vl-plainarglist-fix args) ports ss inst warnings) (vl-unhierarchicalize-interfaceports args ports ss inst warnings)))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-vl-plainarglist-equiv-congruence-on-args (implies (vl-plainarglist-equiv args args-equiv) (equal (vl-unhierarchicalize-interfaceports args ports ss inst warnings) (vl-unhierarchicalize-interfaceports args-equiv ports ss inst warnings))) :rule-classes :congruence)
Theorem:
(defthm vl-unhierarchicalize-interfaceports-of-vl-portlist-fix-ports (equal (vl-unhierarchicalize-interfaceports args (vl-portlist-fix ports) ss inst warnings) (vl-unhierarchicalize-interfaceports args ports ss inst warnings)))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-vl-portlist-equiv-congruence-on-ports (implies (vl-portlist-equiv ports ports-equiv) (equal (vl-unhierarchicalize-interfaceports args ports ss inst warnings) (vl-unhierarchicalize-interfaceports args ports-equiv ss inst warnings))) :rule-classes :congruence)
Theorem:
(defthm vl-unhierarchicalize-interfaceports-of-vl-scopestack-fix-ss (equal (vl-unhierarchicalize-interfaceports args ports (vl-scopestack-fix ss) inst warnings) (vl-unhierarchicalize-interfaceports args ports ss inst warnings)))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-unhierarchicalize-interfaceports args ports ss inst warnings) (vl-unhierarchicalize-interfaceports args ports ss-equiv inst warnings))) :rule-classes :congruence)
Theorem:
(defthm vl-unhierarchicalize-interfaceports-of-vl-modinst-fix-inst (equal (vl-unhierarchicalize-interfaceports args ports ss (vl-modinst-fix inst) warnings) (vl-unhierarchicalize-interfaceports args ports ss inst warnings)))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-vl-modinst-equiv-congruence-on-inst (implies (vl-modinst-equiv inst inst-equiv) (equal (vl-unhierarchicalize-interfaceports args ports ss inst warnings) (vl-unhierarchicalize-interfaceports args ports ss inst-equiv warnings))) :rule-classes :congruence)
Theorem:
(defthm vl-unhierarchicalize-interfaceports-of-vl-warninglist-fix-warnings (equal (vl-unhierarchicalize-interfaceports args ports ss inst (vl-warninglist-fix warnings)) (vl-unhierarchicalize-interfaceports args ports ss inst warnings)))
Theorem:
(defthm vl-unhierarchicalize-interfaceports-vl-warninglist-equiv-congruence-on-warnings (implies (vl-warninglist-equiv warnings warnings-equiv) (equal (vl-unhierarchicalize-interfaceports args ports ss inst warnings) (vl-unhierarchicalize-interfaceports args ports ss inst warnings-equiv))) :rule-classes :congruence)