Goal:
    A : Type  P : list A → A → Type  l : list A  a : All_fold P l
  ============================
   (NoConfusionHom_All_fold A P l a a)


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


Goals:
    A : Type  P : list A → A → Type
  ============================
   (NoConfusionHom_All_fold A P [] (All_fold_nil P) (All_fold_nil P))

  
  A : Type
  P : list A → A → Type
  d : A
  Γ : list A
  a : All_fold P Γ
  p : P Γ d
  ============================
   (NoConfusionHom_All_fold A P (d :: Γ) (All_fold_cons P a p)
      (All_fold_cons P a p))


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

Level 2: evaluation returns
idtac of type tacvalue


Goals:
    A : Type  P : list A → A → Type
  ============================
   (NoConfusionHom_All_fold A P [] (All_fold_nil P) (All_fold_nil P))

  
  A : Type
  P : list A → A → Type
  d : A
  Γ : list A
  a : All_fold P Γ
  p : P Γ d
  ============================
   (NoConfusionHom_All_fold A P (d :: Γ) (All_fold_cons P a p)
      (All_fold_cons P a p))


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