∀ {M : Type u_1} [inst : AddCommMonoid M] {s : Set M} (a : M) (motive : (∃ P, P.FG ∧ s = a +ᵥ ↑P) → Prop)
  (x : ∃ P, P.FG ∧ s = a +ᵥ ↑P),
  (∀ (P : AddSubmonoid M) (t : Finset M) (hP : AddSubmonoid.closure ↑t = P) (hs : s = a +ᵥ ↑P), motive ⋯) → motive x