Skip to content

Commit 08ecf0b

Browse files
bump
1 parent 583f0bf commit 08ecf0b

File tree

9 files changed

+17
-186
lines changed

9 files changed

+17
-186
lines changed

FltRegular.lean

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import FltRegular.NumberTheory.Cyclotomic.CyclRat
1010
import FltRegular.NumberTheory.Cyclotomic.MoreLemmas
1111
import FltRegular.NumberTheory.Cyclotomic.UnitLemmas
1212
import FltRegular.NumberTheory.CyclotomicRing
13-
import FltRegular.NumberTheory.Hilbert90
1413
import FltRegular.NumberTheory.Hilbert92
1514
import FltRegular.NumberTheory.Hilbert94
1615
import FltRegular.NumberTheory.KummersLemma.Field

FltRegular/CaseII/InductionStep.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import FltRegular.NumberTheory.KummersLemma.KummersLemma
44
open scoped nonZeroDivisors NumberField
55
open Polynomial
66

7-
variable {K : Type*} {p : ℕ} [NeZero p] [Field K] (hp : p ≠ 2)
7+
variable {K : Type} {p : ℕ} [NeZero p] [Field K] (hp : p ≠ 2)
88

99
variable {ζ : K} (hζ : IsPrimitiveRoot ζ p) {x y z : 𝓞 K} {ε : (𝓞 K)ˣ}
1010

FltRegular/CaseII/Statement.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import FltRegular.CaseII.InductionStep
33
open scoped nonZeroDivisors NumberField
44
open Polynomial
55

6-
variable {K : Type*} {p : ℕ} [hpri : Fact p.Prime] [Field K] [NumberField K]
6+
variable {K : Type} {p : ℕ} [hpri : Fact p.Prime] [Field K] [NumberField K]
77
[IsCyclotomicExtension {p} ℚ K] (hp : p ≠ 2) [Fintype (ClassGroup (𝓞 K))]
88
(hreg : p.Coprime <| Fintype.card <| ClassGroup (𝓞 K))
99

FltRegular/NumberTheory/Hilbert90.lean

Lines changed: 0 additions & 150 deletions
This file was deleted.

FltRegular/NumberTheory/Hilbert92.lean

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,6 @@ section Mathlib.Algebra.Algebra.Hom
253253

