(vl-initial-stmtrewrite x unroll-limit warnings) → (mv warnings new-x)
Function:
(defun vl-initial-stmtrewrite (x unroll-limit warnings) (declare (xargs :guard (and (vl-initial-p x) (natp unroll-limit) (vl-warninglist-p warnings)))) (let ((__function__ 'vl-initial-stmtrewrite)) (declare (ignorable __function__)) (b* (((mv warnings stmt) (vl-stmt-rewrite-top (vl-initial->stmt x) unroll-limit warnings)) (x-prime (change-vl-initial x :stmt stmt))) (mv warnings x-prime))))
Theorem:
(defthm vl-warninglist-p-of-vl-initial-stmtrewrite.warnings (implies (and (force (vl-initial-p x)) (force (natp unroll-limit)) (force (vl-warninglist-p warnings))) (b* (((mv ?warnings ?new-x) (vl-initial-stmtrewrite x unroll-limit warnings))) (vl-warninglist-p warnings))) :rule-classes :rewrite)
Theorem:
(defthm vl-initial-p-of-vl-initial-stmtrewrite.new-x (implies (and (force (vl-initial-p x)) (force (natp unroll-limit)) (force (vl-warninglist-p warnings))) (b* (((mv ?warnings ?new-x) (vl-initial-stmtrewrite x unroll-limit warnings))) (vl-initial-p new-x))) :rule-classes :rewrite)