Proof using.
intros tr tr' H_in H_eq.
apply correct_filterMap_trace_non_empty_out_input_correct.
rewrite <- H_eq.
apply correct_input_correct_filterMap_trace_non_empty_out; auto.
Qed.

Lemma get_input_tr_filterMap_trace_non_empty_out :
forall tr,
get_input tr = get_input (filterMap trace_non_empty_out tr).