Goal:
    A : Type  P : A → A → Type  Q : A → Type  l : list A
  ============================
   (All Q l → (∀ x : A, Q x → P x x) → All2 P l l)


DEBUG:Going to execute:
induction 1; constructor