Module e_red := ext_red e_invert.Module invert := fc_invert wf weak subst.Module unique := fc_unique wf subst.

(* ------------------------------------------ *) Lemma erase_mutual : (forall G a A, AnnTyping G a A -> Typing (erase_context G) (erase a) (erase A)) /\ (forall G phi, AnnPropWff G phi -> PropWff (erase_context G) (erase phi)) /\ (forall G D g p1 p2, AnnIso G D g p1 p2 -> Iso (erase_context G) D (erase_constraint p1) (erase_constraint p2)) /\ (forall G D g a b, AnnDefEq G D g a b -> forall A, AnnTyping G a A ->