254254
variable {R A' : Type*} [CommSemiring R] [Semiring A'] [Algebra R A'] (φ ψ : A' →ₐ[R] A')
255255

256-
@[simp]
257-
theorem AlgHom.toMonoidHom_one : MonoidHomClass.toMonoidHom (1 : A' →ₐ[R] A') = MonoidHom.id _ :=
258-
rfl
259-
260-
@[simp]
261-
theorem AlgHom.toMonoidHom_comp :
262-
MonoidHomClass.toMonoidHom (φ.comp ψ) =
263-
(MonoidHomClass.toMonoidHom φ).comp (MonoidHomClass.toMonoidHom ψ) :=
264-
rfl
265-
266-
theorem AlgHom.mul_def : φ * ψ = φ.comp ψ := rfl
267-
268256
end Mathlib.Algebra.Algebra.Hom
269257

270258
noncomputable
@@ -284,18 +272,15 @@ lemma relativeUnitsMap_mk (σ : K →ₐ[k] K) (x : (𝓞 K)ˣ) :
284272
theorem relativeUnitsMap_one (x : RelativeUnits k K) :
285273
relativeUnitsMap (1 : K →ₐ[k] K) x = x := by
286274
obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective x
287-
simp [relativeUnitsMap_mk]
288-
289-
@[simp]
290-
theorem coe_relativeUnitsMap_one : ⇑(relativeUnitsMap (1 : K →ₐ[k] K)) = id := by
291-
ext; simp
275+
simp only [relativeUnitsMap_mk, map_one]
276+
rfl
292277

293278
@[simp]
294279
theorem relativeUnitsMap_mul_apply {f g} (x : RelativeUnits k K) :
295280
(relativeUnitsMap (f * g)) x = (relativeUnitsMap f (relativeUnitsMap g x)) := by
296281
obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective x
297-
simp_rw [relativeUnitsMap_mk, map_mul, AlgHom.mul_def]
298-
simp
282+
simp_rw [relativeUnitsMap_mk, map_mul]
283+
rfl
299284

300285
@[simp]
301286
theorem relativeUnitsMap_mul {f g : K →ₐ[k] K} :
@@ -318,9 +303,6 @@ def Monoid.End.equiv : Monoid.End M ≃ (M →* M) where
318303
left_inv _ := rfl
319304
right_inv _ := rfl
320305

321-
@[simp]
322-
theorem Monoid.End.equiv_apply_apply {f} {x : M} : (Monoid.End.equiv M) f x = f x := rfl
323-
324306
@[simp]
325307
theorem Monoid.End.equiv_symm_apply_apply {f} {x : M} : (Monoid.End.equiv M).symm f x = f x := rfl
326308

FltRegular/NumberTheory/Hilbert94.lean

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
import FltRegular.NumberTheory.Unramified
22
import FltRegular.NumberTheory.Hilbert92
3-
import FltRegular.NumberTheory.Hilbert90
43
import FltRegular.NumberTheory.RegularPrimes
5-
import Mathlib.NumberTheory.NumberField.ClassNumber
6-
import Mathlib.RingTheory.Ideal.Norm.RelNorm
4+
import Mathlib.RepresentationTheory.Homological.GroupCohomology.Hilbert90
75

86
open scoped NumberField
97

10-
variable {K : Type*} {p : ℕ} [hpri : Fact p.Prime] [Field K]
8+
variable {K : Type} {p : ℕ} [hpri : Fact p.Prime] [Field K]
119

1210
open Polynomial Module
1311

14-
variable {L} [Field L] [Algebra K L] [FiniteDimensional K L]
12+
variable {L : Type} [Field L] [Algebra K L] [FiniteDimensional K L]
1513
(σ : L ≃ₐ[K] L) (hσ : ∀ x, x ∈ Subgroup.zpowers σ) (hKL : finrank K L = p)
1614

1715
variable {A B : Type*} [CommRing A] [CommRing B] [Algebra A B] [Algebra A L] [Algebra A K]
@@ -52,7 +50,9 @@ theorem exists_not_isPrincipal_and_isPrincipal_map_aux
5250
(hη : Algebra.norm K (algebraMap B L η) = 1)
5351
(hη' : ¬∃ α : Bˣ, algebraMap B L η = (algebraMap B L α) / σ (algebraMap B L α)) :
5452
∃ I : Ideal A, ¬I.IsPrincipal ∧ (I.map (algebraMap A B)).IsPrincipal := by
55-
obtain ⟨β, hβ_zero, hβ⟩ := Hilbert90_integral (A := A) (B := B) hσ hη
53+
have := isCyclic_iff_exists_zpowers_eq_top.2 ⟨σ, (Subgroup.eq_top_iff' _).2 hσ⟩
54+
obtain ⟨β, hβ_zero, hβ⟩ := groupCohomology.exists_mul_galRestrict_of_norm_eq_one (A := A)
55+
(B := B) hσ hη
5656
haveI : IsDomain B :=
5757
(IsIntegralClosure.equiv A B L (integralClosure A L)).toMulEquiv.isDomain (integralClosure A L)
5858
have hβ' := comap_map_eq_of_isUnramified K L _
@@ -111,7 +111,7 @@ theorem Ideal.isPrincipal_pow_finrank_of_isPrincipal_map [IsDedekindDomain A] {I
111111
/-- This is the first part of **Hilbert Theorem 94**, which states that if `L/K` is an unramified
112112
cyclic finite extension of number fields of odd prime degree,
113113
then there is an ideal that capitulates in `K`. -/
114-
theorem exists_not_isPrincipal_and_isPrincipal_map (K L : Type*)
114+
theorem exists_not_isPrincipal_and_isPrincipal_map (K L : Type)
115115
[Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L]
116116
[FiniteDimensional K L] [IsGalois K L] [IsUnramified (𝓞 K) (𝓞 L)] [h : IsCyclic (L ≃ₐ[K] L)]
117117
(hKL : Nat.Prime (finrank K L))
@@ -124,7 +124,7 @@ theorem exists_not_isPrincipal_and_isPrincipal_map (K L : Type*)
124124
/-- This is the second part of **Hilbert Theorem 94**, which states that if `L/K` is an unramified
125125
cyclic finite extension of number fields of odd prime degree,
126126
then the degree divides the class number of `K`. -/
127-
theorem dvd_card_classGroup_of_isUnramified_isCyclic {K L : Type*}
127+
theorem dvd_card_classGroup_of_isUnramified_isCyclic {K L : Type}
128128
[Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L]
129129
[FiniteDimensional K L] [IsGalois K L] [IsUnramified (𝓞 K) (𝓞 L)] [IsCyclic (L ≃ₐ[K] L)]
130130
(hKL : Nat.Prime (finrank K L))

FltRegular/NumberTheory/KummersLemma/KummersLemma.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import FltRegular.NumberTheory.Hilbert94
44
open Polynomial
55
open scoped NumberField
66

7-
variable {K : Type*} {p : ℕ} [hpri : Fact p.Prime] [Field K] [NumberField K]
7+
variable {K : Type} {p : ℕ} [hpri : Fact p.Prime] [Field K] [NumberField K]
88
[IsCyclotomicExtension {p} ℚ K] (hp : p ≠ 2) [Fintype (ClassGroup (𝓞 K))]
99
(hreg : p.Coprime <| Fintype.card <| ClassGroup (𝓞 K))
1010
{ζ : K} (hζ : IsPrimitiveRoot ζ p)

lake-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"type": "git",
2626
"subDir": null,
2727
"scope": "",
28-
"rev": "eae0ea4f182ea7c0ed27099c4ca5b49b91b4a878",
28+
"rev": "15f6691e7a582dab598395c89b04c451f81b8049",
2929
"name": "mathlib",
3030
"manifestFile": "lake-manifest.json",
3131
"inputRev": null,

lakefile.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ pp.unicode.fun = true # pretty-prints `fun a ↦ b`
66
autoImplicit = false # no "assume a typo is a new variable"
77
relaxedAutoImplicit = false # no "assume a typo is a new variable"
88
maxSynthPendingDepth = 3 # same as mathlib, changes behaviour of typeclass inference
9-
linter.flexible = true # no rigid tactic (e.g. `exact`) after a flexible tactic (e.g. `simp`)
109
# Enable all mathlib linters: automatically matches what mathlib uses.
1110
linter.mathlibStandardSet = true
11+
linter.flexible = true
1212

1313
[[require]]
1414
name = "mathlib"

0 commit comments

Comments
 (0)