Set Bullet Behavior "Strict Subproofs".
Set Implicit Arguments.
Require Export FcEtt.tactics.
Require Export FcEtt.imports.
Require Export FcEtt.ett_inf.
Require Export FcEtt.ett_ott.
Require Export FcEtt.ett_ind.
Require Export FcEtt.ext_context_fv.
Require Export FcEtt.toplevel.
(* ------------------------------------------ *)
(* Paths *)
Hint Resolve Path_tm_subst_tm_tm Path_co_subst_co_tm : lngen.
(* DataTy *)
Hint Resolve DataTy_tm_subst_tm_tm DataTy_co_subst_co_tm : lngen.
(* ------------------------------------------- *)
Definition decide_Path : forall a, lc_tm a -> (exists T, Path T a) \/ (forall T, not (Path T a)).
(* ------------------------------------------- *)
(* Values and CoercedValues *)

Lemma tm_subst_tm_tm_Value_mutual :
(forall v,  CoercedValue v -> forall b x,  lc_tm b -> CoercedValue (tm_subst_tm_tm b x v)) /\
(forall v, Value v -> forall b x,  lc_tm b -> Value (tm_subst_tm_tm b x v)).