Goal:
  
  A : Type
  B : Type
  C : Type
  P : A → B → Prop
  Q : B → C → Prop
  l : list A
  l' : list B
  l'' : list C
  ============================
   (Forall2 P l l'
    → Forall2 Q l' l''
      → Forall3 (λ (x : A) (y : B) (z : C), P x y ∧ Q y z) l l' l'')


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

Goals:
  
  A : Type
  B : Type
  C : Type
  P : A → B → Prop
  Q : B → C → Prop
  l'' : list C
  ============================
   (Forall2 Q [] l''
    → Forall3 (λ (x : A) (y : B) (z : C), P x y ∧ Q y z) [] [] l'')

  
  A : Type
  B : Type
  C : Type
  P : A → B → Prop
  Q : B → C → Prop
  l'' : list C
  x : A
  y : B
  l : list A
  l' : list B
  H : P x y
  H0 : Forall2 P l l'
  IHForall2 : ∀ l'' : list C,
                Forall2 Q l' l''
                → Forall3 (λ (x : A) (y : B) (z : C), P x y ∧ Q y z) l l' l''
  ============================
   (Forall2 Q (y :: l') l''
    → Forall3 (λ (x : A) (y : B) (z : C), P x y ∧ Q y z) 
        (x :: l) (y :: l') l'')


DEBUG:Going to execute:
intro HQ