∀ {ι : Type u_1} [Finite ι] [inst : DecidableEq ι] {M : ι → Type u_7} [inst_1 : (i : ι) → AddCommMonoid (M i)]
  (p : ((i : ι) → M i) → Prop) (f : (i : ι) → M i),
  p 0 → (∀ (f g : (i : ι) → M i), p f → p g → p (f + g)) → (∀ (i : ι) (m : M i), p (Pi.single i m)) → p f