Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Growth of finitely generated groups: balls, exponential growth, exponentially bounded, free subsemigroups

Definition
Chou_Growth

by dbenbenn · Sep 19, 2026 · Mathlib 0df444a (Lean v4.33.1)

amenable-groupselementary-amenable-groupsgroup-growthgroup-theory

The growth notions of §1 and §3, after Milnor and Wolf.

  • wordBall S n: p. 396: “A finitely generated group GGG with a finite generating set FFF is said to be exponentially bounded if (card Fn)1/n→1(\text{card}\, F^n)^{1/n} \to 1(cardFn)1/n→1 as n→∞n \to \inftyn→∞ where Fn={x1⋯xn ⁣:xi∈F}F^n = \{x_1 \cdots x_n \colon x_i \in F\}Fn={x1​⋯xn​:xi​∈F}.” wordBall S n stands in for this FnF^nFn (see the paragraph after the list): the elements of GGG that are products of at most nnn factors, each in SSS or with inverse in SSS.
  • HasExponentialGrowth G: p. 399: “Let GGG be a group with a finite generating set FFF. … Milnor [16] showed that lim⁡∣Fn∣1/n=v\lim |F^n|^{1/n} = vlim∣Fn∣1/n=v always exists. If v>1v > 1v>1 then GGG is said to have exponential growth and if v=1v = 1v=1 then GGG is said to be exponentially bounded.” Here: for some finite generating set SSS of GGG there is c>1c > 1c>1 with ∣wordBall(S,n)∣≥cn|\text{wordBall}(S, n)| \ge c^n∣wordBall(S,n)∣≥cn for every nnn.
  • IsExponentiallyBounded G: p. 396: “A finitely generated group GGG with a finite generating set FFF is said to be exponentially bounded if (card Fn)1/n→1(\text{card}\, F^n)^{1/n} \to 1(cardFn)1/n→1 as n→∞n \to \inftyn→∞ where Fn={x1⋯xn ⁣:xi∈F}F^n = \{x_1 \cdots x_n \colon x_i \in F\}Fn={x1​⋯xn​:xi​∈F}. This property is independent of the choice of FFF.” On p. 399 it is the case v=1v = 1v=1 of the sentence quoted under HasExponentialGrowth. Here: for some finite generating set SSS and every c>1c > 1c>1, ∣wordBall(S,n)∣≤cn|\text{wordBall}(S, n)| \le c^n∣wordBall(S,n)∣≤cn for all large nnn.
  • HasFreeSubsemigroupOfRankTwo G: Chou only names “a free subsemigroup on two generators” (p. 401) and does not define it. Here: there are a,b∈Ga, b \in Ga,b∈G such that distinct words in a,ba, ba,b (including the empty word, which is 111) give distinct elements of GGG: the homomorphism from the free monoid on two letters is injective. This is the same as a,ba, ba,b generating a free subsemigroup, since a nonempty word www equal to 111 would give uw=uu w = uuw=u for every word uuu.

Chou's ∣Fn∣|F^n|∣Fn∣ counts products of exactly nnn elements of a finite generating set FFF; for FFF symmetric and containing 111 the two notions coincide.

p. 399: “Milnor [17] and Wolf [22] proved that a finitely generated solvable group GGG is exponentially bounded if and only if it has polynomial growth and if and only if it is almost nilpotent, i.e., GGG contains a nilpotent subgroup of finite index.” “Almost nilpotent” is Mathlib's Group.IsVirtuallyNilpotent. No theorem is stated here.

Definition code
import Mathlib

/-!
# Growth of finitely generated groups (Chou §3, p. 399)

Chou, *Elementary amenable groups*, Illinois J. Math. 24 (1980) 396–407, following Milnor and
Wolf.  For a finite generating set `S` of `G`, the ball `wordBall S n` consists of the products
of at most `n` factors, each an element of `S` or the inverse of one; `G` has *exponential
growth* if the size of these balls is bounded below by `c ^ n` for some `c > 1`, and is
*exponentially bounded* if it is eventually below `c ^ n` for every `c > 1`.  Chou's `Fⁿ` is
the set of products of exactly `n` elements of `F`; for a finite generating set containing
`1` and closed under inverses the two agree, and the growth type does not depend on the
generating set (Wolf).  A finitely generated group is *almost nilpotent* if it has a nilpotent
subgroup of finite index; that is Mathlib's `Group.IsVirtuallyNilpotent`.
-/

namespace Chou

/-- `wordBall S n`: the elements of `G` that are products of at most `n` factors, each lying
in `S` or having its inverse in `S`. -/
def wordBall {G : Type*} [Group G] (S : Set G) (n : ℕ) : Set G :=
  {g | ∃ l : List G, l.length ≤ n ∧ (∀ x ∈ l, x ∈ S ∨ x⁻¹ ∈ S) ∧ l.prod = g}

