(* -----  exists forms of the binding constructors ----------- *)

Axiom An_Pi_exists : forall x G rho A B,
x `notin` dom G \u fv_tm_tm_tm B
→ AnnTyping ([(x, Tm A)] ++ G)
(open_tm_wrt_tm B (a_Var_f x)) a_Star
→ AnnTyping G A a_Star
→ AnnTyping G (a_Pi rho A B) a_Star.