Module pure_typable_intro_prenex_aux.

Lemma aux_pure_typing_N0 {s n Gamma e }:
is_simple s ->
allfv_poly_type (gt (n+e)) s ->
allfv_poly_type (fun x => nth_error Gamma x = Some (poly_var x)) (many_poly_abs n s) ->
nth_error Gamma e = Some poly_abba ->
pure_typing Gamma (many_pure_term_abs n (trace_poly_type (n+e) s))
(Nat.iter n (fun s' : poly_type => poly_abs (poly_arr (poly_var 0) s')) s).