Skip to content

Commit cd5b636

Browse files
tb65536grunweg
authored andcommitted
feat(FieldTheory/Galois/IsGaloisGroup): add version of IsGaloisGroup.to_isFractionRing assuming only IsIntegral (leanprover-community#39091)
This PR adds a version of `IsGaloisGroup.to_isFractionRing` assuming only `Algebra.IsIntegral A B` (which is weaker than the existing assumption `Finite G`). Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent ee574f3 commit cd5b636

2 files changed

Lines changed: 22 additions & 9 deletions

File tree

Mathlib/FieldTheory/Galois/IsGaloisGroup.lean

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,20 @@ variable (G A B K L : Type*) [Group G] [CommRing A] [CommRing B] [MulSemiringAct
132132
[MulSemiringAction G L] [SMulDistribClass G B L]
133133

134134
/-- `IsGaloisGroup` for rings implies `IsGaloisGroup` for their fraction fields. -/
135-
theorem IsGaloisGroup.to_isFractionRing [Finite G] [hGAB : IsGaloisGroup G A B] :
135+
theorem IsGaloisGroup.to_isFractionRing_of_isIntegral
136+
[Algebra.IsIntegral A B] [hGAB : IsGaloisGroup G A B] :
136137
IsGaloisGroup G K L where
137138
faithful :=
138139
have := hGAB.faithful
139140
IsFractionRing.faithfulSMul G B L
140141
commutes := IsFractionRing.smulCommClass G A B K L
141-
isInvariant := IsFractionRing.isInvariant G A B K L
142+
isInvariant := IsFractionRing.isInvariant_of_isIntegral G A B K L
143+
144+
/-- `IsGaloisGroup` for rings implies `IsGaloisGroup` for their fraction fields. -/
145+
theorem IsGaloisGroup.to_isFractionRing [Finite G] [hGAB : IsGaloisGroup G A B] :
146+
IsGaloisGroup G K L :=
147+
have := hGAB.isInvariant.isIntegral
148+
IsGaloisGroup.to_isFractionRing_of_isIntegral G A B K L
142149

143150
/-- If `B` is an integral extension of an integrally closed domain `A`, then `IsGaloisGroup` for
144151
their fraction fields implies `IsGaloisGroup` for these rings. -/

Mathlib/RingTheory/Invariant/Basic.lean

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -532,18 +532,17 @@ end normal
532532

533533
namespace IsFractionRing
534534

535+
variable (G A B K L : Type*) [Group G] [CommRing A] [CommRing B] [Algebra A B] [Field K] [Field L]
536+
[Algebra K L] [Algebra A K] [Algebra B L] [Algebra A L] [IsFractionRing A K] [IsFractionRing B L]
537+
[IsScalarTower A K L] [IsScalarTower A B L] [MulSemiringAction G B] [MulSemiringAction G L]
538+
[SMulDistribClass G B L] [hAB : Algebra.IsInvariant A B G] [SMulCommClass G A B]
539+
535540
/-- If `G` acts on `B/A` with `A` as the fixed subring, then `G` also acts on `L/K` with `K` as
536541
the fixed subfield, where `K` and `L` are the fraction fields of `A` and `B` respectively. -/
537-
theorem isInvariant (G A B K L : Type*) [Group G] [CommRing A] [CommRing B] [MulSemiringAction G B]
538-
[Algebra A B] [Field K] [Field L] [Algebra K L] [Algebra A K] [Algebra B L] [Algebra A L]
539-
[IsFractionRing A K] [IsFractionRing B L] [IsScalarTower A K L] [IsScalarTower A B L]
540-
[MulSemiringAction G L] [SMulDistribClass G B L] [Finite G] [hAB : Algebra.IsInvariant A B G]
541-
[SMulCommClass G A B] :
542-
Algebra.IsInvariant K L G := by
542+
theorem isInvariant_of_isIntegral [Algebra.IsIntegral A B] : Algebra.IsInvariant K L G := by
543543
refine ⟨fun x h ↦ ?_⟩
544544
have hc (a : A) : (algebraMap K L) (algebraMap A K a) = (algebraMap B L) (algebraMap A B a) := by
545545
simp_rw [← IsScalarTower.algebraMap_apply]
546-
have := hAB.isIntegral A B G
547546
have : Nontrivial A := (IsFractionRing.nontrivial_iff_nontrivial A K).mpr inferInstance
548547
have : Nontrivial B := (IsFractionRing.nontrivial_iff_nontrivial B L).mpr inferInstance
549548
obtain ⟨x, y, hy, rfl⟩ := IsFractionRing.div_surjective B x
@@ -559,4 +558,11 @@ theorem isInvariant (G A B K L : Type*) [Group G] [CommRing A] [CommRing B] [Mul
559558
use algebraMap A K b / algebraMap A K a
560559
rw [hxy, map_div₀, hc, hc]
561560

561+
include A B in
562+
/-- If `G` acts on `B/A` with `A` as the fixed subring, then `G` also acts on `L/K` with `K` as
563+
the fixed subfield, where `K` and `L` are the fraction fields of `A` and `B` respectively. -/
564+
theorem isInvariant [Finite G] : Algebra.IsInvariant K L G :=
565+
have := hAB.isIntegral
566+
isInvariant_of_isIntegral G A B K L
567+
562568
end IsFractionRing

0 commit comments

Comments
 (0)