Goal:
  
  A : Type
  B : Type
  C : Type
  D : B → C → Type
  l : list B
  l' : list C
  a : A
  all : All2 (λ (x : B) (y : C), A → D x y) l l'
  ============================
   (∀ (x : B) (y : C), (A → D x y) → D x y)


DEBUG:Going to execute:
auto
DEBUG LTAC Evaluated term: (All2_impl all)