Ltac relflag_lc_exists_tac :=
  repeat (match goal with
            | H : _ |- _ =>
              fail 1
          end).Ltac tm_brs_co_constraint_lc_exists_tac :=
  repeat (match goal with
            | H : _ |- _ =>
              let J1 := fresh in pose proof H as J1; apply degree_tm_wrt_tm_of_lc_tm in J1;
              let J2 := fresh in pose proof H as J2; apply degree_tm_wrt_co_of_lc_tm in J2; clear H
            | H : _ |- _ =>
              let J1 := fresh in pose proof H as J1; apply degree_brs_wrt_tm_of_lc_brs in J1;
              let J2 := fresh in pose proof H as J2; apply degree_brs_wrt_co_of_lc_brs in J2; clear H
            | H : _ |- _ =>
              let J1 := fresh in pose proof H as J1; apply degree_co_wrt_tm_of_lc_co in J1;
              let J2 := fresh in pose proof H as J2; apply degree_co_wrt_co_of_lc_co in J2; clear H
            | H : _ |- _ =>
              let J1 := fresh in pose proof H as J1; apply degree_constraint_wrt_tm_of_lc_constraint in J1;
              let J2 := fresh in pose proof H as J2; apply degree_constraint_wrt_co_of_lc_constraint in J2; clear H
          end).

Lemma lc_a_Pi_exists : forall x1 rho1 A1 B1, lc_tm A1 -> lc_tm (open_tm_wrt_tm B1 (a_Var_f x1)) -> lc_tm (a_Pi rho1 A1 B1).