Generate the hints to prove the theorem that expresses the new function in terms of the old function, when the functions are recursive and some result of a multi-value function is being transformed.
(expdata-gen-new-to-old-thm-hints-rec-mres appcond-thm-names old$ arg-surjmaps res-surjmaps new$ old-fn-unnorm-name new-fn-unnorm-name wrld) → hints
Function:
(defun expdata-gen-new-to-old-thm-hints-rec-mres (appcond-thm-names old$ arg-surjmaps res-surjmaps new$ old-fn-unnorm-name new-fn-unnorm-name wrld) (declare (xargs :guard (and (symbol-symbol-alistp appcond-thm-names) (symbolp old$) (expdata-symbol-surjmap-alistp arg-surjmaps) (expdata-pos-surjmap-alistp res-surjmaps) (symbolp new$) (symbolp old-fn-unnorm-name) (symbolp new-fn-unnorm-name) (plist-worldp wrld)))) (let ((__function__ 'expdata-gen-new-to-old-thm-hints-rec-mres)) (declare (ignorable __function__)) (b* ((rec-calls (recursive-calls old$ wrld)) (oldp-of-rec-call-args (cdr (assoc-eq :oldp-of-rec-call-args appcond-thm-names))) (oldp-of-old (cdr (assoc-eq :oldp-of-old appcond-thm-names))) (instance-oldp-of-rec-call-args (expdata-gen-lemma-instance-x1...xn-to-back-of-x1...xn oldp-of-rec-call-args old$ arg-surjmaps wrld)) (instances-oldp-of-old (expdata-gen-lemma-instances-x1...xn-to-rec-call-args-back oldp-of-old rec-calls old$ arg-surjmaps wrld)) (instances-back-image (expdata-gen-back-image-instances-to-x1...xn arg-surjmaps wrld)) (instances-forth-image (expdata-gen-all-forth-image-instances-to-terms-back rec-calls old$ arg-surjmaps wrld)) (instances-back-of-forth (expdata-gen-all-back-of-forth-instances-to-terms-back rec-calls old$ arg-surjmaps wrld)) (instances-back-of-forth-res (expdata-gen-all-back-of-forth-instances-to-mv-nth rec-calls res-surjmaps wrld))) (cons (cons '"Goal" (cons ':in-theory (cons (cons 'quote (cons (cons old-fn-unnorm-name (cons new-fn-unnorm-name (cons (cons ':induction (cons new$ 'nil)) 'nil))) 'nil)) (cons ':induct (cons (cons new$ (formals old$ wrld)) 'nil))))) (cons (cons 'quote (cons (cons ':use (cons (cons instance-oldp-of-rec-call-args (append instances-oldp-of-old (append instances-back-image (append instances-forth-image (append instances-back-of-forth instances-back-of-forth-res))))) 'nil)) 'nil)) 'nil)))))