Module pres := fc_preservation wf weak subst e_subst.
(* Why does this cause so many messages? *)
Hint Resolve erased_tm_erase : erased.
Definition AnnGood G D := Good (erase_context G) D.
unfold AnnGood. simpl. unfold Good. unfold erased_context.
split. auto.
intros.
unfold binds in H. inversion H.
Qed.
(* --------- Paths infect the cannonical forms lemmas for functions --------- *)

Lemma consistent_a_Pi :
forall G A B C g rho,
AnnGood G (dom G) -> value_type C ->
AnnDefEq G (dom G) g C (a_Pi rho A B) -> exists A' B', C = a_Pi rho A' B'.