Goal:
  
  A : Type
  B : Type
  P : A → B → Prop
  t : A
  l : list A
  e : Some t = Some t
  y : B
  l' : list B
  H : P t y
  h : Forall2 P l l'
  ============================
   (nth_error (y :: l') 0 = Some y ∧ P t y)


DEBUG:Going to execute:
fun => <coq-core.plugins.ltac::split@0>

Goals:
  
  A : Type
  B : Type
  P : A → B → Prop
  t : A
  l : list A
  e : Some t = Some t
  y : B
  l' : list B
  H : P t y
  h : Forall2 P l l'
  ============================
   (nth_error (y :: l') 0 = Some y)

  
  A : Type
  B : Type
  P : A → B → Prop
  t : A
  l : list A
  e : Some t = Some t
  y : B
  l' : list B
  H : P t y
  h : Forall2 P l l'
  ============================
   (P t y)


DEBUG:Going to execute:
auto

Goals:
  
  A : Type
  B : Type
  P : A → B → Prop
  t : A
  l : list A
  e : Some t = Some t
  y : B
  l' : list B
  H : P t y
  h : Forall2 P l l'
  ============================
   (nth_error (y :: l') 0 = Some y)

  
  A : Type
  B : Type
  P : A → B → Prop
  t : A
  l : list A
  e : Some t = Some t
  y : B
  l' : list B
  H : P t y
  h : Forall2 P l l'
  ============================
   (P t y)


DEBUG:Going to execute:
<coq-core.plugins.ltac::auto@0> $1 $2 $3