Goal:
  
  hd : A.t
  tl : t
  X : lt_ tl tl
  IHX : let H := CoreTactics.block in
        forall x : t,
        {| pr1 := x; pr2 := x |} = {| pr1 := tl; pr2 := tl |} ->
        let H0 := CoreTactics.block in let H1 := CoreTactics.block in False
  ============================
   (let H := CoreTactics.block in let H0 := CoreTactics.block in False)


DEBUG:Going to execute:
fail 1

Goals:
    hd : A.t  tl : list A.t  H : A.lt hd hd
  ============================
   (let H := CoreTactics.block in let H0 := CoreTactics.block in False)

  
  hd : A.t
  tl : t
  X : lt_ tl tl
  IHX : let H := CoreTactics.block in
        forall x : t,
        {| pr1 := x; pr2 := x |} = {| pr1 := tl; pr2 := tl |} ->
        let H0 := CoreTactics.block in let H1 := CoreTactics.block in False
  ============================
   (let H := CoreTactics.block in let H0 := CoreTactics.block in False)


DEBUG:Going to execute:
DepElim.simplify_IH_hyps
Level 2: Backtrace:

Tactic failure (level 1).
Level 1: Backtrace:

Tactic failure.
Level 0: Backtrace:

Tactic failure.

Goals:
    hd : A.t  tl : list A.t  H : A.lt hd hd
  ============================
   (let H := CoreTactics.block in let H0 := CoreTactics.block in False)

  
  hd : A.t
  tl : t
  X : lt_ tl tl
  IHX : let H := CoreTactics.block in
        forall x : t,
        {| pr1 := x; pr2 := x |} = {| pr1 := tl; pr2 := tl |} ->
        let H0 := CoreTactics.block in let H1 := CoreTactics.block in False
  ============================
   (let H := CoreTactics.block in let H0 := CoreTactics.block in False)


DEBUG:Going to execute:
repeat
            match goal with
            | hyp:context [ CoreTactics.block ]
              |- _ =>
                  cbn beta in hyp; eqns_specialize_eqs_block hyp;
                   cbn[eq_rect_r eq_rect] in hyp
            end