Module pure_typable_intro_prenex_aux.

(* show that (g y .. y) where y : a is typable for pure_typable_intro_prenex *)
Lemma aux_pure_typable_gys {Gamma x M n s} :
nth_error Gamma x = Some (poly_var 0) ->
pure_typing Gamma M (Nat.iter n (fun s' : poly_type => poly_abs (poly_arr (poly_var 0) s')) s) ->
pure_typable Gamma (many_pure_app M (repeat (pure_var x) n)).