Goal:
  
  A : Type
  B : Type
  R : A → B → Prop
  R' : A → B → Prop
  l : list A
  l' : list B
  a : Forall2 R l l'
  ============================
   (Forall2 R' l l' → Forall2_dep (λ (x : A) (y : B) (_ : R x y), R' x y) a)


DEBUG:Going to execute:
induction a using Forall2_rect

Goals:
    A : Type  B : Type  R : A → B → Prop  R' : A → B → Prop
  ============================
   (Forall2 R' [] []
    → Forall2_dep (λ (x : A) (y : B) (_ : R x y), R' x y) (Forall2_nil R))

  
  A : Type
  B : Type
  R : A → B → Prop
  R' : A → B → Prop
  x : A
  y : B
  l : list A
  l' : list B
  r : R x y
  a : Forall2 R l l'
  IHa : Forall2 R' l l'
        → Forall2_dep (λ (x : A) (y : B) (_ : R x y), R' x y) a
  ============================
   (Forall2 R' (x :: l) (y :: l')
    → Forall2_dep (λ (x : A) (y : B) (_ : R x y), R' x y)
        (Forall2_cons x y r a))


DEBUG:Going to execute:
inversion 1
DEBUG LTAC Evaluated term: Forall2_rect
DEBUG LTAC Evaluated term: a