Goal:
  
  A : Type
  B : Type
  R : A → B → Type
  R' : ∀ (a : A) (b : B), R a b → Type
  e : apply_noConfusion [] []
        (Logic.True_rect_dep
           (λ H : True,
              eq_rect [] (λ xs : list A, sigma (λ ys : list B, All2 R xs ys))
                {| pr1 := []; pr2 := All2_nil |} []
                match H with
                | I => eq_refl
                end = {| pr1 := []; pr2 := All2_nil |} → Prop)
           (DepElim.eq_simplification_sigma1_dep [] [] All2_nil All2_nil
              (apply_noConfusion [] []
                 (Logic.True_rect_dep
                    (λ H : True,
                       eq_rect [] (λ ys : list B, All2 R [] ys) All2_nil []
                         match H with
                         | I => eq_refl
                         end = All2_nil → Prop)
                    (apply_noConfusion All2_nil All2_nil (λ _ : True, True))))))
        eq_refl eq_refl
  ============================
   (noConfusionHom_All2_dep_obligation_2 A B R R' [] [] All2_nil All2_dep_nil
      All2_dep_nil
      (noConfusionHom_All2_dep_obligation_1 A B R R' [] [] All2_nil
         All2_dep_nil All2_dep_nil e) = e)


DEBUG:Going to execute:
hnf in id
Level 5: evaluation returns
hnf in id; CoreTactics.destruct_tele_eq id || DepElim.depelim id
where
id := e
of type
constr
b := b
of type
constr
a := a0
of type
constr of type tacvalue