Goal:
  
  A : Type
  B : Type
  P : B → B → Type
  Q : A → B → Type
  R : A → B → Type
  l : list A
  l' : list B
  l'' : list B
  ============================
   (All (λ x : A, ∀ y z : B, Q x y → R x z → ∑ v : B, P y v × P z v) l
    → All2 Q l l'
      → All2 R l l'' → ∑ l''' : list B, All2 P l' l''' × All2 P l'' l''')


DEBUG:Going to execute:
intros H; induction H in l', l'' |- *; intros H' H''; inversion H'