/-- `G` has **exponential growth**: for some finite generating set `S` and some `c > 1`, the
ball of radius `n` has at least `c ^ n` elements for every `n`. -/
def HasExponentialGrowth (G : Type*) [Group G] : Prop :=
  ∃ S : Finset G, Subgroup.closure (S : Set G) = ⊤ ∧
    ∃ c : ℝ, 1 < c ∧ ∀ n : ℕ, c ^ n ≤ (Nat.card (wordBall (S : Set G) n) : ℝ)

/-- `G` is **exponentially bounded**: for some finite generating set `S` and every `c > 1`,
the ball of radius `n` has at most `c ^ n` elements for all large `n`. -/
def IsExponentiallyBounded (G : Type*) [Group G] : Prop :=
  ∃ S : Finset G, Subgroup.closure (S : Set G) = ⊤ ∧
    ∀ c : ℝ, 1 < c → ∃ N : ℕ, ∀ n ≥ N, (Nat.card (wordBall (S : Set G) n) : ℝ) ≤ c ^ n

/-- `G` contains a **free subsemigroup on two generators** (p. 401): there are `a b : G` such
that distinct words in `a`, `b` give distinct elements of `G`, the empty word counting as `1`
(the homomorphism from the free monoid on two letters is injective; a free subsemigroup gives
this, since a nonempty word equal to `1` would make `u w = u` for every word `u`). -/
def HasFreeSubsemigroupOfRankTwo (G : Type*) [Group G] : Prop :=
  ∃ a b : G, Function.Injective (FreeMonoid.lift ![a, b])

end Chou
Source
Chou, C., Elementary amenable groups, Illinois Journal of Mathematics 24 (1980) 396–407, https://doi.org/10.1215/ijm/1256047608, §3 p. 399 (growth, Milnor–Wolf), p. 401 (free subsemigroup on two generators)
Read-back

What the Lean code literally says, in plain math · claude-fable-5-1

Read-back: four definitions on the growth of a group

Throughout, GGG is a group (an arbitrary type equipped with a group structure; no further assumptions, so GGG may be trivial, finite, infinite, or not finitely generated). Group multiplication is written xyxyxy, the identity 111, and the inverse x−1x^{-1}x−1.

1. The word ball BS(n)B_S(n)BS​(n)

For any subset S⊆GS \subseteq GS⊆G (not required to be finite, symmetric, generating, or non-empty) and any natural number n∈{0,1,2,… }n \in \{0, 1, 2, \dots\}n∈{0,1,2,…}, the word ball BS(n)B_S(n)BS​(n) is the following subset of GGG:

BS(n)  =  { g∈G  :  there is a finite sequence (x1,…,xk) of elements of G with k≤n, each xi∈S or xi−1∈S, and x1x2⋯xk=g }.B_S(n) \;=\; \bigl\{\, g \in G \;:\; \text{there is a finite sequence } (x_1, \dots, x_k) \text{ of elements of } G \text{ with } k \le n,\ \text{each } x_i \in S \text{ or } x_i^{-1} \in S,\ \text{and } x_1 x_2 \cdots x_k = g \,\bigr\}.BS​(n)={g∈G:there is a finite sequence (x1​,…,xk​) of elements of G with k≤n, each xi​∈S or xi−1​∈S, and x1​x2​⋯xk​=g}.

In words: BS(n)B_S(n)BS​(n) is the set of all products of at most nnn factors, each factor taken from S∪S−1S \cup S^{-1}S∪S−1 (where S−1={s−1:s∈S}S^{-1} = \{s^{-1} : s \in S\}S−1={s−1:s∈S}). The product is taken in the listed order, left to right (formally it is computed as x1(x2(⋯(xk⋅1)))x_1 (x_2 (\cdots (x_k \cdot 1)))x1​(x2​(⋯(xk​⋅1))), which by associativity is the ordinary product x1x2⋯xkx_1 x_2 \cdots x_kx1​x2​⋯xk​).

Edge cases the definition includes:

  • The empty sequence (k=0k = 0k=0) is allowed for every nnn, and its product is 111. So 1∈BS(n)1 \in B_S(n)1∈BS​(n) for every nnn and every SSS, even when SSS is empty; and BS(0)={1}B_S(0) = \{1\}BS​(0)={1}.
  • The length condition is k≤nk \le nk≤n, not k=nk = nk=n; so BS(n)⊆BS(n+1)B_S(n) \subseteq B_S(n+1)BS​(n)⊆BS​(n+1).
  • Nothing requires SSS to be finite here; the definition is stated for an arbitrary subset of GGG.

2. "Has exponential growth"

GGG has exponential growth means:

There exists a finite subset S⊆GS \subseteq GS⊆G such that

(i) the subgroup of GGG generated by SSS (the smallest subgroup of GGG containing SSS) is all of GGG; and

(ii) there exists a real number ccc with 1<c1 < c1<c such that for every natural number n≥0n \ge 0n≥0,

c n  ≤  #BS(n),c^{\,n} \;\le\; \#B_S(n),cn≤#BS​(n),

where #BS(n)\#B_S(n)#BS​(n) is the number of elements of the word ball BS(n)B_S(n)BS​(n) defined above, regarded as a real number.

