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
OpenRosenblatt.isVirtuallyNilpotent_of_isPolycyclic_of_abelian_isMulTorsionFree_isNilpotent_quotient_of_not_hasFreeSubsemigroupOfRankTwoLet be a polycyclic group with no free subsemigroup of rank two, and let be a normal subgroup which is abelian and torsion-free and for which the quotient is nilpotent. Then is almost nilpotent.
The conclusion is Mathlib's Group.IsVirtuallyNilpotent: there is a nilpotent subgroup of
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 is four conditions: normality in (without which the quotient would not be a group), commutativity of , torsion-freeness of , and nilpotency of . Two points on how the last two read.
Torsion-freeness is Mathlib's IsMulTorsionFree, which is literally the statement that for
every the map is injective on — not, literally, that no
nontrivial element has finite order. The two agree here, but only because is assumed
abelian: in an abelian group gives , 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
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 with nilpotent, and then works with the canonical basis of . A finitely generated torsion-free abelian group is free abelian of finite rank, and is finitely generated here because is polycyclic, so the hypothesis above is that exact situation — stated through the three intrinsic conditions on rather than through a choice of isomorphism to , so that no basis is baked into the statement.
What is not assumed. 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: makes the package say " nilpotent implies almost nilpotent", and makes the quotient hypothesis empty. The hypotheses are jointly satisfiable — the trivial group meets all of them — so the implication is not vacuous.
import Definitions.Def_Chou_Growth import Definitions.Def_MilnorWolf_Growth import Mathlib
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