proposition: Lemma EConv_Conv : forall (e : env) (a b Ta Tb : term), typ e a Ta -> typ e b Tb -> Econv a b -> Econv Ta Tb -> conv a b.
proof: Proof. intros. generalize (typ_is_nf e a Ta H). generalize (typ_is_nf e b Tb H0). intros (x, H3) (x0, H4); intuition. cut (x = x0). intros. rewrite <- H7 in H3. apply trans_conv_conv with x; auto with coc. apply sym_conv; auto with coc. apply Econv_eq with e Tb Ta; auto with coc ecoc. apply typ_Etyp; trivial. apply typ_Etyp; trivial. apply normal_Econv_NF_conv; trivial. apply trans_Econv_Econv with b. apply sym_Econv; apply Ered_Econv; auto with ecoc. apply trans_Econv_Econv with a; auto with ecoc. apply Ered_Econv; auto with ecoc. Qed.
imports: Termes Conv Ered Types ETypes Conv_Dec Strong_Norm