Proof using.
intros.
prep_induction H.
induction H using refl_trans_1n_trace_n1_ind; intros; subst.
- find_inversion. auto.
- destruct x'. simpl in *.
eapply MRRIR_step_failure; [|eauto].
eauto.
Qed.

(* Specifications: *)
Lemma map_subset :
forall A B (f : A -> B) l l',
(forall x, In x (map f l') -> In x (map f l)) ->
exists l'',
map f l' = map f l'' /\
(forall x, In x l'' -> In x l).