proposition: Lemma subsume_map: forall f, (forall a1 a2, sub a1 a2 -> sub (f a1) (f a2)) -> forall e1 e2, subsume e1 e2 -> subsume (map f e1) (map f e2).
proof: Proof. intros ? hf ? ? hs. intros ? b2 hlm2. generalize (lookup_map_some_reverse _ _ _ hlm2); intros [ ? [ hl2 ? ]]. subst. generalize (hs _ _ hl2); intros [ a1 [ ? ? ]]. eauto using lookup_map_some. Qed.
imports: List Dblib(DblibTactics DeBruijn)