∀ (C : Type u_1) [inst : CategoryTheory.Category.{v_1, u_1} C] [inst_1 : CategoryTheory.Preadditive C],
  CategoryTheory.IsIdempotentComplete C ↔
    ∀ (X : C) (p : X ⟶ X), CategoryTheory.CategoryStruct.comp p p = p → CategoryTheory.Limits.HasKernel p