Skip to content

Commit f9a2ea2

Browse files
bump
1 parent 8973978 commit f9a2ea2

File tree

6 files changed

+31
-29
lines changed

6 files changed

+31
-29
lines changed

FltRegular/CaseII/AuxLemmas.lean

+16-16
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ open Polynomial
1111

1212
lemma WfDvdMonoid.multiplicity_finite_iff {M : Type*} [CancelCommMonoidWithZero M] [WfDvdMonoid M]
1313
{x y : M} :
14-
multiplicity.Finite x y ↔ ¬IsUnit x ∧ y ≠ 0 := by
14+
FiniteMultiplicity x y ↔ ¬IsUnit x ∧ y ≠ 0 := by
1515
constructor
1616
· rw [← not_imp_not, Ne, ← not_or, not_not]
1717
rintro (hx|hy)
1818
· exact fun ⟨n, hn⟩ ↦ hn (hx.pow _).dvd
1919
· simp [hy]
2020
· intro ⟨hx, hy⟩
21-
exact multiplicity.finite_of_not_isUnit hx hy
21+
exact FiniteMultiplicity.of_not_isUnit hx hy
2222

2323
lemma dvd_iff_emultiplicity_le {M : Type*}
2424
[CancelCommMonoidWithZero M] [DecidableRel (fun a b : M ↦ a ∣ b)] [UniqueFactorizationMonoid M]
@@ -44,12 +44,12 @@ lemma dvd_iff_emultiplicity_le {M : Type*}
4444
rw [← pow_one q, pow_dvd_iff_le_emultiplicity]
4545
have := H q hq
4646
rw [emultiplicity_mul hq, emultiplicity_mul hq,
47-
multiplicity.Finite.emultiplicity_eq_multiplicity (WfDvdMonoid.multiplicity_finite_iff.2
48-
⟨hq.not_unit, hb.2⟩), multiplicity.Finite.emultiplicity_eq_multiplicity
49-
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hq.not_unit, ha.2⟩), multiplicity.Finite.emultiplicity_eq_multiplicity (WfDvdMonoid.multiplicity_finite_iff.2
47+
FiniteMultiplicity.emultiplicity_eq_multiplicity (WfDvdMonoid.multiplicity_finite_iff.2
48+
⟨hq.not_unit, hb.2⟩), FiniteMultiplicity.emultiplicity_eq_multiplicity
49+
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hq.not_unit, ha.2⟩), FiniteMultiplicity.emultiplicity_eq_multiplicity (WfDvdMonoid.multiplicity_finite_iff.2
5050
⟨hq.not_unit, hq.ne_zero⟩), multiplicity_self, ← Nat.cast_add, ← Nat.cast_add,
5151
Nat.cast_le, add_comm, add_le_add_iff_left] at this
52-
rwa [multiplicity.Finite.emultiplicity_eq_multiplicity
52+
rwa [FiniteMultiplicity.emultiplicity_eq_multiplicity
5353
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hq.not_unit, hb.2⟩), Nat.cast_one,
5454
Nat.one_le_cast]
5555

