Goal:
    A : Type  B : Type  P : A → B → Prop  l : list A  l' : list B
  ============================
   (Forall2 P l l' → l ≠ [] → l' ≠ [])


DEBUG:Going to execute:
induction 1

Goals:
    A : Type  B : Type  P : A → B → Prop
  ============================
   ([] ≠ [] → [] ≠ [])

  
  A : Type
  B : Type
  P : A → B → Prop
  x : A
  y : B
  l : list A
  l' : list B
  H : P x y
  H0 : Forall2 P l l'
  IHForall2 : l ≠ [] → l' ≠ []
  ============================
   (x :: l ≠ [] → y :: l' ≠ [])


DEBUG:Going to execute:
congruence

Goals:
    A : Type  B : Type  P : A → B → Prop
  ============================
   ([] ≠ [] → [] ≠ [])

  
  A : Type
  B : Type
  P : A → B → Prop
  x : A
  y : B
  l : list A
  l' : list B
  H : P x y
  H0 : Forall2 P l l'
  IHForall2 : l ≠ [] → l' ≠ []
  ============================
   (x :: l ≠ [] → y :: l' ≠ [])


DEBUG:Going to execute:
<coq-core.plugins.cc::cc@0> $1