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


DEBUG:Going to execute:
simpl; intros;
            match goal with
            | H:_ = _ |- _ = _ => try solve_noconf_hom_inv_equiv
            | H:_ = _ |- _ => try solve_noconf_prf
            | |- _ = _ => try solve_noconf_hom_inv
            end