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

Lemma erase_capp :
forall AB0 C G, AnnTyping G AB0 C -> forall A, erase AB0 = (a_CApp A g_Triv) ->
exists a1 g0 g D, erase AB0 = erase (a_CApp a1 g0) /\ erase a1 = A /\
AnnTyping G (a_CApp a1 g0) D /\ AnnDefEq G (dom G) g C D.