Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 4.12, core step: a polycyclic extension of a free abelian group by a nilpotent group, with no free subsemigroup of rank two, is almost nilpotent

Open
Rosenblatt.isVirtuallyNilpotent_of_isPolycyclic_of_abelian_isMulTorsionFree_isNilpotent_quotient_of_not_hasFreeSubsemigroupOfRankTwo

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

group-growthgroup-theorynilpotent-groupspolycyclic-groupssolvable-groups

Let Γ\GammaΓ be a polycyclic group with no free subsemigroup of rank two, and let A⊴ΓA \trianglelefteq \GammaA⊴Γ be a normal subgroup which is abelian and torsion-free and for which the quotient Γ/A\Gamma/AΓ/A is nilpotent. Then Γ\GammaΓ is almost nilpotent.

The conclusion is Mathlib's Group.IsVirtuallyNilpotent: there is a nilpotent subgroup of Γ\GammaΓ of finite index. That subgroup is not required to be normal, and "finite index" means the set of left cosets is finite.

The hypothesis on AAA is four conditions: normality in Γ\GammaΓ (without which the quotient would not be a group), commutativity of AAA, torsion-freeness of AAA, and nilpotency of Γ/A\Gamma/AΓ/A. Two points on how the last two read.

Torsion-freeness is Mathlib's IsMulTorsionFree, which is literally the statement that for every n≠0n \neq 0n=0 the map x↦xnx \mapsto x^nx↦xn is injective on AAA — not, literally, that no nontrivial element has finite order. The two agree here, but only because AAA is assumed abelian: in an abelian group xn=ynx^n = y^nxn=yn gives (xy−1)n=1(xy^{-1})^n = 1(xy−1)n=1, so power-injectivity and the absence of nontrivial elements of finite order are the same condition. In a general group they are not, and the injective form is the stronger-looking one.

Nilpotency is Mathlib's Group.IsNilpotent, the ascending upper central series of Γ/A\Gamma/AΓ/A reaching the whole group in finitely many steps.

How this relates to Rosenblatt's own phrasing. He reduces Theorem 4.12 to an exact sequence e→Zk→Γ→N→ee \to \mathbb{Z}^k \to \Gamma \to N \to ee→Zk→Γ→N→e with NNN nilpotent, and then works with the canonical basis of Zk\mathbb{Z}^kZk. A finitely generated torsion-free abelian group is free abelian of finite rank, and AAA is finitely generated here because Γ\GammaΓ is polycyclic, so the hypothesis above is that exact situation — stated through the three intrinsic conditions on AAA rather than through a choice of isomorphism to Zk\mathbb{Z}^kZk, so that no basis is baked into the statement.

What is not assumed. AAA is nowhere required to be nontrivial, proper, or of finite index, and it does not appear in the conclusion. The degenerate instances are genuine and harmless: A={1}A = \{1\}A={1} makes the package say "Γ\GammaΓ nilpotent implies Γ\GammaΓ almost nilpotent", and A=ΓA = \GammaA=Γ makes the quotient hypothesis empty. The hypotheses are jointly satisfiable — the trivial group meets all of them — so the implication is not vacuous.

Preamble
import Definitions.Def_Chou_Growth
import Definitions.Def_MilnorWolf_Growth
import Mathlib
Formal statement
namespace Rosenblatt

theorem isVirtuallyNilpotent_of_isPolycyclic_of_abelian_isMulTorsionFree_isNilpotent_quotient_of_not_hasFreeSubsemigroupOfRankTwo
    {G : Type*} [Group G] (hpoly : MilnorWolf.IsPolycyclic G)
    (hfree : ¬ Chou.HasFreeSubsemigroupOfRankTwo G)
    (A : Subgroup G) [A.Normal] (hab : ∀ x y : A, x * y = y * x)
    (htf : IsMulTorsionFree A) (hnil : Group.IsNilpotent (G ⧸ A)) :
    Group.IsVirtuallyNilpotent G := by
  sorry

end Rosenblatt
Source
Rosenblatt, J. M., Invariant measures and growth conditions, Transactions of the American Mathematical Society 193 (1974) 33–53, https://doi.org/10.1090/S0002-9947-1974-0342955-9, Theorem 4.12, pp. 48-49, the case the proof reduces to

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, licensed under Apache 2.0.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTermsJoin SlackJoin Zulip© 2026 Prove2Me