Points of precision:

  • The quantifier structure is: ∃S\exists S∃S finite generating, ∃c>1\exists c > 1∃c>1, ∀n\forall n∀n. In particular the property is asserted for some finite generating set, and both SSS and ccc are chosen before nnn.
  • The inequality is non-strict (≤\le≤) and is required for all nnn including n=0n = 0n=0, where it reads 1≤#BS(0)=11 \le \#B_S(0) = 11≤#BS​(0)=1.
  • cnc^ncn is the nnn-th power of the real number ccc (with c0=1c^0 = 1c0=1).
  • #BS(n)\#B_S(n)#BS​(n) is a natural-number cardinality with the convention that an infinite set has cardinality 000. Because SSS is finite, every element of BS(n)B_S(n)BS​(n) is a product of at most nnn factors from the finite set S∪S−1S \cup S^{-1}S∪S−1, so BS(n)B_S(n)BS​(n) is finite and this convention is not triggered.
  • If GGG is not generated by any finite subset, then no SSS satisfies (i), and the property is false for GGG.

3. "Is exponentially bounded"

GGG is exponentially bounded means:

There exists a finite subset S⊆GS \subseteq GS⊆G such that

(i) the subgroup of GGG generated by SSS is all of GGG; and

(ii) for every real number ccc with 1<c1 < c1<c, there exists a natural number NNN such that for every natural number nnn with n≥Nn \ge Nn≥N,

#BS(n)  ≤  c n.\#B_S(n) \;\le\; c^{\,n}.#BS​(n)≤cn.

Points of precision:

  • The quantifier structure is: ∃S\exists S∃S finite generating, ∀c>1\forall c > 1∀c>1, ∃N\exists N∃N, ∀n≥N\forall n \ge N∀n≥N. The finite generating set SSS is fixed first and must work for all c>1c > 1c>1 simultaneously; the threshold NNN may depend on ccc.
  • The inequality is non-strict (≤\le≤), in the direction "cardinality of the ball is at most cnc^ncn", and is only required for n≥Nn \ge Nn≥N; nothing is asserted for n<Nn < Nn<N.
  • "n≥Nn \ge Nn≥N" means N≤nN \le nN≤n; n=Nn = Nn=N is included.
  • As in the previous definition, #BS(n)\#B_S(n)#BS​(n) is the natural-number cardinality (convention: 000 for an infinite set, which does not arise since SSS is finite), and cnc^ncn is the real power.
  • If GGG is not generated by any finite subset, the property is false for GGG.
  • Note that this is not the condition "some exponential cnc^ncn bounds the ball"; it is the condition that every exponential cnc^ncn with base c>1c > 1c>1 eventually bounds the ball.

4. "Has a free subsemigroup of rank two"

GGG has a free subsemigroup of rank two means:

There exist elements a,b∈Ga, b \in Ga,b∈G such that the map

φ ⁣:{finite words in the two letters 0,1}  ⟶  G\varphi \colon \{\text{finite words in the two letters } 0, 1\} \;\longrightarrow\; Gφ:{finite words in the two letters 0,1}⟶G

is injective, where φ\varphiφ sends a word i1i2⋯iki_1 i_2 \cdots i_ki1​i2​⋯ik​ (k≥0k \ge 0k≥0, each ij∈{0,1}i_j \in \{0,1\}ij​∈{0,1}) to the product xi1xi2⋯xikx_{i_1} x_{i_2} \cdots x_{i_k}xi1​​xi2​​⋯xik​​ with x0=ax_0 = ax0​=a and x1=bx_1 = bx1​=b; the empty word (k=0k = 0k=0) is sent to 111.

Equivalently: whenever two words u,vu, vu,v in the letters {0,1}\{0, 1\}{0,1} (including the empty word) have φ(u)=φ(v)\varphi(u) = \varphi(v)φ(u)=φ(v) in GGG, then u=vu = vu=v as words.

Points of precision:

  • The domain is the free monoid on two letters, i.e. the set of all finite words including the empty word, with concatenation as multiplication; φ\varphiφ is the monoid homomorphism determined by 0↦a0 \mapsto a0↦a, 1↦b1 \mapsto b1↦b. Consequently injectivity includes the requirement that no non-empty word in a,ba, ba,b equals 111 (since the empty word maps to 111), in addition to distinct non-empty words giving distinct elements.
  • Only positive words are considered: the letters map to aaa and bbb, never to a−1a^{-1}a−1 or b−1b^{-1}b−1.
  • The existential does not explicitly require a≠ba \ne ba=b; but if a=ba = ba=b then the one-letter words 000 and 111 have the same image, so injectivity fails. Likewise a=1a = 1a=1 or b=1b = 1b=1 makes injectivity fail (the one-letter word would collide with the empty word). So in effect aaa and bbb are distinct non-identity elements.
  • Nothing is asserted about the subgroup generated by a,ba, ba,b, only about the set of positive products.
Human review
  • Endorsed by Shuze Chen · Sep 19, 2026

  • Endorsed by dbenbenn · Sep 19, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me