Olson's growth dichotomy: or
ProvedErdos131.olson_thm2_2Let be an abelian group, let be a finite set with , and let . Write for the -fold sumset and for the subgroup generated by . Because the iterates increase, , and the theorem says that they increase quickly until they stop:
So each new summand buys at least new elements, for as long as the whole generated subgroup has not yet been filled.
Proof idea (Olson). It suffices to prove the single-step bound for with ; the stated inequality then follows by iteration, using that and are integers to replace by . For the step, must be a proper subset of , since otherwise the iterates are eventually constant and is a finite subgroup equal to . Pick and write with , . Defining by and applying the Kemperman--Wehn theorem to the sumset at the element , the set has at least elements. Then , while is disjoint from precisely because . Counting the two disjoint pieces inside gives , and combining this with the definition of eliminates and yields the step.
Sharpness. Olson's own remark: let be a finite subgroup and with , and take . For each , either or , which is exactly since is even. So neither the constant nor the dichotomy can be improved.
Formalization notes.
The iterated sumset. n • A is Mathlib's pointwise scalar iteration on Finset G, characterised by zero_nsmul : 0 • A = {0} and succ_nsmul : (n+1) • A = n • A + A. It is the sumset , not the image .
The generated subgroup. is AddSubgroup.closure (A : Set G). The alternative is stated as an equality of subsets of , coercing the finite set n • A into Set G, because carries no finiteness a priori — the content of that disjunct is exactly that the generated subgroup is finite and already exhausted by summands.
The floor. is (A.card + 1) / 2, natural-number division, matching the source's bracket notation (" denotes the greatest integer in ").
Truncated subtraction. n - 1 is -subtraction. The hypothesis hn : 0 < n is the source's " is a positive integer" and is genuinely needed: at one has , so for any with both alternatives fail.
Commutativity. Olson states Theorem 2.2 for an arbitrary group, and his proof is valid there. The card records the abelian case, [AddCommGroup G], which is what the rest of this mission consumes.
import Definitions.Def_Erdos131_NonDividing import Mathlib.Tactic open Erdos131 open scoped Pointwise
theorem Erdos131.olson_thm2_2 {G : Type*} [AddCommGroup G] [DecidableEq G]
(A : Finset G) (hA : (0 : G) ∈ A) (n : ℕ) (hn : 0 < n) :
((n • A : Finset G) : Set G) = (AddSubgroup.closure (A : Set G) : Set G) ∨
A.card + (n - 1) * ((A.card + 1) / 2) ≤ (n • A).card := by sorry