∀ {R : Type u_1} [inst : CommRing R] {I : Type u_3} [inst_1 : Fintype I] (e : I → R),
  (∀ (i : I), IsIdempotentElem (e i)) →
    (∀ (i j : I), i ≠ j → (1 - e i) * (1 - e j) = 0) →
      ∏ i, e i = 0 → Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e i}))