@@ -54,23 +54,22 @@ open Submodule
5454
5555variable {τ₁₂ : R →+* R₂} {τ₂₃ : R₂ →+* R₃} {τ₁₃ : R →+* R₃}
5656variable [RingHomCompTriple τ₁₂ τ₂₃ τ₁₃]
57- variable {F : Type *} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂]
5857
5958/-- The kernel of a linear map `f : M → M₂` is defined to be `comap f ⊥`. This is equivalent to the
6059set of `x : M` such that `f x = 0`. The kernel is a submodule of `M`. -/
61- def ker (f : F ) : Submodule R M :=
60+ def ker (f : M →ₛₗ[τ₁₂] M₂ ) : Submodule R M :=
6261 comap f ⊥
6362
6463@[simp]
65- theorem mem_ker {f : F } {y} : y ∈ ker f ↔ f y = 0 :=
64+ theorem mem_ker {f : M →ₛₗ[τ₁₂] M₂ } {y} : y ∈ ker f ↔ f y = 0 :=
6665 mem_bot R₂
6766
6867@[simp]
6968theorem ker_id : ker (LinearMap.id : M →ₗ[R] M) = ⊥ :=
7069 rfl
7170
7271@[simp]
73- theorem map_coe_ker (f : F ) (x : ker f) : f x = 0 :=
72+ theorem map_coe_ker (f : M →ₛₗ[τ₁₂] M₂ ) (x : ker f) : f x = 0 :=
7473 mem_ker.1 x.2
7574
7675theorem ker_toAddSubmonoid (f : M →ₛₗ[τ₁₂] M₂) : (ker f).toAddSubmonoid = (AddMonoidHom.mker f) :=
@@ -101,18 +100,18 @@ theorem ker_le_comap {p : Submodule R₂ M₂} (f : M →ₛₗ[τ₁₂] M₂)
101100 ker f ≤ p.comap f :=
102101 fun x hx ↦ by simp [mem_ker.mp hx]
103102
104- theorem disjoint_ker {f : F } {p : Submodule R M} :
103+ theorem disjoint_ker {f : M →ₛₗ[τ₁₂] M₂ } {p : Submodule R M} :
105104 Disjoint p (ker f) ↔ ∀ x ∈ p, f x = 0 → x = 0 := by
106105 simp [disjoint_def]
107106
108- theorem ker_eq_bot' {f : F } : ker f = ⊥ ↔ ∀ m, f m = 0 → m = 0 := by
107+ theorem ker_eq_bot' {f : M →ₛₗ[τ₁₂] M₂ } : ker f = ⊥ ↔ ∀ m, f m = 0 → m = 0 := by
109108 simpa [disjoint_iff_inf_le] using disjoint_ker (f := f) (p := ⊤)
110109
111110theorem ker_eq_bot_of_inverse {τ₂₁ : R₂ →+* R} [RingHomInvPair τ₁₂ τ₂₁] {f : M →ₛₗ[τ₁₂] M₂}
112111 {g : M₂ →ₛₗ[τ₂₁] M} (h : (g.comp f : M →ₗ[R] M) = id) : ker f = ⊥ :=
113112 ker_eq_bot'.2 fun m hm => by rw [← id_apply (R := R) m, ← h, comp_apply, hm, g.map_zero]
114113
115- theorem le_ker_iff_map [RingHomSurjective τ₁₂] {f : F } {p : Submodule R M} :
114+ theorem le_ker_iff_map [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂ } {p : Submodule R M} :
116115 p ≤ ker f ↔ map f p = ⊥ := by rw [ker, eq_bot_iff, map_le_iff_le_comap]
117116
118117theorem ker_codRestrict {τ₂₁ : R₂ →+* R} (p : Submodule R M) (f : M₂ →ₛₗ[τ₂₁] M) (hf) :
@@ -144,7 +143,7 @@ theorem exists_ne_zero_of_sSup_eq_top {f : M →ₛₗ[τ₁₂] M₂} (h : f
144143theorem _root_.AddMonoidHom.coe_toIntLinearMap_ker {M M₂ : Type *} [AddCommGroup M] [AddCommGroup M₂]
145144 (f : M →+ M₂) : LinearMap.ker f.toIntLinearMap = AddSubgroup.toIntSubmodule f.ker := rfl
146145
147- theorem ker_eq_bot_of_injective {f : F } (hf : Injective f) : ker f = ⊥ := by
146+ theorem ker_eq_bot_of_injective {f : M →ₛₗ[τ₁₂] M₂ } (hf : Injective f) : ker f = ⊥ := by
148147 rw [eq_bot_iff]
149148 intro x hx
150149 simpa only [mem_ker, mem_bot, ← map_zero f, hf.eq_iff] using hx
@@ -167,8 +166,7 @@ variable [Ring R] [Ring R₂]
167166variable [AddCommGroup M] [AddCommGroup M₂]
168167variable [Module R M] [Module R₂ M₂]
169168variable {τ₁₂ : R →+* R₂}
170- variable {F : Type *} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂]
171- variable {f : F}
169+ variable {f : M →ₛₗ[τ₁₂] M₂}
172170
173171open Submodule
174172
@@ -190,12 +188,11 @@ theorem injOn_of_disjoint_ker {p : Submodule R M} {s : Set M} (h : s ⊆ p)
190188 (hd : Disjoint p (ker f)) : Set.InjOn f s :=
191189 disjoint_ker_iff_injOn.mp hd |>.mono h
192190
193- variable (F) in
194- theorem _root_.LinearMapClass.ker_eq_bot : ker f = ⊥ ↔ Injective f := by
191+ theorem ker_eq_bot {f : M →ₛₗ[τ₁₂] M₂} : ker f = ⊥ ↔ Injective f := by
195192 simpa [disjoint_iff_inf_le] using disjoint_ker_iff_injOn (f := f) (p := ⊤)
196193
197- theorem ker_eq_bot {f : M →ₛₗ[τ₁₂] M₂} : ker f = ⊥ ↔ Injective f :=
198- LinearMapClass.ker_eq_bot _
194+ @ [ deprecated (since := "2025-12-23" )]
195+ alias _root_. LinearMapClass.ker_eq_bot := ker_eq_bot
199196
200197@[simp] lemma injective_domRestrict_iff {f : M →ₛₗ[τ₁₂] M₂} {S : Submodule R M} :
201198 Injective (f.domRestrict S) ↔ S ⊓ LinearMap.ker f = ⊥ := by
@@ -242,12 +239,11 @@ variable [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₂]
242239variable [Module R M] [Module R₂ M₂]
243240variable (p : Submodule R M)
244241variable {τ₁₂ : R →+* R₂}
245- variable {F : Type *} [FunLike F M M₂] [SemilinearMapClass F τ₁₂ M M₂]
246242
247243open LinearMap
248244
249245@[simp]
250- theorem comap_bot (f : F ) : comap f ⊥ = ker f :=
246+ theorem comap_bot (f : M →ₛₗ[τ₁₂] M₂ ) : comap f ⊥ = ker f :=
251247 rfl
252248
253249@[simp]
0 commit comments