@@ -64,25 +64,25 @@ lemma pow_dvd_pow_iff_dvd {M : Type*} [CancelCommMonoidWithZero M] [UniqueFactor
6464
rw [dvd_iff_emultiplicity_le ha, dvd_iff_emultiplicity_le ha']
6565
refine forall₂_congr (fun p hp ↦ ⟨fun h ↦ ?_, fun h ↦ ?_⟩)
6666
· rw [emultiplicity_pow hp, emultiplicity_pow hp,
67-
multiplicity.Finite.emultiplicity_eq_multiplicity
67+
FiniteMultiplicity.emultiplicity_eq_multiplicity
6868
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, ha⟩),
69-
multiplicity.Finite.emultiplicity_eq_multiplicity
69+
FiniteMultiplicity.emultiplicity_eq_multiplicity
7070
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, hb⟩), ← Nat.cast_mul, ← Nat.cast_mul,
7171
Nat.cast_le] at h
72-
rw [multiplicity.Finite.emultiplicity_eq_multiplicity
72+
rw [FiniteMultiplicity.emultiplicity_eq_multiplicity
7373
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, ha⟩),
74-
multiplicity.Finite.emultiplicity_eq_multiplicity
74+
FiniteMultiplicity.emultiplicity_eq_multiplicity
7575
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, hb⟩), Nat.cast_le]
7676
exact le_of_nsmul_le_nsmul_right h' h
7777
· rw [emultiplicity_pow hp, emultiplicity_pow hp,
78-
multiplicity.Finite.emultiplicity_eq_multiplicity
78+
FiniteMultiplicity.emultiplicity_eq_multiplicity
7979
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, ha⟩),
80-
multiplicity.Finite.emultiplicity_eq_multiplicity
80+
FiniteMultiplicity.emultiplicity_eq_multiplicity
8181
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, hb⟩), ← Nat.cast_mul, ← Nat.cast_mul,
8282
Nat.cast_le]
83-
rw [multiplicity.Finite.emultiplicity_eq_multiplicity
83+
rw [FiniteMultiplicity.emultiplicity_eq_multiplicity
8484
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, ha⟩),
85-
multiplicity.Finite.emultiplicity_eq_multiplicity
85+
FiniteMultiplicity.emultiplicity_eq_multiplicity
8686
(WfDvdMonoid.multiplicity_finite_iff.2 ⟨hp.not_unit, hb⟩),
8787
Nat.cast_le] at h
8888
exact Nat.mul_le_mul_left x h
@@ -173,8 +173,8 @@ lemma exists_not_dvd_spanSingleton_eq {R : Type*} [CommRing R] [IsDomain R] [IsD
173173
by_cases h : s = 0
174174
· rw [div_eq_iff hJ', h, IsLocalization.mk'_zero, spanSingleton_zero, zero_mul] at ha
175175
exact hI' ha
176-
obtain ⟨n, hn⟩ := multiplicity.finite_of_not_isUnit hx.not_unit h
177-
obtain ⟨m, hm⟩ := multiplicity.finite_of_not_isUnit hx.not_unit (nonZeroDivisors.ne_zero t.prop)
176+
obtain ⟨n, hn⟩ := FiniteMultiplicity.of_not_isUnit hx.not_unit h
177+
obtain ⟨m, hm⟩ := FiniteMultiplicity.of_not_isUnit hx.not_unit (nonZeroDivisors.ne_zero t.prop)
178178
rw [IsFractionRing.mk'_eq_div] at ha
179179
refine this (n + m + 1) (Nat.le_add_left 1 (n + m)) ⟨s, t, ?_, ?_, ha.symm⟩
180180
· intro hs

FltRegular/CaseII/Statement.lean

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ lemma not_exists_solution' :
3232
obtain ⟨m, z, hm, hz'', rfl⟩ :
3333
∃ m z', 1 ≤ m ∧ ¬((hζ.unit' : 𝓞 K) - 1 ∣ z') ∧ z = ((hζ.unit' : 𝓞 K) - 1) ^ m * z' := by
3434
classical
35-
have H : multiplicity.Finite ((hζ.unit' : 𝓞 K) - 1) z := multiplicity.finite_of_not_isUnit
35+
have H : FiniteMultiplicity ((hζ.unit' : 𝓞 K) - 1) z := FiniteMultiplicity.of_not_isUnit
3636
hζ.zeta_sub_one_prime'.not_unit hz'
3737
obtain ⟨z', h⟩ := pow_multiplicity_dvd ((hζ.unit' : 𝓞 K) - 1) z
3838
refine ⟨_, _, ?_, ?_, h⟩
39-
· rwa [← Nat.cast_le (α := ENat), ← multiplicity.Finite.emultiplicity_eq_multiplicity H,
39+
· rwa [← Nat.cast_le (α := ENat), ← FiniteMultiplicity.emultiplicity_eq_multiplicity H,
4040
← pow_dvd_iff_le_emultiplicity, pow_one]
4141
· intro h'
4242
have := mul_dvd_mul_left (((hζ.unit' : 𝓞 K) - 1) ^ (multiplicity ((hζ.unit' : 𝓞 K) - 1) z)) h'
4343
rw [← pow_succ, ← h] at this
4444
refine not_pow_dvd_of_emultiplicity_lt ?_ this
45-
rw [multiplicity.Finite.emultiplicity_eq_multiplicity H, Nat.cast_lt]
45+
rw [FiniteMultiplicity.emultiplicity_eq_multiplicity H, Nat.cast_lt]
4646
exact Nat.lt_succ_self _
4747
refine not_exists_solution hp hreg hζ hm ⟨x, y, z, 1, hy, hz'', ?_⟩
4848
rwa [Units.val_one, one_mul]

FltRegular/NumberTheory/GaloisPrime.lean

+2-3
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,7 @@ def Ideal.ramificationIdxIn (p : Ideal R) : ℕ :=
224224
open scoped Classical in
225225
noncomputable
226226
def Ideal.inertiaDegIn (p : Ideal R) [p.IsMaximal] : ℕ :=
227-
if h : (primesOver S p).Nonempty then
228-
Ideal.inertiaDeg (algebraMap R S) p h.choose else 0
227+
if h : (primesOver S p).Nonempty then Ideal.inertiaDeg p h.choose else 0
229228

230229
variable (R)
231230

@@ -268,7 +267,7 @@ lemma Ideal.ramificationIdxIn_eq_ramificationIdx [IsGalois K L] (p : Ideal R) (P
268267

269268
lemma Ideal.inertiaDegIn_eq_inertiaDeg [IsGalois K L] (p : Ideal R) (P : Ideal S)
270269
(hP : P ∈ primesOver S p) [p.IsMaximal] :
271-
p.inertiaDegIn S = Ideal.inertiaDeg (algebraMap R S) p P := by
270+
p.inertiaDegIn S = Ideal.inertiaDeg p P := by
272271
delta inertiaDegIn
273272
have : (primesOver S p).Nonempty := ⟨P, hP⟩
274273
rw [dif_pos this]

FltRegular/NumberTheory/Hilbert92.lean

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import Mathlib.Data.Int.Star
66
import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem
77
import Mathlib.Order.CompletePartialOrder
88
import Mathlib.RingTheory.Henselian
9-
import Mathlib.LinearAlgebra.Dimension.Torsion
9+
import Mathlib.LinearAlgebra.Dimension.Torsion.Basic
10+
import Mathlib.LinearAlgebra.Dimension.Torsion.Finite
1011
import Mathlib.GroupTheory.FiniteAbelian.Basic
1112

1213
open scoped NumberField nonZeroDivisors
@@ -399,7 +400,8 @@ open multiplicity in
399400
theorem padicValNat_dvd_iff_le' {p : ℕ} (hp : p ≠ 1) {a n : ℕ} (ha : a ≠ 0) :
400401
p ^ n ∣ a ↔ n ≤ padicValNat p a := by
401402
rw [pow_dvd_iff_le_emultiplicity, padicValNat_def' hp ha.bot_lt]
402-
exact ⟨fun h ↦ Finite.le_multiplicity_of_le_emultiplicity (Nat.multiplicity_finite_iff.2
403+
exact ⟨fun h ↦ FiniteMultiplicity.le_multiplicity_of_le_emultiplicity
404+
(Nat.finiteMultiplicity_iff.2
403405
⟨hp, Nat.zero_lt_of_ne_zero ha⟩) h, fun h ↦ le_emultiplicity_of_le_multiplicity h⟩
404406

405407
theorem padicValNat_dvd_iff' {p : ℕ} (hp : p ≠ 1) (n : ℕ) (a : ℕ) :

FltRegular/NumberTheory/Hilbert94.lean

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ variable {A B : Type*} [CommRing A] [CommRing B] [Algebra A B] [Algebra A L] [Al
1818
[Algebra B L] [IsScalarTower A B L] [IsScalarTower A K L] [IsFractionRing A K]
1919
[IsIntegralClosure B A L]
2020

21+
set_option synthInstance.maxHeartbeats 160000 in
2122
include hσ in
2223
lemma comap_span_galRestrict_eq_of_cyclic (β : B) (η : Bˣ) (hβ : η * (galRestrict A K L B σ) β = β)
2324
(σ' : L ≃ₐ[K] L) :

lake-manifest.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"type": "git",
66
"subDir": null,
77
"scope": "",
8-
"rev": "099b90e374ba73983c3fda87595be625f1931669",
8+
"rev": "e837a30396accd8c8cf8b71e85199412f5a05d2c",
99
"name": "«doc-gen4»",
1010
"manifestFile": "lake-manifest.json",
1111
"inputRev": "main",
@@ -25,7 +25,7 @@
2525
"type": "git",
2626
"subDir": null,
2727
"scope": "",
28-
"rev": "67d092e380faf850fd6a1febf81c27fb33c6c5c8",
28+
"rev": "3c9302f1c89690f1c68477fe9f31c228847b7c46",
2929
"name": "mathlib",
3030
"manifestFile": "lake-manifest.json",
3131
"inputRev": null,
@@ -115,10 +115,10 @@
115115
"type": "git",
116116
"subDir": null,
117117
"scope": "leanprover-community",
118-
"rev": "8b6048aa0a4a4b6bcf83597802d8dee734e64b7e",
118+
"rev": "43bcb1964528411e47bfa4edd0c87d1face1fce4",
119119
"name": "aesop",
120120
"manifestFile": "lake-manifest.json",
121-
"inputRev": "v4.15.0-rc1",
121+
"inputRev": "master",
122122
"inherited": true,
123123
"configFile": "lakefile.toml"},
124124
{"url": "https://github.com/leanprover-community/quote4",
@@ -135,7 +135,7 @@
135135
"type": "git",
136136
"subDir": null,
137137
"scope": "leanprover-community",
138-
"rev": "c016aa9938c4cedc9b7066099f99bcae1b1af625",
138+
"rev": "9e583efcea920afa13ee2a53069821a2297a94c0",
139139
"name": "batteries",
140140
"manifestFile": "lake-manifest.json",
141141
"inputRev": "main",

0 commit comments

Comments
 (0)