Core statement rewriter.
(vl-stmt-rewrite x unroll-limit warnings) → (mv warnings new-x)
Theorem:
(defthm return-type-of-vl-stmt-rewrite.warnings (b* (((mv ?warnings ?new-x) (vl-stmt-rewrite x unroll-limit warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmt-rewrite.new-x (b* (((mv ?warnings ?new-x) (vl-stmt-rewrite x unroll-limit warnings))) (vl-stmt-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmtlist-rewrite.warnings (b* (((mv ?warnings ?new-x) (vl-stmtlist-rewrite x unroll-limit warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmtlist-rewrite.new-x (b* (((mv ?warnings ?new-x) (vl-stmtlist-rewrite x unroll-limit warnings))) (and (vl-stmtlist-p new-x) (equal (len new-x) (len x)))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-caselist-rewrite.warnings (b* (((mv ?warnings ?new-x) (vl-caselist-rewrite x unroll-limit warnings))) (vl-warninglist-p warnings)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-caselist-rewrite.new-x (b* (((mv ?warnings ?new-x) (vl-caselist-rewrite x unroll-limit warnings))) (vl-caselist-p new-x)) :rule-classes :rewrite)