Goal:
  
  A : Type
  l : list A
  n0 : {n : nat | n < #|l|}
  hd : A
  tl : list A
  Heq_l : hd :: tl = l
  n : nat
  Heq_n : S n = proj1_sig n0
  ============================
   (n < #|tl|)


DEBUG:Going to execute:
fun H => let ph := fresh "X" in
                    destruct H as [H ph]