Section SysF_TYP_to_SysF_TC.
Variables M0 : pure_term.
Definition Gamma_M0 := [poly_abs (poly_var 0)].
Definition M_M0 := pure_app (pure_var 0) (many_pure_term_abs (pure_var_bound M0) M0).
Definition t_M0 := poly_var 0.
(* overall, we show that M0 is typable iff Gamma_M0 ⊢ M_M0 : t_M0 holds *)

(* type checking to typability *)
Lemma inverse_transport :
SysF_TC (Gamma_M0, M_M0, t_M0) -> SysF_TYP M0.