Theorem: LieModule.posFittingCompOf_le_lowerCentralSeries
File: Mathlib/Algebra/Lie/Weights/Basic.lean

tactic: suffices ∀ m l, (toEnd R L M x ^ l) m ∈ lowerCentralSeries R L M l by
  intro m hm
  obtain ⟨n, rfl⟩ := (mem_posFittingCompOf R x m).mp hm k
  exact this n k
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
⊢ posFittingCompOf R M x ≤ lowerCentralSeries R L M k
state_after: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
⊢ ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l

tactic: intro m l
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
⊢ ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
state_after: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
⊢ ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l

tactic: induction' l with l ih
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
⊢ ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
state_after: case zero
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
⊢ ((toEnd R L M) x ^ 0) m ∈ lowerCentralSeries R L M 0

case succ
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
ih : ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
⊢ ((toEnd R L M) x ^ (l + 1)) m ∈ lowerCentralSeries R L M (l + 1)

tactic: simp only [lowerCentralSeries_succ, pow_succ', LinearMap.mul_apply]
state_before: case succ
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
ih : ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
⊢ ((toEnd R L M) x ^ (l + 1)) m ∈ lowerCentralSeries R L M (l + 1)
state_after: case succ
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
ih : ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
⊢ ((toEnd R L M) x) (((toEnd R L M) x ^ l) m) ∈ ⁅⊤, lowerCentralSeries R L M l⁆

tactic: exact LieSubmodule.lie_mem_lie _ ⊤ (LieSubmodule.mem_top x) ih
state_before: case succ
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
l : ℕ
ih : ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
⊢ ((toEnd R L M) x) (((toEnd R L M) x ^ l) m) ∈ ⁅⊤, lowerCentralSeries R L M l⁆
state_after: no goals

tactic: intro m hm
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
this : ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
⊢ posFittingCompOf R M x ≤ lowerCentralSeries R L M k
state_after: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
this : ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
m : M
hm : m ∈ posFittingCompOf R M x
⊢ m ∈ lowerCentralSeries R L M k

tactic: obtain ⟨n, rfl⟩ := (mem_posFittingCompOf R x m).mp hm k
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
this : ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
m : M
hm : m ∈ posFittingCompOf R M x
⊢ m ∈ lowerCentralSeries R L M k
state_after: case intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
this : ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
n : M
hm : ((toEnd R L M) x ^ k) n ∈ posFittingCompOf R M x
⊢ ((toEnd R L M) x ^ k) n ∈ lowerCentralSeries R L M k

tactic: exact this n k
state_before: case intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
this : ∀ (m : M) (l : ℕ), ((toEnd R L M) x ^ l) m ∈ lowerCentralSeries R L M l
n : M
hm : ((toEnd R L M) x ^ k) n ∈ posFittingCompOf R M x
⊢ ((toEnd R L M) x ^ k) n ∈ lowerCentralSeries R L M k
state_after: no goals

tactic: simp
state_before: case zero
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : LieRing L
inst✝⁵ : LieAlgebra R L
inst✝⁴ : LieAlgebra.IsNilpotent R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : L
k : ℕ
m : M
⊢ ((toEnd R L M) x ^ 0) m ∈ lowerCentralSeries R L M 0
state_after: no goals