GaloisCohomology.isLocallyConstant_galois_apply
Evaluation at an algebraic element is locally constant.
Source context 4 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped Pointwise
namespace GaloisCohomology
universe u v
variable {K : Type u} {Ω : Type v} [Field K] [Field Ω] [Algebra K Ω]
[Algebra.IsIntegral K Ω]Lean source · full declaration
theorem isLocallyConstant_galois_apply (x : Ω) :
IsLocallyConstant (fun σ : Gal(Ω/K) => σ x) := by
apply (IsLocallyConstant.iff_exists_open _).mpr
intro σ
let E : IntermediateField K Ω := IntermediateField.adjoin K {x}
have : FiniteDimensional K E :=
IntermediateField.adjoin.finiteDimensional (Algebra.IsIntegral.isIntegral x)
refine ⟨σ • (E.fixingSubgroup : Set Gal(Ω/K)),
E.fixingSubgroup_isOpen.leftCoset σ, ?_, ?_⟩
· exact ⟨1, E.fixingSubgroup.one_mem, mul_one σ⟩
· rintro τ ⟨ρ, hρ, rfl⟩
have hfix : ρ x = x :=
(IntermediateField.mem_fixingSubgroup_iff E ρ).mp hρ x
(IntermediateField.mem_adjoin_simple_self K x)
change σ (ρ x) = σ x
exact congrArg σ hfix