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


DEBUG:Going to execute:
induction 1

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

  
  A : Type
  B : Type
  P : A → B → Type
  x : A
  y : B
  l : list A
  l' : list B
  r : P x y
  X : All2 P l l'
  IHX : l ≠ [] → l' ≠ []
  ============================
   (x :: l ≠ [] → y :: l' ≠ [])


DEBUG:Going to execute:
congruence

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

  
  A : Type
  B : Type
  P : A → B → Type
  x : A
  y : B
  l : list A
  l' : list B
  r : P x y
  X : All2 P l l'
  IHX : l ≠ [] → l' ≠ []
  ============================
   (x :: l ≠ [] → y :: l' ≠ [])


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