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

Proof steps:
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
M₂ : Type u_5
inst✝⁵ : AddCommGroup M₂
inst✝⁴ : Module R M₂
inst✝³ : LieRingModule L M₂
inst✝² : LieModule R L M₂
χ : L → R
f : M →ₗ⁅R,L⁆ M₂
inst✝¹ : IsNoetherian R M
inst✝ : IsArtinian R M
N₁ N₂ : LieSubmodule R L M
h : Codisjoint N₁ N₂
⊢ LieSubmodule.map N₁.incl (posFittingComp R L ↥↑N₁) ⊔ LieSubmodule.map N₂.incl (posFittingComp R L ↥↑N₂) =
    posFittingComp R L M
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
M₂ : Type u_5
inst✝⁵ : AddCommGroup M₂
inst✝⁴ : Module R M₂
inst✝³ : LieRingModule L M₂
inst✝² : LieModule R L M₂
χ : L → R
f : M →ₗ⁅R,L⁆ M₂
inst✝¹ : IsNoetherian R M
inst✝ : IsArtinian R M
N₁ N₂ : LieSubmodule R L M
h : Codisjoint N₁ N₂
l : ℕ
hl :
  ∀ b ≥ l,
    ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) b ∧
      ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) b ∧
        ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M b
⊢ LieSubmodule.map N₁.incl (posFittingComp R L ↥↑N₁) ⊔ LieSubmodule.map N₂.incl (posFittingComp R L ↥↑N₂) =
    posFittingComp R L M
tactic: obtain ⟨l, hl⟩ := Filter.eventually_atTop.mp <|
    (eventually_iInf_lowerCentralSeries_eq R L N₁).and <|
    (eventually_iInf_lowerCentralSeries_eq R L N₂).and
    (eventually_iInf_lowerCentralSeries_eq R L M)
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
M₂ : Type u_5
inst✝⁵ : AddCommGroup M₂
inst✝⁴ : Module R M₂
inst✝³ : LieRingModule L M₂
inst✝² : LieModule R L M₂
χ : L → R
f : M →ₗ⁅R,L⁆ M₂
inst✝¹ : IsNoetherian R M
inst✝ : IsArtinian R M
N₁ N₂ : LieSubmodule R L M
h : Codisjoint N₁ N₂
l : ℕ
hl :
  ∀ b ≥ l,
    ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) b ∧
      ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) b ∧
        ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M b
⊢ LieSubmodule.map N₁.incl (posFittingComp R L ↥↑N₁) ⊔ LieSubmodule.map N₂.incl (posFittingComp R L ↥↑N₂) =
    posFittingComp R L M
state_after: case intro.intro.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
M₂ : Type u_5
inst✝⁵ : AddCommGroup M₂
inst✝⁴ : Module R M₂
inst✝³ : LieRingModule L M₂
inst✝² : LieModule R L M₂
χ : L → R
f : M →ₗ⁅R,L⁆ M₂
inst✝¹ : IsNoetherian R M
inst✝ : IsArtinian R M
N₁ N₂ : LieSubmodule R L M
h : Codisjoint N₁ N₂
l : ℕ
hl :
  ∀ b ≥ l,
    ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) b ∧
      ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) b ∧
        ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M b
hl₁ : ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) l
hl₂ : ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) l
hl₃ : ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M l
⊢ LieSubmodule.map N₁.incl (posFittingComp R L ↥↑N₁) ⊔ LieSubmodule.map N₂.incl (posFittingComp R L ↥↑N₂) =
    posFittingComp R L M
tactic: obtain ⟨hl₁, hl₂, hl₃⟩ := hl l (le_refl _)
state_before: case intro.intro.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
M₂ : Type u_5
inst✝⁵ : AddCommGroup M₂
inst✝⁴ : Module R M₂
inst✝³ : LieRingModule L M₂
inst✝² : LieModule R L M₂
χ : L → R
f : M →ₗ⁅R,L⁆ M₂
inst✝¹ : IsNoetherian R M
inst✝ : IsArtinian R M
N₁ N₂ : LieSubmodule R L M
h : Codisjoint N₁ N₂
l : ℕ
hl :
  ∀ b ≥ l,
    ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) b ∧
      ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) b ∧
        ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M b
hl₁ : ⨅ k, lowerCentralSeries R L (↥↑N₁) k = lowerCentralSeries R L (↥↑N₁) l
hl₂ : ⨅ k, lowerCentralSeries R L (↥↑N₂) k = lowerCentralSeries R L (↥↑N₂) l
hl₃ : ⨅ k, lowerCentralSeries R L M k = lowerCentralSeries R L M l
⊢ LieSubmodule.map N₁.incl (posFittingComp R L ↥↑N₁) ⊔ LieSubmodule.map N₂.incl (posFittingComp R L ↥↑N₂) =
    posFittingComp R L M
state_after: no goals
tactic: simp_rw [← iInf_lowerCentralSeries_eq_posFittingComp, hl₁, hl₂, hl₃,
    LieSubmodule.lowerCentralSeries_map_eq_lcs, ← LieSubmodule.lcs_sup, lowerCentralSeries,
    h.eq_top]