Try to convert translated MV forms back into their MV-LET/MV form.
(reincarnate-mvs x world) → (mv errmsg new-x)
Theorem:
(defthm return-type-of-reincarnate-mvs.new-x (b* (((mv ?errmsg ?new-x) (reincarnate-mvs x world))) (implies (ute-term-p x) (ute-term-p new-x))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-reincarnate-mvs-list.new-x (b* (((mv ?errmsg ?new-x) (reincarnate-mvs-list x world))) (and (implies (ute-termlist-p x) (ute-termlist-p new-x)) (equal (len new-x) (len x)))) :rule-classes :rewrite)