(* This version of the proof is incredibly slow. *)
(* all: pre; basic_solve. all: try oh_c'mon. all: try invert_open_wrt. all: try pick fresh c for L. all: try eapply lc_a_UCAbs_exists; eauto. all: try apply H; eauto. all: eapply (lc_a_UAbs_exists c). rewrite e. eauto. done. Qed.*)
Definition Typing_lc  := first lc_mutual.
Definition PropWff_lc := second lc_mutual.
Definition Iso_lc     := third lc_mutual.
Definition DefEq_lc   := fourth lc_mutual.
Definition Ctx_lc     := fifth lc_mutual.

Lemma DefEq_lc3 : forall G0 D A B T,   DefEq G0 D A B T -> lc_tm T.
Hint Resolve Typing_lc1 Typing_lc2 Iso_lc1 Iso_lc2 DefEq_lc1 DefEq_lc2 DefEq_lc3 Ctx_lc : lc.