Skip to content

Commit e99cb01

Browse files
bump
1 parent 61e617e commit e99cb01

File tree

4 files changed

+13
-25
lines changed

4 files changed

+13
-25
lines changed

FltRegular/CaseII/AuxLemmas.lean

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ variable {K : Type*} {p : ℕ} [Field K] [CharZero K] {ζ : K}
66
open scoped nonZeroDivisors
77
open Polynomial
88

9-
--TODO: fix the following proofs using new multiplicity API
10-
11-
lemma WfDvdMonoid.multiplicity_finite_iff {M : Type*} [CancelCommMonoidWithZero M] [WfDvdMonoid M]
12-
{x y : M} :
9+
lemma WfDvdMonoid.multiplicity_finite_iff {M : Type*} [CommMonoidWithZero M] [IsCancelMulZero M]
10+
[WfDvdMonoid M] {x y : M} :
1311
FiniteMultiplicity x y ↔ ¬IsUnit x ∧ y ≠ 0 := by
1412
constructor
1513
· rw [Ne, ← not_or, imp_not_comm]
@@ -20,7 +18,7 @@ lemma WfDvdMonoid.multiplicity_finite_iff {M : Type*} [CancelCommMonoidWithZero
2018
exact FiniteMultiplicity.of_not_isUnit hx hy
2119

2220
lemma dvd_iff_emultiplicity_le {M : Type*}
23-
[CancelCommMonoidWithZero M] [UniqueFactorizationMonoid M]
21+
[CommMonoidWithZero M] [IsCancelMulZero M] [UniqueFactorizationMonoid M]
2422
{a b : M} (ha : a ≠ 0) : a ∣ b ↔ ∀ p : M, Prime p → emultiplicity p a ≤ emultiplicity p b := by
2523
constructor
2624
· intro hab p _
@@ -52,8 +50,8 @@ lemma dvd_iff_emultiplicity_le {M : Type*}
5250
Nat.cast_le, add_comm, add_le_add_iff_left] at this
5351
exact le_emultiplicity_of_le_multiplicity this
5452

