fact: Fixpoint ren_term (xipoly_type : ( nat ) -> nat ) (xiterm : ( nat ) -> nat ) (s : term ) : term := match s return term with | var s => (var ) (xiterm s) | app s0 s1 => app (ren_term xipoly_type xiterm s0) (ren_term xipoly_type xiterm s1) | abs s0 s1 => abs (ren_poly_type xipoly_type s0) (ren_term (upRen_term_poly_type xipoly_type) (upRen_term_term xiterm) s1) | ty_app s0 s1 => ty_app (ren_term xipoly_type xiterm s0) (ren_poly_type xipoly_type s1) | ty_abs s0 => ty_abs (ren_term (upRen_poly_type_poly_type xipoly_type) (upRen_poly_type_term xiterm) s0) end.
imports: Undecidability.SystemF.Autosubst.unscoped Undecidability.SystemF.SysF Morphisms