Module congruence
(ext_weak : ext_weak_sig)
(wf : fc_wf_sig)
(weak : fc_weak_sig)
(subst : fc_subst_sig)
(ext_invert : ext_invert_sig).
Module unique := fc_unique wf subst.
Module invert := fc_invert wf weak subst.
Module erasem := erase wf weak subst ext_invert.
Set Bullet Behavior "Strict Subproofs".
Set Implicit Arguments.
(* ------------------------------------------------------------- *)

Lemma map_map : forall a1 x G2,
map erase_sort (map (tm_subst_tm_sort a1 x) G2) =
map (tm_subst_tm_sort (erase a1) x) (map erase_sort G2).