Goal:
  
  A : Type
  P : nat → A → A → Type
  i : nat
  hd : A
  hd' : A
  tl : list A
  p : P i hd hd'
  ============================
   (∑ (i : nat) (x y : A) (u v : list A),
      P i x y × hd :: tl = u ++ x :: v ∧ hd' :: tl = u ++ y :: v)


DEBUG:Going to execute:
<coq-core.plugins.ltac::exists@1> $1
DEBUG LTAC Evaluated term: h