Transform a translation unit.
(split-fn-transunit target-fn new-fn-name tunit split-point) → (mv er new-tunit)
Function:
(defun split-fn-transunit (target-fn new-fn-name tunit split-point) (declare (xargs :guard (and (identp target-fn) (identp new-fn-name) (transunitp tunit) (natp split-point)))) (let ((__function__ 'split-fn-transunit)) (declare (ignorable __function__)) (b* (((transunit tunit) tunit) ((mv er extdecls) (split-fn-extdecl-list target-fn new-fn-name tunit.decls split-point))) (mv er (transunit extdecls)))))
Theorem:
(defthm transunitp-of-split-fn-transunit.new-tunit (b* (((mv acl2::?er ?new-tunit) (split-fn-transunit target-fn new-fn-name tunit split-point))) (transunitp new-tunit)) :rule-classes :rewrite)