[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
a✝ b✝ : M
hm₁ : a✝ ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N}
hm₂ : b✝ ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N}
x : L
⊢ ⁅x, a✝ + b✝⁆ ∈ N
[PROOFSTEP]
rw [lie_add]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
a✝ b✝ : M
hm₁ : a✝ ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N}
hm₂ : b✝ ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N}
x : L
⊢ ⁅x, a✝⁆ + ⁅x, b✝⁆ ∈ N
[PROOFSTEP]
exact N.add_mem' (hm₁ x) (hm₂ x)
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
x : L
⊢ ⁅x, 0⁆ ∈ N
[PROOFSTEP]
simp
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
t : R
m : M
hm :
  m ∈
    {
          toAddSubsemigroup :=
            { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
              add_mem' :=
                (_ :
                  ∀ {a b : M},
                    a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
          zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) }.toAddSubsemigroup.carrier
x : L
⊢ ⁅x, t • m⁆ ∈ N
[PROOFSTEP]
rw [lie_smul]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
t : R
m : M
hm :
  m ∈
    {
          toAddSubsemigroup :=
            { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
              add_mem' :=
                (_ :
                  ∀ {a b : M},
                    a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
          zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) }.toAddSubsemigroup.carrier
x : L
⊢ t • ⁅x, m⁆ ∈ N
[PROOFSTEP]
exact N.smul_mem' t (hm x)
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
x : L
m : M
hm :
  m ∈
    {
            toAddSubmonoid :=
              {
                toAddSubsemigroup :=
                  { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
                    add_mem' :=
                      (_ :
                        ∀ {a b : M},
                          a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} →
                            b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
                zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) },
            smul_mem' :=
              (_ :
                ∀ (t : R) (m : M),
                  m ∈
                      {
                            toAddSubsemigroup :=
                              { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
                                add_mem' :=
                                  (_ :
                                    ∀ {a b : M},
                                      a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} →
                                        b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
                            zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) }.toAddSubsemigroup.carrier →
                    ∀ (x : L), ⁅x, t • m⁆ ∈ N) }.toAddSubmonoid.toAddSubsemigroup.carrier
y : L
⊢ ⁅y, ⁅x, m⁆⁆ ∈ N
[PROOFSTEP]
rw [leibniz_lie]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
x : L
m : M
hm :
  m ∈
    {
            toAddSubmonoid :=
              {
                toAddSubsemigroup :=
                  { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
                    add_mem' :=
                      (_ :
                        ∀ {a b : M},
                          a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} →
                            b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
                zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) },
            smul_mem' :=
              (_ :
                ∀ (t : R) (m : M),
                  m ∈
                      {
                            toAddSubsemigroup :=
                              { carrier := {m | ∀ (x : L), ⁅x, m⁆ ∈ N},
                                add_mem' :=
                                  (_ :
                                    ∀ {a b : M},
                                      a ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} →
                                        b ∈ {m | ∀ (x : L), ⁅x, m⁆ ∈ N} → ∀ (x : L), ⁅x, a + b⁆ ∈ N) },
                            zero_mem' := (_ : ∀ (x : L), ⁅x, 0⁆ ∈ N) }.toAddSubsemigroup.carrier →
                    ∀ (x : L), ⁅x, t • m⁆ ∈ N) }.toAddSubmonoid.toAddSubsemigroup.carrier
y : L
⊢ ⁅⁅y, x⁆, m⁆ + ⁅x, ⁅y, m⁆⁆ ∈ N
[PROOFSTEP]
exact N.add_mem' (hm ⁅y, x⁆) (N.lie_mem (hm y))
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
⊢ N ≤ normalizer N
[PROOFSTEP]
intro m hm
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
m : M
hm : m ∈ N
⊢ m ∈ normalizer N
[PROOFSTEP]
rw [mem_normalizer]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
m : M
hm : m ∈ N
⊢ ∀ (x : L), ⁅x, m⁆ ∈ N
[PROOFSTEP]
exact fun x => N.lie_mem hm
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
⊢ normalizer (N₁ ⊓ N₂) = normalizer N₁ ⊓ normalizer N₂
[PROOFSTEP]
ext
[GOAL]
case h
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
m✝ : M
⊢ m✝ ∈ normalizer (N₁ ⊓ N₂) ↔ m✝ ∈ normalizer N₁ ⊓ normalizer N₂
[PROOFSTEP]
simp [← forall_and]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
⊢ Monotone normalizer
[PROOFSTEP]
intro N₁ N₂ h m hm
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁✝ N₂✝ N₁ N₂ : LieSubmodule R L M
h : N₁ ≤ N₂
m : M
hm : m ∈ normalizer N₁
⊢ m ∈ normalizer N₂
[PROOFSTEP]
rw [mem_normalizer] at hm ⊢
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁✝ N₂✝ N₁ N₂ : LieSubmodule R L M
h : N₁ ≤ N₂
m : M
hm : ∀ (x : L), ⁅x, m⁆ ∈ N₁
⊢ ∀ (x : L), ⁅x, m⁆ ∈ N₂
[PROOFSTEP]
exact fun x => h (hm x)
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
f : M' →ₗ⁅R,L⁆ M
⊢ comap f (normalizer N) = normalizer (comap f N)
[PROOFSTEP]
ext
[GOAL]
case h
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
f : M' →ₗ⁅R,L⁆ M
m✝ : M'
⊢ m✝ ∈ comap f (normalizer N) ↔ m✝ ∈ normalizer (comap f N)
[PROOFSTEP]
simp
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ N' : LieSubmodule R L M
⊢ ⁅⊤, N⁆ ≤ N' ↔ N ≤ normalizer N'
[PROOFSTEP]
rw [lie_le_iff]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ N' : LieSubmodule R L M
⊢ (∀ (x : L), x ∈ ⊤ → ∀ (m : M), m ∈ N → ⁅x, m⁆ ∈ N') ↔ N ≤ normalizer N'
[PROOFSTEP]
tauto
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
src✝ : LieSubmodule R { x // x ∈ H } L := LieSubmodule.normalizer (toLieSubmodule H)
y z : L
hy : y ∈ src✝.carrier
hz : z ∈ src✝.carrier
x : { x // x ∈ H }
⊢ ⁅x, ⁅y, z⁆⁆ ∈ toLieSubmodule H
[PROOFSTEP]
rw [coe_bracket_of_module, mem_toLieSubmodule, leibniz_lie, ← lie_skew y, ← sub_eq_add_neg]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
src✝ : LieSubmodule R { x // x ∈ H } L := LieSubmodule.normalizer (toLieSubmodule H)
y z : L
hy : y ∈ src✝.carrier
hz : z ∈ src✝.carrier
x : { x // x ∈ H }
⊢ ⁅⁅↑x, y⁆, z⁆ - ⁅⁅↑x, z⁆, y⁆ ∈ H
[PROOFSTEP]
exact H.sub_mem (hz ⟨_, hy x⟩) (hy ⟨_, hz x⟩)
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ x ∈ normalizer H ↔ ∀ (y : L), y ∈ H → ⁅y, x⁆ ∈ H
[PROOFSTEP]
rw [Subtype.forall']
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ x ∈ normalizer H ↔ ∀ (x_1 : { a // a ∈ H }), ⁅↑x_1, x⁆ ∈ H
[PROOFSTEP]
rfl
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ x ∈ normalizer H ↔ ∀ (y : L), y ∈ H → ⁅x, y⁆ ∈ H
[PROOFSTEP]
rw [mem_normalizer_iff']
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ (∀ (y : L), y ∈ H → ⁅y, x⁆ ∈ H) ↔ ∀ (y : L), y ∈ H → ⁅x, y⁆ ∈ H
[PROOFSTEP]
refine' forall₂_congr fun y hy => _
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y : L
hy : y ∈ H
⊢ ⁅y, x⁆ ∈ H ↔ ⁅x, y⁆ ∈ H
[PROOFSTEP]
rw [← lie_skew, neg_mem_iff (G := L)]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y z : L
hx : x ∈ normalizer H
hy : y ∈ Submodule.span R {x} ⊔ H.toSubmodule
hz : z ∈ Submodule.span R {x} ⊔ H.toSubmodule
⊢ ⁅y, z⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
rw [Submodule.mem_sup] at hy hz
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y z : L
hx : x ∈ normalizer H
hy : ∃ y_1, y_1 ∈ Submodule.span R {x} ∧ ∃ z, z ∈ H.toSubmodule ∧ y_1 + z = y
hz : ∃ y, y ∈ Submodule.span R {x} ∧ ∃ z_1, z_1 ∈ H.toSubmodule ∧ y + z_1 = z
⊢ ⁅y, z⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
obtain ⟨u₁, hu₁, v, hv : v ∈ H, rfl⟩ := hy
[GOAL]
case intro.intro.intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x z : L
hx : x ∈ normalizer H
hz : ∃ y, y ∈ Submodule.span R {x} ∧ ∃ z_1, z_1 ∈ H.toSubmodule ∧ y + z_1 = z
u₁ : L
hu₁ : u₁ ∈ Submodule.span R {x}
v : L
hv : v ∈ H
⊢ ⁅u₁ + v, z⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
obtain ⟨u₂, hu₂, w, hw : w ∈ H, rfl⟩ := hz
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
u₁ : L
hu₁ : u₁ ∈ Submodule.span R {x}
v : L
hv : v ∈ H
u₂ : L
hu₂ : u₂ ∈ Submodule.span R {x}
w : L
hw : w ∈ H
⊢ ⁅u₁ + v, u₂ + w⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
obtain ⟨t, rfl⟩ := Submodule.mem_span_singleton.mp hu₁
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
u₂ : L
hu₂ : u₂ ∈ Submodule.span R {x}
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
⊢ ⁅t • x + v, u₂ + w⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
obtain ⟨s, rfl⟩ := Submodule.mem_span_singleton.mp hu₂
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
s : R
hu₂ : s • x ∈ Submodule.span R {x}
⊢ ⁅t • x + v, s • x + w⁆ ∈ Submodule.span R {x} ⊔ H.toSubmodule
[PROOFSTEP]
apply Submodule.mem_sup_right
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.a
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
s : R
hu₂ : s • x ∈ Submodule.span R {x}
⊢ ⁅t • x + v, s • x + w⁆ ∈ H.toSubmodule
[PROOFSTEP]
simp only [LieSubalgebra.mem_coe_submodule, smul_lie, add_lie, zero_add, lie_add, smul_zero, lie_smul, lie_self]
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.a
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
s : R
hu₂ : s • x ∈ Submodule.span R {x}
⊢ s • ⁅v, x⁆ + (t • ⁅x, w⁆ + ⁅v, w⁆) ∈ H
[PROOFSTEP]
refine' H.add_mem (H.smul_mem s _) (H.add_mem (H.smul_mem t _) (H.lie_mem hv hw))
[GOAL]
case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.a.refine'_1
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
s : R
hu₂ : s • x ∈ Submodule.span R {x}
⊢ ⁅v, x⁆ ∈ H
case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.a.refine'_2
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
hx : x ∈ normalizer H
v : L
hv : v ∈ H
w : L
hw : w ∈ H
t : R
hu₁ : t • x ∈ Submodule.span R {x}
s : R
hu₂ : s • x ∈ Submodule.span R {x}
⊢ ⁅x, w⁆ ∈ H
[PROOFSTEP]
exacts [(H.mem_normalizer_iff' x).mp hx v hv, (H.mem_normalizer_iff x).mp hx w hw]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y : L
hx : x ∈ normalizer H
hy : y ∈ H
⊢ ⁅x, y⁆ ∈ H
[PROOFSTEP]
rw [← lie_skew, neg_mem_iff (G := L)]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y : L
hx : x ∈ normalizer H
hy : y ∈ H
⊢ ⁅y, x⁆ ∈ H
[PROOFSTEP]
exact hx ⟨y, hy⟩
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H K : LieSubalgebra R L
h₁ : H ≤ K
h₂ : K ≤ normalizer H
⊢ ∃ I, ↑R { x // x ∈ K } I = ofLe h₁
[PROOFSTEP]
rw [exists_nested_lieIdeal_coe_eq_iff]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H K : LieSubalgebra R L
h₁ : H ≤ K
h₂ : K ≤ normalizer H
⊢ ∀ (x y : L), x ∈ K → y ∈ H → ⁅x, y⁆ ∈ H
[PROOFSTEP]
exact fun x y hx hy => ideal_in_normalizer (h₂ hx) hy
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
⊢ normalizer H = H ↔ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) = ⊥
[PROOFSTEP]
rw [LieSubmodule.eq_bot_iff]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
⊢ normalizer H = H ↔
    ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
[PROOFSTEP]
refine' ⟨fun h => _, fun h => le_antisymm _ H.le_normalizer⟩
[GOAL]
case refine'_1
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
⊢ ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
[PROOFSTEP]
rintro ⟨x⟩ hx
[GOAL]
case refine'_1.mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x : L
hx : Quot.mk Setoid.r x ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
⊢ Quot.mk Setoid.r x = 0
[PROOFSTEP]
suffices x ∈ H by
  rwa [Submodule.Quotient.quot_mk_eq_mk, Submodule.Quotient.mk_eq_zero, coe_toLieSubmodule, mem_coe_submodule]
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x : L
hx : Quot.mk Setoid.r x ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
this : x ∈ H
⊢ Quot.mk Setoid.r x = 0
[PROOFSTEP]
rwa [Submodule.Quotient.quot_mk_eq_mk, Submodule.Quotient.mk_eq_zero, coe_toLieSubmodule, mem_coe_submodule]
[GOAL]
case refine'_1.mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x : L
hx : Quot.mk Setoid.r x ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
⊢ x ∈ H
[PROOFSTEP]
rw [← h, H.mem_normalizer_iff']
[GOAL]
case refine'_1.mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x : L
hx : Quot.mk Setoid.r x ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
⊢ ∀ (y : L), y ∈ H → ⁅y, x⁆ ∈ H
[PROOFSTEP]
intro y hy
[GOAL]
case refine'_1.mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x : L
hx : Quot.mk Setoid.r x ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
y : L
hy : y ∈ H
⊢ ⁅y, x⁆ ∈ H
[PROOFSTEP]
replace hx : ⁅_, LieSubmodule.Quotient.mk' _ x⁆ = 0 := hx ⟨y, hy⟩
[GOAL]
case refine'_1.mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : normalizer H = H
m✝ : L ⧸ toLieSubmodule H
x y : L
hy : y ∈ H
hx : ⁅{ val := y, property := hy }, ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x⁆ = 0
⊢ ⁅y, x⁆ ∈ H
[PROOFSTEP]
rwa [← LieModuleHom.map_lie, LieSubmodule.Quotient.mk_eq_zero] at hx
[GOAL]
case refine'_2
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
⊢ normalizer H ≤ H
[PROOFSTEP]
intro x hx
[GOAL]
case refine'_2
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
⊢ x ∈ H
[PROOFSTEP]
let y := LieSubmodule.Quotient.mk' H.toLieSubmodule x
[GOAL]
case refine'_2
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
y : (fun x => L ⧸ toLieSubmodule H) x := ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x
⊢ x ∈ H
[PROOFSTEP]
have hy : y ∈ LieModule.maxTrivSubmodule R H (L ⧸ H.toLieSubmodule) :=
  by
  rintro ⟨z, hz⟩
  rw [← LieModuleHom.map_lie, LieSubmodule.Quotient.mk_eq_zero, coe_bracket_of_module, Submodule.coe_mk,
    mem_toLieSubmodule]
  exact (H.mem_normalizer_iff' x).mp hx z hz
[GOAL]
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
y : (fun x => L ⧸ toLieSubmodule H) x := ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x
⊢ y ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
[PROOFSTEP]
rintro ⟨z, hz⟩
[GOAL]
case mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
y : (fun x => L ⧸ toLieSubmodule H) x := ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x
z : L
hz : z ∈ H
⊢ ⁅{ val := z, property := hz }, y⁆ = 0
[PROOFSTEP]
rw [← LieModuleHom.map_lie, LieSubmodule.Quotient.mk_eq_zero, coe_bracket_of_module, Submodule.coe_mk,
  mem_toLieSubmodule]
[GOAL]
case mk
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
y : (fun x => L ⧸ toLieSubmodule H) x := ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x
z : L
hz : z ∈ H
⊢ ⁅z, x⁆ ∈ H
[PROOFSTEP]
exact (H.mem_normalizer_iff' x).mp hx z hz
[GOAL]
case refine'_2
R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
h : ∀ (m : L ⧸ toLieSubmodule H), m ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H) → m = 0
x : L
hx : x ∈ normalizer H
y : (fun x => L ⧸ toLieSubmodule H) x := ↑(LieSubmodule.Quotient.mk' (toLieSubmodule H)) x
hy : y ∈ LieModule.maxTrivSubmodule R { x // x ∈ H } (L ⧸ toLieSubmodule H)
⊢ x ∈ H
[PROOFSTEP]
simpa using h y hy