Goal:
  
  A : Type
  t : A
  P : nat → A → A → Type
  i : nat
  hd' : A
  tl : list A
  p : P i t hd'
  X : A → A → Type
  ============================
   ((t = hd') + P i t hd')%type


DEBUG:Going to execute:
clear id0