Special flattening of unnamed
(vl-genelementlist-flatten x genp newitems warnings) → (mv warnings newitems)
See implicit-wires-generate-scoping. Here we flatten the
unnamed begin/end blocks and take care of weird special cases like
checking that generates have no ports, converting
Theorem:
(defthm return-type-of-vl-genblock-flatten.warnings (b* (((mv ?warnings ?new-x) (vl-genblock-flatten x warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblock-flatten.new-x (b* (((mv ?warnings ?new-x) (vl-genblock-flatten x warnings))) (vl-genblock-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genelementlist-flatten.warnings (b* (((mv ?warnings ?newitems) (vl-genelementlist-flatten x genp newitems warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genelementlist-flatten.newitems (b* (((mv ?warnings ?newitems) (vl-genelementlist-flatten x genp newitems warnings))) (vl-genelementlist-p newitems)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genelement-flatten.warnings (b* (((mv ?warnings ?newitems) (vl-genelement-flatten x genp newitems warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genelement-flatten.newitems (b* (((mv ?warnings ?newitems) (vl-genelement-flatten x genp newitems warnings))) (vl-genelementlist-p newitems)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-gencaselist-flatten.warnings (b* (((mv ?warnings ?new-cases) (vl-gencaselist-flatten cases warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-gencaselist-flatten.new-cases (b* (((mv ?warnings ?new-cases) (vl-gencaselist-flatten cases warnings))) (vl-gencaselist-p new-cases)) :rule-classes :rewrite)