General free-product rank infrastructure #
This file records the factorwise part of the Grushko--Neumann argument for arbitrary groups. The free product of finitely generated groups is finitely generated, and the union of finite generating sets gives the upper bound.
For the lower bound, a tuple whose entries are already separated between the two factors can be projected back to each factor. The remaining, genuinely Grushko-specific step is to reduce an arbitrary generating tuple to this separated form without increasing its length.
Finite generation and the easy inequality #
The lower bound for separated generating tuples #
The natural embedding of a tagged factor element into the free product.
Equations
Instances For
Extracts the left-factor value at an index known to carry a left label.
Equations
- MarshallHall.GeneralGrushko.leftValue s i = match s ↑i with | Sum.inl g => g | Sum.inr val => 1
Instances For
Extracts the right-factor value at an index known to carry a right label.
Equations
- MarshallHall.GeneralGrushko.rightValue s i = match s ↑i with | Sum.inl val => 1 | Sum.inr h => h
Instances For
One elementary Nielsen move on a finite generating tuple. Permutations, inversion of one entry, and multiplication of one entry by a different entry all preserve the subgroup generated by the tuple.
- perm {A : Type u_3} [Group A] {n : ℕ} {x y : Fin n → A} (e : Fin n ≃ Fin n) (h : y = x ∘ ⇑e) : NielsenStep x y
- invert {A : Type u_3} [Group A] {n : ℕ} {x y : Fin n → A} (i : Fin n) (h : y = Function.update x i (x i)⁻¹) : NielsenStep x y
- mulRight {A : Type u_3} [Group A] {n : ℕ} {x y : Fin n → A} (i j : Fin n) (hij : i ≠ j) (h : y = Function.update x i (x i * x j)) : NielsenStep x y
Instances For
The subgroup generated by a tuple is unchanged by one Nielsen move.
Finite sequences of elementary Nielsen moves.
Equations
- MarshallHall.GeneralGrushko.NielsenEquivalent x y = Relation.ReflTransGen (fun (u v : Fin n → A) => MarshallHall.GeneralGrushko.NielsenStep u v) x y
Instances For
The generator-reduction statement in its stronger, classical form: every finite generating tuple is Nielsen-equivalent to a tuple separated between the two factors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The generator-reduction statement needed for the lower bound in the general Grushko--Neumann theorem. It says that every finite generating tuple can be replaced, with the same number of entries, by a tuple whose entries lie in the two original factors. The fold/Nielsen argument is the substantive theorem still to be supplied; this definition keeps its exact interface separate from the rank bookkeeping.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Once the separated-generators theorem is available, the elementary factorwise bounds assemble into full rank additivity.
Rank additivity follows from the stronger Nielsen-equivalence form of generator reduction.
Finite indexed free products of free groups #
A finite indexed free product of free groups is identified with the free
group on the disjoint union of the bases. This is the finite-family version
of the binary free-group calculation in MarshallHall.Grushko.
Equations
Instances For
Grushko rank additivity for a finite indexed free product of finite-rank free groups. The arbitrary-factor theorem still requires the separate generator-reduction theorem above; this result is the fully formalized free factor subcase.
A finite-word length for the binary free product #
The next step in the arbitrary-factor theorem is a reduction of a finite generating tuple. This gives the reduction argument an honest complexity measure without committing to a particular normal-form implementation. A word is a list of tagged factor elements, and its length is the least length of a word representing the given free-product element. The elementary calculus below is enough for induction on reductions: words concatenate, factor elements have length at most one, and multiplication is subadditive.
Evaluation of a finite alternating-free word in the binary free product.
The list is not required to be reduced; factorWordLength takes the minimum
over all such representatives.
Equations
Instances For
An element has a factor-word representation of the specified length.
Equations
- MarshallHall.GeneralGrushko.factorWordRepresented x n = ∃ (u : List (G ⊕ H)), u.length = n ∧ MarshallHall.GeneralGrushko.factorWordProd u = x
Instances For
The least number of factor letters needed to represent an element.