(* ------------------------------------- *)
(* This is proved in the preservation file. Lemma reduction_erasure : forall G a a', head_reduction G a a' -> reduction_in_one (erase a) (erase a') \/ erase a = erase a'. *)
(* ------------------------------------- *)

Lemma multi_An_AppLeft : ∀ (G : context) (a b: tm) rho (a' : tm),
lc_tm b → multi (head_reduction G) a a'
→ multi (head_reduction G) (a_App a rho b) (a_App a' rho b).