Skip to content

Commit 41f6dd4

Browse files
committed
move and gen. Module.Finite.top_left
1 parent a781008 commit 41f6dd4

2 files changed

Lines changed: 7 additions & 6 deletions

File tree

Mathlib/NumberTheory/FunctionField.lean

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,6 @@ variable {Fq F : Type*} [Field Fq] [Field F] [Algebra (RatFunc Fq) F] [FunctionF
267267

268268
open IntermediateField RatFunc
269269

270-
-- TODO: Generalize and move to `Mathlib.RingTheory.Finiteness.Basic`
271-
variable (R M N) in
272-
variable [CommSemiring R] [CommSemiring M] [Algebra R M] in
273-
instance Module.Finite.top_left [Module.Finite R M] : Module.Finite (⊤ : Subsemiring R) M :=
274-
.of_equiv_equiv (A₁ := R) (Subsemiring.topEquiv.symm) (.refl M) rfl
275-
276270
instance FiniteDimensional.adjoin_X : FiniteDimensional Fq⟮(X : RatFunc Fq)⟯ F := by
277271
have : Module.Finite (⊤ : IntermediateField Fq (RatFunc Fq)) (RatFunc Fq) :=
278272
Module.Finite.top_left (RatFunc Fq) (RatFunc Fq)

Mathlib/RingTheory/Finiteness/Basic.lean

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,12 @@ instance bot : Module.Finite R (⊥ : Submodule R M) := .of_fg fg_bot
329329

330330
instance top [Module.Finite R M] : Module.Finite R (⊤ : Submodule R M) := .of_fg fg_top
331331

332+
instance top_left [Module.Finite R M] : Module.Finite (⊤ : Subsemiring R) M :=
333+
haveI : RingHomSurjective (Subsemiring.topEquiv (R := R)).symm.toRingHom :=
334+
RingHomSurjective.instToRingHomRingEquiv Subsemiring.topEquiv.symm
335+
of_surjective (σ := (Subsemiring.topEquiv (R := R)).symm.toRingHom)
336+
⟨⟨id, fun _ _ ↦ rfl⟩, fun _ _ ↦ rfl⟩ Function.surjective_id
337+
332338
variable {M}
333339

334340
/-- The submodule generated by a finite set is `R`-finite. -/
@@ -356,6 +362,7 @@ theorem trans {R : Type*} (A M : Type*) [Semiring R] [Semiring A] [Module R A]
356362
Finite.image2 _ s.finite_toSet t.finite_toSet,
357363
by rw [image2_smul, span_smul_of_span_eq_top hs (↑t : Set M), ht, restrictScalars_top]⟩⟩
358364

365+
/-- See also `Module.Finite.of_surjective` and `LinearMap.finite_iff_of_bijective`. -/
359366
lemma of_equiv_equiv {A₁ B₁ A₂ B₂ : Type*} [CommSemiring A₁] [CommSemiring B₁]
360367
[CommSemiring A₂] [Semiring B₂] [Algebra A₁ B₁] [Algebra A₂ B₂] (e₁ : A₁ ≃+* A₂)
361368
(e₂ : B₁ ≃+* B₂)

0 commit comments

Comments
 (0)