@@ -3,32 +3,37 @@ import Mathlib.Combinatorics.Additive.DoublingConst
33import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
44import Mathlib.Tactic.Positivity.Finset
55import LeanCamCombi.Mathlib.GroupTheory.Nilpotent
6- import LeanCamCombi.Mathlib.Order.SuccPred.Relation
76
87open Finset Fintype Group Matrix MulOpposite Real
98open scoped Combinatorics.Additive MatrixGroups Pointwise
109
1110namespace GrowthInGroups.Lecture1
1211variable {G : Type *} [Group G] [DecidableEq G] {A X : Finset G} {n : ℕ} {K : ℝ}
1312
13+ lemma card_pow_lt_card_pow_succ_of_pow_ne_closure (hX : X.Nonempty)
14+ (hXclosure : (X ^ n : Set G) ≠ Subgroup.closure (X : Set G)) : #(X ^ n) < #(X ^ (n + 1 )) := by
15+ refine (hX.card_pow_mono <| Order.le_succ _).lt_of_ne fun h ↦ hXclosure ?_
16+ dsimp at h
17+ sorry
18+
1419lemma card_pow_strictMonoOn (hX : X.Nonempty) :
1520 StrictMonoOn (fun n ↦ #(X ^ n))
1621 {n | (X ^ (n - 1 ) : Set G) ≠ Subgroup.closure (X : Set G)} := by
17- refine Order.strictMonoOn_of_lt_succ ⟨fun _ _ m hm n ⟨_, hmn⟩ hn ↦ sorry ⟩ fun n hn hn' ↦ ?_
18- refine (hX.card_pow_mono <| Order.le_succ _).lt_of_ne fun h ↦ hn' ?_
19- dsimp at h
20- dsimp
22+ refine strictMonoOn_of_lt_add_one ⟨fun _ _ m hm n ⟨_, hmn⟩ hn ↦ hm ?_⟩ fun n _ hn hn' ↦
23+ card_pow_lt_card_pow_succ_of_pow_ne_closure hX hn'
2124 sorry
2225
23- lemma card_pow_strictMono (hX : X.Nonempty)
24- (hXclosure : (Subgroup.closure (X : Set G) : Set G).Infinite) :
26+ lemma card_pow_strictMono (hXclosure : (Subgroup.closure (X : Set G) : Set G).Infinite) :
2527 StrictMono fun n ↦ #(X ^ n) := by
26- have h n : (X ^ (n - 1 ) : Set G) ≠ Subgroup.closure (X : Set G) := sorry
28+ obtain rfl | hX := X.eq_empty_or_nonempty
29+ · simp at hXclosure
30+ have h n : (X ^ (n - 1 ) : Set G) ≠ Subgroup.closure (X : Set G) :=
31+ fun h ↦ by simp [← h, ← coe_pow] at hXclosure
2732 simpa [h] using card_pow_strictMonoOn hX
2833
29- /-- The growth of a symmetric generating set in an infinite group is at least linear. -/
30- lemma fact_3_1_1 [Infinite G] (hXsymm : X⁻¹ = X) ( hXgen : Subgroup.closure (X : Set G) = ⊤) :
31- n ≤ #(X ^ n) := sorry
34+ /-- The growth of a generating set in an infinite group is at least linear. -/
35+ lemma fact_3_1_1 [Infinite G] (hXgen : Subgroup.closure (X : Set G) = ⊤) : n ≤ #(X ^ n) :=
36+ (card_pow_strictMono ( by simp [hXgen, Set.infinite_univ])).le_apply
3237
3338/-- The growth of a set is at most exponential. -/
3439lemma fact_3_1_2 : #(X ^ n) ≤ #X ^ n := card_pow_le
0 commit comments