(* A specialized version of eauto that only uses the most common
   lc lemmas to cut down the search space. *)
Ltac eauto_lc := simpl; eauto using AnnTyping_lc1, Value_lc,
                        AnnDefEq_lc3, AnnPropWff_lc.

(* Specifications: *)
Lemma head_reduction_in_one : forall G a b, head_reduction G a b -> forall A, AnnTyping G a A -> reduction_in_one (erase a) (erase b) \/ erase a = erase b.
Lemma head_reduction_erased : forall G a b, head_reduction G a b -> forall A, AnnTyping G a A -> Par G (dom G) (erase a) (erase b).
Lemma preservation : forall G a A, AnnTyping G a A -> forall a', head_reduction G a a' -> AnnTyping G a' A.