struct H1 as [[_ EQ] | BI1]. inversion EQ.
  edestruct (H0 c1) as (C & P1 & P2); eauto.
  move: (binds_In _ c1 _ _ BI1) => b0.
  unfold erase_context in b0. move: (dom_map _ _ erase_sort G) => DM. fsetdec.
  exists C. repeat split;
         eapply context_Par_irrelevance; eauto.
Qed.

lc lemmas to cut down the search space. *) Ltac eauto_lc := simpl; eauto using AnnTyping_lc1, Value_lc, AnnDefEq_lc3, AnnPropWff_lc.