Skip to content

Commit 0044ce8

Browse files
committed
refactor(FieldTheory/Adjoin): provide a better defeq for (#7957)
This means `(⊥ : IntermediateField F E).toSubalgebra = ⊥` is true by definition. Also adds `IntermediateField.map_bot` now that the proof is trivial.
1 parent 65ab68c commit 0044ce8

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

Mathlib/FieldTheory/Adjoin.lean

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,26 +75,29 @@ def gi : GaloisInsertion (adjoin F : Set E → IntermediateField F E)
7575
choice_eq _ _ := copy_eq _ _ _
7676
#align intermediate_field.gi IntermediateField.gi
7777

78-
instance : CompleteLattice (IntermediateField F E) :=
79-
GaloisInsertion.liftCompleteLattice IntermediateField.gi
78+
instance : CompleteLattice (IntermediateField F E) where
79+
__ := GaloisInsertion.liftCompleteLattice IntermediateField.gi
80+
bot :=
81+
{ toSubalgebra := ⊥
82+
inv_mem' := fun x (hx : x ∈ (⊥ : Subalgebra F E)) => show x⁻¹ ∈ (⊥ : Subalgebra F E) by
83+
rw [Algebra.mem_bot] at hx ⊢
84+
obtain ⟨r, rfl⟩ := hx
85+
exact ⟨r⁻¹, map_inv₀ _ _⟩ }
86+
bot_le x := (bot_le : ⊥ ≤ x.toSubalgebra)
8087

8188
instance : Inhabited (IntermediateField F E) :=
8289
⟨⊤⟩
8390

84-
theorem coe_bot : ↑(⊥ : IntermediateField F E) = Set.range (algebraMap F E) := by
85-
change ↑(Subfield.closure (Set.range (algebraMap F E) ∪ ∅)) = Set.range (algebraMap F E)
86-
rw [Set.union_empty, ← Set.image_univ, ← RingHom.map_field_closure]
87-
simp
91+
theorem coe_bot : ↑(⊥ : IntermediateField F E) = Set.range (algebraMap F E) :=
92+
Algebra.coe_bot
8893
#align intermediate_field.coe_bot IntermediateField.coe_bot
8994

9095
theorem mem_bot {x : E} : x ∈ (⊥ : IntermediateField F E) ↔ x ∈ Set.range (algebraMap F E) :=
91-
Set.ext_iff.mp coe_bot x
96+
Algebra.mem_bot
9297
#align intermediate_field.mem_bot IntermediateField.mem_bot
9398

9499
@[simp]
95-
theorem bot_toSubalgebra : (⊥ : IntermediateField F E).toSubalgebra = ⊥ := by
96-
ext
97-
rw [mem_toSubalgebra, Algebra.mem_bot, mem_bot]
100+
theorem bot_toSubalgebra : (⊥ : IntermediateField F E).toSubalgebra = ⊥ := rfl
98101
#align intermediate_field.bot_to_subalgebra IntermediateField.bot_toSubalgebra
99102

100103
@[simp]
@@ -269,6 +272,11 @@ theorem restrictScalars_top {K : Type*} [Field K] [Algebra K E] [Algebra K F]
269272
rfl
270273
#align intermediate_field.restrict_scalars_top IntermediateField.restrictScalars_top
271274

275+
@[simp]
276+
theorem map_bot {K : Type*} [Field K] [Algebra F K] (f : E →ₐ[F] K) :
277+
IntermediateField.map f ⊥ = ⊥ :=
278+
toSubalgebra_injective <| Algebra.map_bot _
279+
272280
theorem _root_.AlgHom.fieldRange_eq_map {K : Type*} [Field K] [Algebra F K] (f : E →ₐ[F] K) :
273281
f.fieldRange = IntermediateField.map f ⊤ :=
274282
SetLike.ext' Set.image_univ.symm

0 commit comments

Comments
 (0)