Ltac nosub t2 :=  destruct t2; try solve[ left; auto]; right; done.

(* Specifications: *)
Lemma tm_eq_dec_mutual : ((forall t1 t2 : tm, {t1 = t2} + {~ t1 = t2}) * (forall t1 t2 : brs, {t1 = t2} + {~ t1 = t2}) * (forall t1 t2 : co, {t1 = t2} + {~ t1 = t2}) * (forall t1 t2 : constraint, {t1 = t2} + {~ t1 = t2})).
Lemma tm_eq_dec : forall t1 t2 : tm, {t1 = t2} + {~ t1 = t2}.
Lemma co_eq_dec : forall g1 g2 : co, {g1 = g2} + {~ g1 = g2}.
Lemma Path_dec : forall a, lc_tm a -> { T | Path T a } + { (forall T, not (Path T a)) }.