Apply the stmttemps transform to a statement
(vl-stmt-stmttemps x delta elem) → (mv new-x delta)
Theorem:
(defthm return-type-of-vl-stmt-stmttemps.new-x (implies (and (force (vl-stmt-p x)) (force (vl-delta-p delta)) (force (vl-modelement-p elem))) (b* (((mv ?new-x ?delta) (vl-stmt-stmttemps x delta elem))) (vl-stmt-p new-x))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmt-stmttemps.delta (implies (and (force (vl-stmt-p x)) (force (vl-delta-p delta)) (force (vl-modelement-p elem))) (b* (((mv ?new-x ?delta) (vl-stmt-stmttemps x delta elem))) (vl-delta-p delta))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmtlist-stmttemps.new-x (implies (and (force (vl-stmtlist-p x)) (force (vl-delta-p delta)) (force (vl-modelement-p elem))) (b* (((mv ?new-x ?delta) (vl-stmtlist-stmttemps x delta elem))) (and (vl-stmtlist-p new-x) (equal (len new-x) (len x))))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-stmtlist-stmttemps.delta (implies (and (force (vl-stmtlist-p x)) (force (vl-delta-p delta)) (force (vl-modelement-p elem))) (b* (((mv ?new-x ?delta) (vl-stmtlist-stmttemps x delta elem))) (vl-delta-p delta))) :rule-classes :rewrite)