Theorem 4.12: a polycyclic group is almost nilpotent or contains a free subsemigroup of rank two
OpenRosenblatt.isVirtuallyNilpotent_or_hasFreeSubsemigroupOfRankTwo_of_isPolycyclicLet be a polycyclic group. Then is almost nilpotent or contains a free subsemigroup of rank two.
The hypothesis. Polycyclic is taken in the published sense of Wolf's Proposition 4.1 (1): subgroups with each normal in and each cyclic. Normality is relative to the preceding term only, so the series is subnormal; "cyclic" includes the trivial and the finite cyclic groups; and the chain need not descend strictly. Nothing else is assumed of — in particular finite generation is not assumed separately, being a consequence of the hypothesis.
The conclusion is a disjunction of the following two statements.
"Almost nilpotent" is Mathlib's Group.IsVirtuallyNilpotent: there exists a nilpotent subgroup
of of finite index. The subgroup is not required to be normal, and "finite index"
means the coset space is finite. Taking itself shows a nilpotent group is almost
nilpotent, and taking any finite group shows a finite group is.
"Contains a free subsemigroup of rank two" is: there exist such that distinct positive words in two letters take distinct values when the letters are read as and , multiplied left to right, the empty word sent to . No letter stands for an inverse and no cancellation occurs, so this asserts a free subsemigroup and not a free subgroup of rank two; it does force , both of infinite order, and infinite.
What is and is not asserted. The disjunction is inclusive: the statement asserts that at least one alternative holds, and says nothing about whether both can hold, which one holds, or how to tell. Rosenblatt's own Theorem 4.12 adds "but not both". That exclusivity is a separate assertion and is deliberately not made here: ruling out a free subsemigroup in an almost nilpotent group needs the polynomial-growth half of Wolf's Theorem 3.2, which is not yet available in the library, whereas the inclusive disjunction is exactly what Chou's argument on p. 401 consumes. The statement is a one-directional implication, not an equivalence; the converse is not asserted.
import Definitions.Def_Chou_Growth import Definitions.Def_MilnorWolf_Growth import Mathlib
namespace Rosenblatt
theorem isVirtuallyNilpotent_or_hasFreeSubsemigroupOfRankTwo_of_isPolycyclic {G : Type*}
[Group G] (h : MilnorWolf.IsPolycyclic G) :
Group.IsVirtuallyNilpotent G ∨ Chou.HasFreeSubsemigroupOfRankTwo G := by
sorry
end Rosenblatt