55-
lemma pow_dvd_pow_iff_dvd {M : Type*} [CancelCommMonoidWithZero M] [UniqueFactorizationMonoid M]
56-
{a b : M} {x : ℕ} (h' : x ≠ 0) : a ^ x ∣ b ^ x ↔ a ∣ b := by
53+
lemma pow_dvd_pow_iff_dvd {M : Type*} [CommMonoidWithZero M] [IsCancelMulZero M]
54+
[UniqueFactorizationMonoid M] {a b : M} {x : ℕ} (h' : x ≠ 0) : a ^ x ∣ b ^ x ↔ a ∣ b := by
5755
classical
5856
by_cases ha : a = 0
5957
· simp [ha, h']
@@ -164,9 +162,6 @@ lemma exists_not_dvd_spanSingleton_eq {R : Type*} [CommRing R] [IsDomain R] [IsD
164162
obtain ⟨n, hn⟩ := FiniteMultiplicity.of_not_isUnit hx.not_unit h
165163
obtain ⟨m, hm⟩ := FiniteMultiplicity.of_not_isUnit hx.not_unit (nonZeroDivisors.ne_zero t.prop)
166164
rw [IsFractionRing.mk'_eq_div] at ha
167-
refine this (n + m + 1) (Nat.le_add_left 1 (n + m)) ⟨s, t, ?_, ?_, ha.symm⟩
168-
· intro hs
169-
refine hn (dvd_trans (pow_dvd_pow _ ?_) hs)
170-
linarith
171-
· intro ht
172-
refine hm (dvd_trans (pow_dvd_pow _ (Nat.le_add_left _ _)) ht)
165+
refine this (n + m + 1) (Nat.le_add_left 1 (n + m)) ⟨s, t, (fun hs ↦ ?_), (fun ht ↦ ?_), ha.symm⟩
166+
· exact hn (dvd_trans (pow_dvd_pow _ (by linarith)) hs)
167+
· exact hm (dvd_trans (pow_dvd_pow _ (Nat.le_add_left _ _)) ht)

FltRegular/NumberTheory/Hilbert92.lean

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -613,11 +613,6 @@ lemma relativeUnitsModule_zeta_smul (x) :
613613
LinearEquiv.symm_apply_apply, Module.End.smul_def, unit_to_U]
614614
rfl
615615

616-
local instance {M} [AddCommGroup M] : NoZeroSMulDivisors ℤ (M ⧸ AddCommGroup.torsion M) := by
617-
rw [← Submodule.torsion_int]
618-
change NoZeroSMulDivisors ℤ (M ⧸ Submodule.torsion ℤ M)
619-
infer_instance
620-
621616
local instance : Module.Finite ℤ (Additive <| RelativeUnits k K) :=
622617
inferInstanceAs
623618
(Module.Finite ℤ (Additive (𝓞 K)ˣ ⧸ AddSubgroup.toIntSubmodule (Subgroup.toAddSubgroup
@@ -630,8 +625,6 @@ local instance : Module.Finite ℤ G := Module.Finite.of_surjective
630625
(M := Additive (relativeUnitsWithGenerator p hp hKL σ hσ))
631626
(QuotientAddGroup.mk' _).toIntLinearMap (QuotientAddGroup.mk'_surjective _)
632627

633-
local instance : Module.Free ℤ G := Module.free_of_finite_type_torsion_free'
634-
635628
noncomputable
636629
def unitlifts (S : systemOfUnits p G (NumberField.Units.rank k + 1)) :
637630
Fin (NumberField.Units.rank k + 1) → Additive (𝓞 K)ˣ :=

FltRegular/NumberTheory/Unramified.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ class IsUnramified (R S : Type*) [CommRing R] [CommRing S] [Algebra R S] : Prop
3838
variable {R} {S}
3939

4040
lemma prod_primesOverFinset_of_isUnramified [IsUnramified R S] [IsDedekindDomain S]
41-
[NoZeroSMulDivisors R S] (p : Ideal R) [p.IsPrime] (hp : p ≠ ⊥) :
41+
[Module.IsTorsionFree R S] (p : Ideal R) [p.IsPrime] (hp : p ≠ ⊥) :
4242
∏ P ∈ primesOverFinset p S, P = p.map (algebraMap R S) := by
4343
classical
4444
have hpbot' : p.map (algebraMap R S) ≠ ⊥ := (Ideal.map_eq_bot_iff_of_injective
45-
(NoZeroSMulDivisors.iff_algebraMap_injective.mp ‹_›)).not.mpr hp
45+
(NoZeroSMulDivisors.iff_algebraMap_injective.mp inferInstance)).not.mpr hp
4646
rw [← associated_iff_eq.mp (factors_pow_count_prod hpbot')]
4747
apply Finset.prod_congr rfl
4848
intros P hP

lake-manifest.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"type": "git",
66
"subDir": null,
77
"scope": "",
8-
"rev": "cc1a61983e46cf9185c198e96f15542336dc2413",
8+
"rev": "837f89af8e04d19de80221cb2b339049c998f7a4",
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": "53b324fd0c646e0b2d68cbaae666d40a02d20517",
28+
"rev": "a720914be0e2cd39010bbc46d7736c8aeb209d2e",
2929
"name": "mathlib",
3030
"manifestFile": "lake-manifest.json",
3131
"inputRev": null,
@@ -135,7 +135,7 @@
135135
"type": "git",
136136
"subDir": null,
137137
"scope": "leanprover-community",
138-
"rev": "5ba0380f2fb45c69448d80429ef6c22bf5973cfa",
138+
"rev": "c82094b2c4065eb1e3121a7e202cd8d7cc1bc66c",
139139
"name": "batteries",
140140
"manifestFile": "lake-manifest.json",
141141
"inputRev": "main",

0 commit comments

Comments
 (0)