Goal:
  
  A : Type
  P : A → A → Type
  idx0 : list A
  idx : list A
  a : OnOne2 P idx0 idx
  ============================
   (noConfusion_OnOne2_obligation_1 A P
      {| pr1 := {| pr1 := idx0; pr2 := idx |}; pr2 := a |}
      {| pr1 := {| pr1 := idx0; pr2 := idx |}; pr2 := a |}
      (noConfusion_OnOne2_obligation_2 A P
         {| pr1 := {| pr1 := idx0; pr2 := idx |}; pr2 := a |}
         {| pr1 := {| pr1 := idx0; pr2 := idx |}; pr2 := a |} eq_refl) =
    eq_refl)


DEBUG:Going to execute:
destruct id
Level 4: evaluation returns
idtac of type tacvalue


Goals:
    A : Type  P : A → A → Type  hd : A  hd' : A  tl : list A  p : P hd hd'
  ============================
   (noConfusion_OnOne2_obligation_1 A P
      {|
        pr1 := {| pr1 := hd :: tl; pr2 := hd' :: tl |};
        pr2 := OnOne2_hd P hd hd' tl p
      |}
      {|
        pr1 := {| pr1 := hd :: tl; pr2 := hd' :: tl |};
        pr2 := OnOne2_hd P hd hd' tl p
      |}
      (noConfusion_OnOne2_obligation_2 A P
         {|
           pr1 := {| pr1 := hd :: tl; pr2 := hd' :: tl |};
           pr2 := OnOne2_hd P hd hd' tl p
         |}
         {|
           pr1 := {| pr1 := hd :: tl; pr2 := hd' :: tl |};
           pr2 := OnOne2_hd P hd hd' tl p
         |} eq_refl) = eq_refl)

  
  A : Type
  P : A → A → Type
  hd : A
  tl : list A
  tl' : list A
  a : OnOne2 P tl tl'
  ============================
   (noConfusion_OnOne2_obligation_1 A P
      {|
        pr1 := {| pr1 := hd :: tl; pr2 := hd :: tl' |};
        pr2 := OnOne2_tl P hd tl tl' a
      |}
      {|
        pr1 := {| pr1 := hd :: tl; pr2 := hd :: tl' |};
        pr2 := OnOne2_tl P hd tl tl' a
      |}
      (noConfusion_OnOne2_obligation_2 A P
         {|
           pr1 := {| pr1 := hd :: tl; pr2 := hd :: tl' |};
           pr2 := OnOne2_tl P hd tl tl' a
         |}
         {|
           pr1 := {| pr1 := hd :: tl; pr2 := hd :: tl' |};
           pr2 := OnOne2_tl P hd tl tl' a
         |} eq_refl) = eq_refl)


DEBUG:Going to execute:
simpl
Level 2: evaluation returns
idtac of type tacvalue

Level 2: evaluation returns
idtac of type tacvalue


Goals:
    A : Type  P : A → A → Type  hd : A  hd' : A  tl : list A  p : P hd hd'
  ============================
   (eq_refl = eq_refl)

  
  A : Type
  P : A → A → Type
  hd : A
  tl : list A
  tl' : list A
  a : OnOne2 P tl tl'
  ============================
   (eq_refl = eq_refl)


DEBUG:Going to execute:
constructor

Goals:
    A : Type  P : A → A → Type  hd : A  hd' : A  tl : list A  p : P hd hd'
  ============================
   (eq_refl = eq_refl)

  
  A : Type
  P : A → A → Type
  hd : A
  tl : list A
  tl' : list A
  a : OnOne2 P tl tl'
  ============================
   (eq_refl = eq_refl)


DEBUG:Going to execute:
<coq-core.plugins.ltac::constructor@0>