Skip to content

Commit c7b39cb

Browse files
committed
feat(FieldTheory/KrullTopology): stabilizers are open for the Krull topology (leanprover-community#34885)
`stabilizer_isOpen_of_isIntegral`: For an algebraic field extension `L/K`, the stabilizer in `Gal(L/K)` of any element in `L` is open for the Krull topology. Also fix typo in docstrings for `krullTopology_isTotallySeparated`. Co-authored-by: bwangpj <70694994+bwangpj@users.noreply.github.com>
1 parent 7b2304f commit c7b39cb

1 file changed

Lines changed: 23 additions & 3 deletions

File tree

Mathlib/FieldTheory/KrullTopology.lean

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@ all intermediate fields `E` with `E/K` finite dimensional.
3838
- `krullTopology_t2 K L`. For an integral field extension `L/K`, the topology `krullTopology K L`
3939
is Hausdorff.
4040
41-
- `krullTopology_totallyDisconnected K L`. For an integral field extension `L/K`, the topology
42-
`krullTopology K L` is totally disconnected.
41+
- `krullTopology_isTotallySeparated K L`. For an integral field extension `L/K`, the topology
42+
`krullTopology K L` is totally separated.
43+
44+
- `stabilizer_isOpen_of_isIntegral`: For an integral field extension `L/K`, the stabilizer
45+
in `Gal(L/K)` of any element in `L` is open for the Krull topology.
4346
4447
- `IntermediateField.finrank_eq_fixingSubgroup_index`: given a Galois extension `K/k` and an
4548
intermediate field `L`, the `[L : k]` as a natural number is equal to the index of the
@@ -237,7 +240,7 @@ instance {K L : Type*} [Field K] [Field L] [Algebra K L] [Algebra.IsIntegral K L
237240
exact ⟨x, IntermediateField.mem_adjoin_simple_self K x, hx⟩
238241

239242
/-- If `L/K` is an algebraic field extension, then the Krull topology on `Gal(L/K)` is
240-
totally disconnected. -/
243+
totally separated. -/
241244
theorem krullTopology_isTotallySeparated {K L : Type*} [Field K] [Field L] [Algebra K L]
242245
[Algebra.IsIntegral K L] : IsTotallySeparated (Set.univ : Set Gal(L/K)) :=
243246
(totallySeparatedSpace_iff _).mp inferInstance
@@ -251,6 +254,23 @@ instance krullTopology_discreteTopology_of_finiteDimensional (K L : Type*) [Fiel
251254
rw [← IntermediateField.fixingSubgroup_top]
252255
exact IntermediateField.fixingSubgroup_isOpen ⊤
253256

257+
section MulAction
258+
259+
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
260+
261+
/-- If `L/K` is an algebraic field extension, then the stabilizer
262+
in `Gal(L/K)` of any element in `L` is open for the Krull topology. -/
263+
theorem stabilizer_isOpen_of_isIntegral [Algebra.IsIntegral K L] (x : L) :
264+
IsOpen (MulAction.stabilizer Gal(L/K) x : Set Gal(L/K)) := by
265+
open IntermediateField in
266+
let E := adjoin K {x}
267+
have hL : FiniteDimensional K E := adjoin.finiteDimensional (Algebra.IsIntegral.isIntegral x)
268+
convert fixingSubgroup_isOpen E
269+
ext g
270+
simpa using (forall_mem_adjoin_smul_eq_self_iff K (S := {x}) g).symm
271+
272+
end MulAction
273+
254274
namespace IntermediateField
255275

256276
variable {k E : Type*} (K : Type*) [Field k] [Field E] [Field K]

0 commit comments

Comments
 (0)