@@ -5,8 +5,6 @@ Authors: Oliver Nash
55-/
66import Mathlib.Algebra.Algebra.RestrictScalars
77import Mathlib.Algebra.Lie.TensorProduct
8- import Mathlib.LinearAlgebra.TensorProduct.Tower
9- import Mathlib.RingTheory.TensorProduct.Basic
108
119/-!
1210# Extension and restriction of scalars for Lie algebras and Lie modules
@@ -165,16 +163,14 @@ def baseChange : LieSubmodule A (A ⊗[R] L) (A ⊗[R] M) :=
165163 { (N : Submodule R M).baseChange A with
166164 lie_mem := by
167165 intro x m hm
168- simp only [AddSubsemigroup .mem_carrier, AddSubmonoid.mem_toSubsemigroup,
169- Submodule.mem_toAddSubmonoid ] at hm ⊢
166+ rw [Submodule .mem_carrier, SetLike.mem_coe] at hm ⊢
167+ rw [ Submodule.baseChange_eq_span ] at hm
170168 obtain ⟨c, rfl⟩ := (Finsupp.mem_span_iff_linearCombination _ _ _).mp hm
171169 refine x.induction_on (by simp) (fun a y ↦ ?_) (fun y z hy hz ↦ ?_)
172170 · change toEnd A (A ⊗[R] L) (A ⊗[R] M) _ _ ∈ _
173171 simp_rw [Finsupp.linearCombination_apply, Finsupp.sum, map_sum, map_smul, toEnd_apply_apply]
174- suffices ∀ n : (N : Submodule R M).map (TensorProduct.mk R A M 1 ),
175- ⁅a ⊗ₜ[R] y, (n : A ⊗[R] M)⁆ ∈ (N : Submodule R M).baseChange A by
176- exact Submodule.sum_mem _ fun n _ ↦ Submodule.smul_mem _ _ (this n)
177- rintro ⟨-, ⟨n : M, hn : n ∈ N, rfl⟩⟩
172+ refine Submodule.sum_mem _ fun ⟨_, n, hn, h⟩ _ ↦ Submodule.smul_mem _ _ ?_
173+ rw [Subtype.coe_mk, ← h]
178174 exact Submodule.tmul_mem_baseChange_of_mem _ (N.lie_mem hn)
179175 · rw [add_lie]
180176 exact ((N : Submodule R M).baseChange A).add_mem hy hz }
@@ -193,8 +189,8 @@ lemma tmul_mem_baseChange_of_mem (a : A) {m : M} (hm : m ∈ N) :
193189
194190lemma mem_baseChange_iff {m : A ⊗[R] M} :
195191 m ∈ N.baseChange A ↔
196- m ∈ Submodule.span A ((N : Submodule R M).map (TensorProduct.mk R A M 1 )) :=
197- Iff. rfl
192+ m ∈ Submodule.span A ((N : Submodule R M).map (TensorProduct.mk R A M 1 )) := by
193+ rw [← Submodule.baseChange_eq_span]; rfl
198194
199195@[simp]
200196lemma baseChange_bot : (⊥ : LieSubmodule R L M).baseChange A = ⊥ := by
@@ -219,30 +215,11 @@ lemma lie_baseChange {I : LieIdeal R L} {N : LieSubmodule R L M} :
219215 exact ⟨1 ⊗ₜ x, tmul_mem_baseChange_of_mem 1 hx,
220216 1 ⊗ₜ m, tmul_mem_baseChange_of_mem 1 hm, by simp⟩
221217 · rintro - ⟨x, hx, m, hm, rfl⟩
222- revert m
223- apply Submodule.span_induction
224- (p := fun x' _ ↦ ∀ m' ∈ N.baseChange A, ⁅x', m'⁆ ∈ Submodule.span A s) (hx := hx)
225- · rintro _ ⟨y : L, hy : y ∈ I, rfl⟩ m hm
226- apply Submodule.span_induction
227- (p := fun m' _ ↦ ⁅(1 : A) ⊗ₜ[R] y, m'⁆ ∈ Submodule.span A s) (hx := hm)
228- · rintro - ⟨m', hm' : m' ∈ N, rfl⟩
229- rw [TensorProduct.mk_apply, LieAlgebra.ExtendScalars.bracket_tmul, mul_one]
230- apply Submodule.subset_span
231- exact ⟨y, hy, m', hm', rfl⟩
232- · simp
233- · intro u v _ _ hu hv
234- rw [lie_add]
235- exact Submodule.add_mem _ hu hv
236- · intro a u _ hu
237- rw [lie_smul]
238- exact Submodule.smul_mem _ a hu
239- · simp
240- · intro x y _ _ hx hy m' hm'
241- rw [add_lie]
242- exact Submodule.add_mem _ (hx _ hm') (hy _ hm')
243- · intro a x _ hx m' hm'
244- rw [smul_lie]
245- exact Submodule.smul_mem _ a (hx _ hm')
218+ rw [mem_baseChange_iff] at hx hm
219+ refine Submodule.span_induction₂ (p := fun x m _ _ ↦ ⁅x, m⁆ ∈ Submodule.span A s)
220+ ?_ (by simp) (by simp) ?_ ?_ ?_ ?_ hx hm
221+ · rintro - - ⟨x, hx, rfl⟩ ⟨y, hy, rfl⟩; exact Submodule.subset_span ⟨x, hx, y, hy, by simp⟩
222+ all_goals { intros; simp [add_mem, Submodule.smul_mem, *] }
246223
247224end LieSubmodule
248225
0 commit comments