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.

move: (IHa0 _ IR ltac:(eauto) ltac:(auto)) => [a0' [? ?]]; exists (a_Conv a0' g); split; [ eapply multi_An_ConvTerm; eauto with lc | simpl; auto