@@ -75,26 +75,29 @@ def gi : GaloisInsertion (adjoin F : Set E → IntermediateField F E)
75
75
choice_eq _ _ := copy_eq _ _ _
76
76
#align intermediate_field.gi IntermediateField.gi
77
77
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)
80
87
81
88
instance : Inhabited (IntermediateField F E) :=
82
89
⟨⊤⟩
83
90
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
88
93
#align intermediate_field.coe_bot IntermediateField.coe_bot
89
94
90
95
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
92
97
#align intermediate_field.mem_bot IntermediateField.mem_bot
93
98
94
99
@[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
98
101
#align intermediate_field.bot_to_subalgebra IntermediateField.bot_toSubalgebra
99
102
100
103
@[simp]
@@ -269,6 +272,11 @@ theorem restrictScalars_top {K : Type*} [Field K] [Algebra K E] [Algebra K F]
269
272
rfl
270
273
#align intermediate_field.restrict_scalars_top IntermediateField.restrictScalars_top
271
274
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
+
272
280
theorem _root_.AlgHom.fieldRange_eq_map {K : Type *} [Field K] [Algebra F K] (f : E →ₐ[F] K) :
273
281
f.fieldRange = IntermediateField.map f ⊤ :=
274
282
SetLike.ext' Set.image_univ.symm
0 commit comments