Goal:
  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  l : list A
  l' : list B
  h : Forall2 R (map f l) (map g l')
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) l l')


DEBUG:Going to execute:
induction l in l', h |- *

Goals:
  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  l' : list B
  h : Forall2 R (map f []) (map g l')
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) [] l')

  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  a : A
  l : list A
  l' : list B
  h : Forall2 R (map f (a :: l)) (map g l')
  IHl : ∀ l' : list B,
          Forall2 R (map f l) (map g l')
          → Forall2 (λ (x : A) (y : B), R (f x) (g y)) l l'
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) (a :: l) l')


DEBUG:Going to execute:
destruct l'
DEBUG LTAC Evaluated term: l

Goals:
  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  h : Forall2 R (map f []) (map g [])
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) [] [])

  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  b : B
  l' : list B
  h : Forall2 R (map f []) (map g (b :: l'))
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) [] (b :: l'))

  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  a : A
  l : list A
  h : Forall2 R (map f (a :: l)) (map g [])
  IHl : ∀ l' : list B,
          Forall2 R (map f l) (map g l')
          → Forall2 (λ (x : A) (y : B), R (f x) (g y)) l l'
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) (a :: l) [])

  
  A : Type
  B : Type
  A' : Type
  B' : Type
  R : A' → B' → Prop
  f : A → A'
  g : B → B'
  a : A
  l : list A
  b : B
  l' : list B
  h : Forall2 R (map f (a :: l)) (map g (b :: l'))
  IHl : ∀ l' : list B,
          Forall2 R (map f l) (map g l')
          → Forall2 (λ (x : A) (y : B), R (f x) (g y)) l l'
  ============================
   (Forall2 (λ (x : A) (y : B), R (f x) (g y)) (a :: l) (b :: l'))


DEBUG:Going to execute:
try (solve [ inversion h ])
DEBUG LTAC Evaluated term: l'
DEBUG LTAC Evaluated term: l'