@@ -239,21 +239,17 @@ theorem IsGaloisGroup.iff_isFractionRing [Finite G] [IsIntegrallyClosed A] :
239239@ [deprecated (since := "2026-04-20" )] alias FractionRing.mulSemiringAction_of_isGaloisGroup :=
240240 IsFractionRing.mulSemiringAction
241241
242- attribute [local instance ] FractionRing.liftAlgebra in
243242/--
244243If `G` is finite and `IsGaloisGroup G A B` with `A` and `B` domains, then `G` is also
245244a Galois group for `FractionRing B / FractionRing A` for the action defined by
246245`IsFractionRing.mulSemiringAction`.
247246-/
248- theorem IsGaloisGroup.toFractionRing [IsDomain A] [IsDomain B] [IsTorsionFree A B] [Finite G]
249- [IsGaloisGroup G A B] :
250- letI := IsFractionRing.mulSemiringAction G A B (FractionRing A) (FractionRing B)
247+ instance IsGaloisGroup.toFractionRing [IsDomain A] [IsDomain B] [IsTorsionFree A B] [Finite G]
248+ [IsGaloisGroup G A B] [Algebra (FractionRing A) (FractionRing B)]
249+ [IsScalarTower A (FractionRing A) (FractionRing B)] :
250+ letI := IsFractionRing.mulSemiringAction G B (FractionRing B)
251251 IsGaloisGroup G (FractionRing A) (FractionRing B) := by
252- let := IsFractionRing.mulSemiringAction G A B (FractionRing A) (FractionRing B)
253- have : SMulDistribClass G B (FractionRing B) := ⟨fun g b x ↦ by
254- rw [Algebra.smul_def', Algebra.smul_def', smul_mul']
255- congr
256- exact IsFractionRing.fieldEquivOfAlgEquiv_algebraMap (FractionRing A) _ _ _ b⟩
252+ let := IsFractionRing.mulSemiringAction G B (FractionRing B)
257253 apply IsGaloisGroup.to_isFractionRing G A B _ _
258254
259255open NumberField
@@ -314,7 +310,7 @@ protected theorem finite (R B : Type*) [CommRing R] [CommRing B] [Algebra R B] [
314310 [IsDomain B] [MulSemiringAction G B] [IsGaloisGroup G R B] : Finite G := by
315311 let A : Subring B := (algebraMap R B).range
316312 let := FractionRing.liftAlgebra A (FractionRing B)
317- let := IsFractionRing.mulSemiringAction G A B (FractionRing A) (FractionRing B)
313+ let := IsFractionRing.mulSemiringAction G B (FractionRing B)
318314 let : Algebra R A := (algebraMap R B).rangeRestrict.toAlgebra
319315 have : IsScalarTower R A B := IsScalarTower.of_algebraMap_eq' rfl
320316 have : Module.Finite A B := Module.Finite.of_restrictScalars_finite R A B
@@ -331,9 +327,9 @@ theorem card_eq_finrank' (A B : Type*) [CommRing A] [CommRing B] [Algebra A B] [
331327 Nat.card G = Module.finrank A B := by
332328 have := IsDomain.of_faithfulSMul A B
333329 let := FractionRing.liftAlgebra A (FractionRing B)
334- let := IsFractionRing.mulSemiringAction G A B (FractionRing A) (FractionRing B)
330+ let := IsFractionRing.mulSemiringAction G B (FractionRing B)
335331 have : Algebra.IsIntegral A B := IsGaloisGroup.isInvariant.isIntegral A B G
336- rw [( IsGaloisGroup.toFractionRing G A B).card_eq_finrank ,
332+ rw [IsGaloisGroup.card_eq_finrank G (FractionRing A) (FractionRing B) ,
337333 Algebra.IsAlgebraic.finrank_of_isFractionRing A (FractionRing A) B (FractionRing B)]
338334
339335/-- If `G` is a finite Galois group for `L/K`, then `G` is isomorphic to `Gal(L/K)`. -/
@@ -374,10 +370,8 @@ noncomputable def mulEquivCongr [Finite G] [Finite G'] (A B : Type*) [CommRing A
374370 haveI : IsDomain A := (FaithfulSMul.algebraMap_injective A B).isDomain
375371 letI K := FractionRing A
376372 letI L := FractionRing B
377- letI : MulSemiringAction G L := IsFractionRing.mulSemiringAction G A B K L
378- letI : MulSemiringAction G' L := IsFractionRing.mulSemiringAction G' A B K L
379- haveI : IsGaloisGroup G K L := IsGaloisGroup.toFractionRing G A B
380- haveI : IsGaloisGroup G' K L := IsGaloisGroup.toFractionRing G' A B
373+ letI : MulSemiringAction G L := IsFractionRing.mulSemiringAction G B L
374+ letI : MulSemiringAction G' L := IsFractionRing.mulSemiringAction G' B L
381375 mulEquivCongr' G G' K L
382376
383377attribute [local instance ] FractionRing.liftAlgebra in
@@ -389,10 +383,8 @@ theorem mulEquivCongr_apply_smul [Finite G] [Finite G'] (A B : Type*) [CommRing
389383 haveI : IsDomain A := (FaithfulSMul.algebraMap_injective A B).isDomain
390384 letI K := FractionRing A
391385 letI L := FractionRing B
392- letI : MulSemiringAction G L := IsFractionRing.mulSemiringAction G A B K L
393- letI : MulSemiringAction G' L := IsFractionRing.mulSemiringAction G' A B K L
394- haveI : IsGaloisGroup G K L := IsGaloisGroup.toFractionRing G A B
395- haveI : IsGaloisGroup G' K L := IsGaloisGroup.toFractionRing G' A B
386+ letI : MulSemiringAction G L := IsFractionRing.mulSemiringAction G B L
387+ letI : MulSemiringAction G' L := IsFractionRing.mulSemiringAction G' B L
396388 apply FaithfulSMul.algebraMap_injective B L
397389 rw [algebraMap.smul', algebraMap.smul']
398390 exact mulEquivCongr'_apply_smul G G' K L g _
@@ -576,8 +568,7 @@ theorem fixingSubgroup_range_algebraMap [Finite G] (A B C : Type*) (H : Subgroup
576568 have : IsDomain A := (FaithfulSMul.algebraMap_injective A C).isDomain
577569 let K := FractionRing A
578570 let L := FractionRing C
579- let : MulSemiringAction G L := IsFractionRing.mulSemiringAction G A C K L
580- have : IsGaloisGroup G K L := IsGaloisGroup.toFractionRing G A C
571+ let : MulSemiringAction G L := IsFractionRing.mulSemiringAction G C L
581572 have : IsGaloisGroup H (FractionRing B) L := IsGaloisGroup.toFractionRing H B C
582573 rw [← fixingSubgroup_range_algebraMap' G K L H (FractionRing B)]
583574 ext g
0 commit comments