(* ---------------------------------------------- *)

Lemma An_CPi_exists2
: ∀ (c : atom) (G : context) (phi : constraint) (B : tm),
c `notin` union (dom G) (fv_co_co_tm B)
→ AnnTyping ([(c, Co phi)] ++ G) (open_tm_wrt_co B (g_Var_f c)) a_Star
→ AnnTyping G (a_CPi phi B) a_Star.