Skip to content

Commit ee574f3

Browse files
tb65536grunweg
authored andcommitted
feat(RingTheory/RamificationInertia/Ramification): relate ramificationIdx' to Algebra.IsUnramifiedAt (leanprover-community#39074)
This PR relates the new `ramificationIdx'` (which will eventually replace `ramificationIdx`) to `Algebra.IsUnramifiedAt`. Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent 18bedee commit ee574f3

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Mathlib/RingTheory/RamificationInertia/Ramification.lean

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ module
88
public import Mathlib.NumberTheory.RamificationInertia.Ramification
99
public import Mathlib.RingTheory.Flat.Localization
1010
public import Mathlib.RingTheory.LocalRing.Length
11+
public import Mathlib.RingTheory.LocalRing.ResidueField.Instances
12+
public import Mathlib.RingTheory.Unramified.LocalRing
1113

1214
/-!
1315
# Ramification index
@@ -60,6 +62,34 @@ theorem ramificationIdx'_def [q.IsPrime] :
6062
theorem ramificationIdx'_of_not_isPrime (hq : ¬ q.IsPrime) : q.ramificationIdx' R = 0 :=
6163
dif_neg hq
6264

65+
theorem ramificationIdx'_eq_one [q.IsPrime] [Algebra.EssFiniteType R S]
66+
[Algebra.IsUnramifiedAt R q] : q.ramificationIdx' R = 1 := by
67+
let p := q.under R
68+
let Rp := Localization.AtPrime p
69+
let Sq := Localization.AtPrime q
70+
let : Algebra Rp Sq := Localization.AtPrime.algebraOfLiesOver p q
71+
have : Algebra.EssFiniteType Rp Sq := Algebra.EssFiniteType.of_comp R Rp Sq
72+
rw [ramificationIdx'_def, ENat.toNat_eq_iff_eq_coe, Nat.cast_one, Module.length_eq_one_iff,
73+
isSimpleModule_iff_isCoatom, ← Ideal.isMaximal_def, IsLocalRing.isMaximal_iff,
74+
IsScalarTower.algebraMap_eq R Rp Sq, ← map_map, Localization.AtPrime.map_eq_maximalIdeal]
75+
exact Algebra.FormallyUnramified.map_maximalIdeal
76+
77+
theorem ramificationIdx'_eq_one_iff [q.IsPrime] [Algebra.EssFiniteType R S]
78+
[Algebra.IsIntegral R S] [PerfectField (q.under R).ResidueField] :
79+
q.ramificationIdx' R = 1 ↔ Algebra.IsUnramifiedAt R q := by
80+
refine ⟨fun h ↦ ?_, fun _ ↦ ramificationIdx'_eq_one q R⟩
81+
rw [ramificationIdx'_def, ENat.toNat_eq_iff_eq_coe, Nat.cast_one, Module.length_eq_one_iff,
82+
isSimpleModule_iff_isCoatom, ← Ideal.isMaximal_def, IsLocalRing.isMaximal_iff] at h
83+
let p := q.under R
84+
let Rp := Localization.AtPrime p
85+
let Sq := Localization.AtPrime q
86+
let := Localization.AtPrime.algebraOfLiesOver p q
87+
have := Algebra.EssFiniteType.of_comp R Rp Sq
88+
suffices Algebra.FormallyUnramified Rp Sq from Algebra.FormallyUnramified.comp R Rp Sq
89+
rw [Algebra.FormallyUnramified.iff_map_maximalIdeal_eq,
90+
← Localization.AtPrime.map_eq_maximalIdeal, map_map, ← IsScalarTower.algebraMap_eq]
91+
exact ⟨Algebra.IsAlgebraic.isSeparable_of_perfectField, h⟩
92+
6393
end
6494

6595
section

0 commit comments

Comments
 (0)