Theorem: LieSubmodule.traceForm_eq_of_le_idealizer
File: Mathlib/Algebra/Lie/TraceForm.lean

Proof steps:
state_before: R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x y : L
hy : y ∈ I
⊢ traceForm R ↥↑I ↥↑N = (traceForm R L M).restrict (lieIdealSubalgebra R L I).toSubmodule
state_after: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ =
    (((traceForm R L M).restrict (lieIdealSubalgebra R L I).toSubmodule) ⟨x, hx⟩) ⟨y, hy⟩
tactic: ext ⟨x, hx⟩ ⟨y, hy⟩
state_before: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ =
    (((traceForm R L M).restrict (lieIdealSubalgebra R L I).toSubmodule) ⟨x, hx⟩) ⟨y, hy⟩
state_after: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ = (trace R M) (φ x ∘ₗ φ y)
tactic: change _ = trace R M (φ x ∘ₗ φ y)
state_before: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ = (trace R M) (φ x ∘ₗ φ y)
state_after: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ = (trace R ↥↑N) ((φ x ∘ₗ φ y).restrict ⋯)
tactic: rw [N.trace_eq_trace_restrict_of_le_idealizer I h x hy]
state_before: case H.mk.mk
R : Type u_1
K : Type u_2
L : 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✝³ : Module.Free R M
inst✝² : Module.Finite R M
inst✝¹ : IsDomain R
inst✝ : IsPrincipalIdealRing R
N : LieSubmodule R L M
I : LieIdeal R L
h : I ≤ N.idealizer
x✝ y✝ : L
hy✝ : y✝ ∈ I
x : L
hx : x ∈ ↑I
y : L
hy : y ∈ ↑I
⊢ ((traceForm R ↥↑I ↥↑N) ⟨x, hx⟩) ⟨y, hy⟩ = (trace R ↥↑N) ((φ x ∘ₗ φ y).restrict ⋯)
state_after: no goals
tactic: rfl