Goal:
  
  ============================
   (∀ (A : Type) (P : nat → A → A → Type) (a
                                           b : sigma
                                                 (λ index : 
                                                 sigma
                                                 (λ _ : nat,
                                                 sigma (λ _ : list A, list A)),
                                                 OnOne2i P 
                                                 (pr1 index)
                                                 (pr1 (pr2 index))
                                                 (pr2 (pr2 index)))) 
      (e : NoConfusion_OnOne2i A P a b),
      (λ (A0 : Type) (P0 : nat → A0 → A0 → Type) (a0
                                                 b0 : 
                                                 sigma
                                                 (λ index : 
                                                 sigma
                                                 (λ _ : nat,
                                                 sigma
                                                 (λ _ : list A0, list A0)),
                                                 OnOne2i P0 
                                                 (pr1 index)
                                                 (pr1 (pr2 index))
                                                 (pr2 (pr2 index)))) 
         (H : a0 = b0), noConfusion_OnOne2i_obligation_2 A0 P0 a0 b0 H) A P a
        b
        ((λ (A0 : Type) (P0 : nat → A0 → A0 → Type) 
            (a0
             b0 : sigma
                    (λ index : sigma
                                 (λ _ : nat, sigma (λ _ : list A0, list A0)),
                       OnOne2i P0 (pr1 index) (pr1 (pr2 index))
                         (pr2 (pr2 index)))) (H : 
                                              NoConfusion_OnOne2i A0 P0 a0 b0),
            noConfusion_OnOne2i_obligation_1 A0 P0 a0 b0 H) A P a b e) = e)


DEBUG:Going to execute:
simpl; intros