Definitions/Def_NumberField_PlaceTransport.lean
Galois action on finite places; transport of adic completions
Let E \subseteq K be fields with K a number field, and write w for a point of HeightOneSpectrum (π K), i.e. a nonzero prime \mathfrak p_w of the ring of integers. The scoped instance instMulActionHeightOneSpectrum makes K \simeq_{\mathrm{alg}[E]} K act on these primes by \sigma \cdot w := the comap of \mathfrak p_w along the ring automorphism of \mathcal O_K induced by \sigma^{-1}; equivalently x \in \mathfrak p_{\sigma \cdot w} \iff \sigma^{-1} x \in \mathfrak p_w, and \mathfrak p_{\sigma\cdot w} is the image \sigma(\mathfrak p_w). The unfolding lemmas record these descriptions, the membership criteria \sigma x \in \mathfrak p_{\sigma\cdot w}^n \iff x \in \mathfrak p_w^n, and \sigma^{-1}\cdot w' = w from \sigma\cdot w = w'. From this follow the exact valuation compatibilities v_{\sigma\cdot w}(\sigma r) = v_w(r) for r \in \mathcal O_K (intValuation) and v_{\sigma\cdot w}(\sigma x) = v_w(x) for x \in K.
A general preliminary shows that a ring isomorphism f : R \simeq S of fields with v'(f x) = v(x), v surjective onto its value monoid, induces a uniformly continuous map of the associated valued fields. Applied to \sigma with data h : \sigma \cdot w = w', completing gives transport, a ring isomorphism K_w \simeq K_{w'} of adic completions, characterised on K by \iota_w x \mapsto \iota_{w'}(\sigma x); it is continuous. Using that the closed balls \{v(y) \le c\}, c \neq 0, are clopen in K_w, valued_transport proves that the canonical valuations are preserved, whence transport preserves the valuation rings and yields ring and group isomorphisms \mathcal O_w \simeq \mathcal O_{w'}, K_w^\times \simeq K_{w'}^\times and \mathcal O_w^\times \simeq \mathcal O_{w'}^\times. The target is given by a hypothesis h : \sigma \cdot w = w' rather than fixed as \sigma \cdot w, so that composites and comparisons are stated without casts.
Relation to Mathlib
Built on Mathlib's HeightOneSpectrum.comap, WithVal.congr and UniformSpace.Completion.mapRingEquiv; the action of K \simeq_{\mathrm{alg}[E]} K on HeightOneSpectrum (π K) is introduced here as a scoped instance rather than a global one on Mathlib's carrier.
Where it is used
These data provide the local ingredient for the Galois action on place-indexed finite (and S-)idèle modules of a number field, where an automorphism permutes the finite places and must simultaneously be transported to isomorphisms of the corresponding completions, their valuation rings and unit groups.
References
- J. Neukirch, Algebraic Number Theory, Grundlehren der mathematischen Wissenschaften 322, Springer, 1999, Ch. II
- J.-P. Serre, Local Fields, Graduate Texts in Mathematics 67, Springer, 1979, Ch. IβII
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 210 lines
- 23 declarations
- used in the statements of 53 theorems and imported by 105 proofs
- imports 0 definition modules
Source file: Definitions/Def_NumberField_PlaceTransport.lean
Declarations
- theorem
NumberField.PlaceTransport.uniformContinuous_congr_of_forall_eq - instance
NumberField.PlaceTransport.instMulActionHeightOneSpectrum - theorem
NumberField.PlaceTransport.smul_asIdeal - theorem
NumberField.PlaceTransport.mem_smul_asIdeal_iff - theorem
NumberField.PlaceTransport.smul_mem_smul_asIdeal_iff - theorem
NumberField.PlaceTransport.smul_asIdeal_eq_map - theorem
NumberField.PlaceTransport.smul_mem_smul_asIdeal_pow_iff - theorem
NumberField.PlaceTransport.inv_smul_eq_of_smul_eq - theorem
NumberField.PlaceTransport.intValuation_smul_apply - theorem
NumberField.PlaceTransport.valuation_smul_apply - theorem
NumberField.PlaceTransport.valuation_apply_of_smul_eq - theorem
NumberField.PlaceTransport.uniformContinuous_congr_of_smul_eq - def
NumberField.PlaceTransport.transport - theorem
NumberField.PlaceTransport.transport_apply - theorem
NumberField.PlaceTransport.transport_coe - theorem
NumberField.PlaceTransport.continuous_transport - theorem
NumberField.PlaceTransport.isClopen_setOf_valued_le - theorem
NumberField.PlaceTransport.valued_transport - theorem
NumberField.PlaceTransport.transport_mem_adicCompletionIntegers_iff - def
NumberField.PlaceTransport.transportIntegers - theorem
NumberField.PlaceTransport.coe_transportIntegers - abbrev
NumberField.PlaceTransport.transportUnits - abbrev
NumberField.PlaceTransport.transportIntegerUnits
Source
import Mathlib set_option autoImplicit false open IsDedekindDomain NumberField namespace NumberField.PlaceTransport section general variable {R S : Type*} [Field R] [Field S] {Ξβ : Type*} [LinearOrderedCommGroupWithZero Ξβ] theorem uniformContinuous_congr_of_forall_eq (v : Valuation R Ξβ) (v' : Valuation S Ξβ) (hv : Function.Surjective v) (f : R β+* S) (h : β x, v' (f x) = v x) : UniformContinuous (WithVal.congr v v' f) := by apply uniformContinuous_addMonoidHom_of_continuous apply continuous_of_continuousAt_zero (WithVal.congr v v' f).toAddMonoidHom rw [ContinuousAt, map_zero] intro s hs rw [Filter.mem_map] obtain β¨Ξ³, hΞ³β© := Valued.mem_nhds_zero.1 hs obtain β¨xβ, hxββ© := hv (MonoidWithZeroHom.ValueGroupβ.embedding Ξ³.1) have hxβ' : Valued.v.restrict (WithVal.toVal v xβ) β 0 := fun h0 => by have h1 := (Valuation.restrict_eq_zero_iff Valued.v).1 h0 rw [WithVal.valued_toVal, hxβ] at h1 exact Ξ³.ne_zero (MonoidWithZeroHom.ValueGroupβ.embedding_strictMono.injective (h1.trans (map_zero _).symm)) refine Valued.mem_nhds_zero.2 β¨Units.mk0 _ hxβ', fun x hx => hΞ³ ?_β© simp only [Set.mem_setOf_eq, Units.val_mk0, Valuation.restrict_lt_iff, WithVal.valued_toVal, hxβ] at hx show Valued.v.restrict (WithVal.congr v v' f x) < Ξ³.1 rw [Valuation.restrict_lt_iff_lt_embedding, WithVal.congr_apply, WithVal.valued_toVal, h, WithVal.apply_ofVal] exact hx end general variable (E K : Type*) [Field E] [Field K] [Algebra E K] noncomputable scoped instance instMulActionHeightOneSpectrum : MulAction (K ββ[E] K) (HeightOneSpectrum (π K)) where smul Ο w := HeightOneSpectrum.comap (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Οβ»ΒΉ : π K β+* π K) (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Οβ»ΒΉ).surjective w one_smul w := HeightOneSpectrum.ext (Ideal.ext fun x => by show (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) 1β»ΒΉ) x β w.asIdeal β x β w.asIdeal rw [MulSemiringAction.toRingEquiv_apply, inv_one, one_smul]) mul_smul Ο Ο w := HeightOneSpectrum.ext (Ideal.ext fun x => by show (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) (Ο * Ο)β»ΒΉ) x β w.asIdeal β (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Οβ»ΒΉ) ((MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Οβ»ΒΉ) x) β w.asIdeal rw [MulSemiringAction.toRingEquiv_apply, MulSemiringAction.toRingEquiv_apply, MulSemiringAction.toRingEquiv_apply, mul_inv_rev, mul_smul]) variable {E K} theorem smul_asIdeal (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) : (Ο β’ w).asIdeal = w.asIdeal.comap (MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Οβ»ΒΉ : π K β+* π K) := rfl theorem mem_smul_asIdeal_iff (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) (x : π K) : x β (Ο β’ w).asIdeal β Οβ»ΒΉ β’ x β w.asIdeal := Iff.rfl theorem smul_mem_smul_asIdeal_iff (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) (x : π K) : Ο β’ x β (Ο β’ w).asIdeal β x β w.asIdeal := by rw [mem_smul_asIdeal_iff, inv_smul_smul] theorem smul_asIdeal_eq_map (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) : (Ο β’ w).asIdeal = Ideal.map ((MulSemiringAction.toRingEquiv (K ββ[E] K) (π K) Ο : π K β+* π K) : π K β+* π K) w.asIdeal := by rw [Ideal.map_comap_of_equiv] ext x rw [mem_smul_asIdeal_iff, Ideal.mem_comap, MulSemiringAction.toRingEquiv_symm_apply] theorem smul_mem_smul_asIdeal_pow_iff (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) (x : π K) (n : β) : Ο β’ x β (Ο β’ w).asIdeal ^ n β x β w.asIdeal ^ n := by rw [smul_asIdeal_eq_map, β Ideal.map_pow, Ideal.map_comap_of_equiv, Ideal.mem_comap, MulSemiringAction.toRingEquiv_symm_apply, inv_smul_smul] theorem inv_smul_eq_of_smul_eq {Ο : K ββ[E] K} {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : Οβ»ΒΉ β’ w' = w := by rw [β h, inv_smul_smul] variable [NumberField K] theorem intValuation_smul_apply (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) (r : π K) : (Ο β’ w).intValuation (Ο β’ r) = w.intValuation r := by rcases eq_or_ne r 0 with rfl | hr Β· rw [smul_zero, Valuation.map_zero, Valuation.map_zero] Β· have hΟr : Ο β’ r β 0 := fun h0 => hr (by rw [β inv_smul_smul Ο r, h0, smul_zero]) apply le_antisymm Β· obtain β¨n, hnβ© : β n : β, w.intValuation r = WithZero.exp (-(n : β€)) := β¨_, w.intValuation_if_neg hrβ© rw [hn, HeightOneSpectrum.intValuation_le_pow_iff_mem, smul_mem_smul_asIdeal_pow_iff, β HeightOneSpectrum.intValuation_le_pow_iff_mem, hn] Β· obtain β¨n, hnβ© : β n : β, (Ο β’ w).intValuation (Ο β’ r) = WithZero.exp (-(n : β€)) := β¨_, (Ο β’ w).intValuation_if_neg hΟrβ© rw [hn, HeightOneSpectrum.intValuation_le_pow_iff_mem, β smul_mem_smul_asIdeal_pow_iff Ο, β HeightOneSpectrum.intValuation_le_pow_iff_mem, hn] theorem valuation_smul_apply (Ο : K ββ[E] K) (w : HeightOneSpectrum (π K)) (x : K) : (Ο β’ w).valuation K (Ο x) = w.valuation K x := by obtain β¨a, b, -, rflβ© := IsFractionRing.div_surjective (A := π K) x have h1 : β c : π K, Ο (algebraMap (π K) K c) = algebraMap (π K) K (Ο β’ c) := fun c => rfl rw [map_divβ, map_divβ, map_divβ, h1, h1, HeightOneSpectrum.valuation_of_algebraMap, HeightOneSpectrum.valuation_of_algebraMap, HeightOneSpectrum.valuation_of_algebraMap, HeightOneSpectrum.valuation_of_algebraMap, intValuation_smul_apply, intValuation_smul_apply] theorem valuation_apply_of_smul_eq {Ο : K ββ[E] K} {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : K) : w'.valuation K (Ο x) = w.valuation K x := by subst h exact valuation_smul_apply Ο w x theorem uniformContinuous_congr_of_smul_eq {Ο : K ββ[E] K} {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : UniformContinuous (WithVal.congr (w.valuation K) (w'.valuation K) ((Ο : K ββ[E] K) : K β+* K)) := uniformContinuous_congr_of_forall_eq (w.valuation K) (w'.valuation K) (w.valuation_surjective K) _ (valuation_apply_of_smul_eq h) noncomputable def transport (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : w.adicCompletion K β+* w'.adicCompletion K := ((HeightOneSpectrum.adicCompletion.equiv K w).trans (UniformSpace.Completion.mapRingEquiv (WithVal.congr (w.valuation K) (w'.valuation K) ((Ο : K ββ[E] K) : K β+* K)) (uniformContinuous_congr_of_smul_eq h).continuous ((uniformContinuous_congr_of_smul_eq (inv_smul_eq_of_smul_eq h)).continuous.congr fun _ => rfl))).trans (HeightOneSpectrum.adicCompletion.equiv K w').symm theorem transport_apply (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : w.adicCompletion K) : (transport Ο h x).toCompletion = UniformSpace.Completion.map (WithVal.congr (w.valuation K) (w'.valuation K) ((Ο : K ββ[E] K) : K β+* K)) x.toCompletion := rfl theorem transport_coe (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : WithVal (w.valuation K)) : transport Ο h (x : w.adicCompletion K) = ((WithVal.congr (w.valuation K) (w'.valuation K) ((Ο : K ββ[E] K) : K β+* K) x : WithVal (w'.valuation K)) : w'.adicCompletion K) := by apply HeightOneSpectrum.adicCompletion.ext rw [transport_apply, HeightOneSpectrum.adicCompletion.toCompletion_ofCompletion, HeightOneSpectrum.adicCompletion.toCompletion_ofCompletion, UniformSpace.Completion.map_coe (uniformContinuous_congr_of_smul_eq h)] theorem continuous_transport (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : Continuous (transport Ο h) := by have : (transport Ο h : w.adicCompletion K β w'.adicCompletion K) = HeightOneSpectrum.adicCompletion.ofCompletion β UniformSpace.Completion.map (WithVal.congr (w.valuation K) (w'.valuation K) ((Ο : K ββ[E] K) : K β+* K)) β HeightOneSpectrum.adicCompletion.toCompletion := funext fun x => HeightOneSpectrum.adicCompletion.ext (h := transport_apply Ο h x) rw [this] exact (HeightOneSpectrum.adicCompletion.continuous_ofCompletion K w').comp (UniformSpace.Completion.continuous_map.comp (HeightOneSpectrum.adicCompletion.continuous_toCompletion K w)) theorem isClopen_setOf_valued_le (w : HeightOneSpectrum (π K)) {c : WithZero (Multiplicative β€)} (hc : c β 0) : IsClopen {y : w.adicCompletion K | Valued.v y β€ c} := by obtain β¨yβ, rflβ© := w.valuedAdicCompletion_surjective K c have hr : Valued.v.restrict yβ β 0 := fun h0 => hc ((Valuation.restrict_eq_zero_iff Valued.v).1 h0) have : {y : w.adicCompletion K | Valued.v y β€ Valued.v yβ} = {y | Valued.v.restrict y β€ Valued.v.restrict yβ} := Set.ext fun y => (Valuation.restrict_le_iff Valued.v (x := y) (y := yβ)).symm rw [this] exact Valued.isClopen_closedBall (w.adicCompletion K) hr theorem valued_transport (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : w.adicCompletion K) : Valued.v (transport Ο h x) = Valued.v x := by have key : β c : WithZero (Multiplicative β€), c β 0 β β y : w.adicCompletion K, (Valued.v (transport Ο h y) β€ c β Valued.v y β€ c) := by intro c hc y have hclosed : IsClosed {y : w.adicCompletion K | Valued.v (transport Ο h y) β€ c β Valued.v y β€ c} := by have h1 : IsClopen {y : w.adicCompletion K | Valued.v (transport Ο h y) β€ c} := (isClopen_setOf_valued_le w' hc).preimage (continuous_transport Ο h) have h2 : IsClopen {y : w.adicCompletion K | Valued.v y β€ c} := isClopen_setOf_valued_le w hc have : {y : w.adicCompletion K | Valued.v (transport Ο h y) β€ c β Valued.v y β€ c} = ({y | Valued.v (transport Ο h y) β€ c} β© {y | Valued.v y β€ c}) βͺ ({y | Valued.v (transport Ο h y) β€ c}αΆ β© {y | Valued.v y β€ c}αΆ) := by ext y simp only [Set.mem_setOf_eq, Set.mem_union, Set.mem_inter_iff, Set.mem_compl_iff] tauto rw [this] exact ((h1.inter h2).union (h1.compl.inter h2.compl)).isClosed obtain β¨y, rflβ© := HeightOneSpectrum.adicCompletion.ofCompletion_surjective K w y refine UniformSpace.Completion.induction_on (p := fun y => Valued.v (transport Ο h (.ofCompletion y)) β€ c β Valued.v (HeightOneSpectrum.adicCompletion.ofCompletion y : w.adicCompletion K) β€ c) y (by simpa only [Set.preimage_ofPred_eq] using hclosed.preimage (HeightOneSpectrum.adicCompletion.continuous_ofCompletion K w)) fun a => ?_ show Valued.v (transport Ο h (a : w.adicCompletion K)) β€ c β Valued.v (a : w.adicCompletion K) β€ c rw [transport_coe, HeightOneSpectrum.adicCompletion.valued_ofCompletion, HeightOneSpectrum.adicCompletion.valued_ofCompletion, Valued.valuedCompletion_apply, Valued.valuedCompletion_apply, β WithVal.apply_ofVal, β WithVal.apply_ofVal, WithVal.congr_apply, WithVal.ofVal_toVal, AlgEquiv.coe_ringEquiv, valuation_apply_of_smul_eq h] rcases eq_or_ne x 0 with rfl | hx Β· rw [map_zero, Valuation.map_zero, Valuation.map_zero] Β· have h0 : Valued.v x β 0 := (Valuation.ne_zero_iff _).2 hx have h0' : Valued.v (transport Ο h x) β 0 := (Valuation.ne_zero_iff _).2 ((map_ne_zero (transport Ο h)).2 hx) exact le_antisymm ((key _ h0 x).2 le_rfl) ((key _ h0' x).1 le_rfl) theorem transport_mem_adicCompletionIntegers_iff (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : w.adicCompletion K) : transport Ο h x β w'.adicCompletionIntegers K β x β w.adicCompletionIntegers K := by rw [HeightOneSpectrum.mem_adicCompletionIntegers, HeightOneSpectrum.mem_adicCompletionIntegers, valued_transport] set_option synthInstance.maxHeartbeats 200000 in set_option maxHeartbeats 800000 in noncomputable def transportIntegers (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : w.adicCompletionIntegers K β+* w'.adicCompletionIntegers K where toFun x := β¨transport Ο h x, (transport_mem_adicCompletionIntegers_iff Ο h _).2 x.2β© invFun y := β¨(transport Ο h).symm y, (transport_mem_adicCompletionIntegers_iff Ο h _).1 (by rw [RingEquiv.apply_symm_apply]; exact y.2)β© left_inv x := Subtype.ext ((transport Ο h).symm_apply_apply x) right_inv y := Subtype.ext ((transport Ο h).apply_symm_apply y) map_mul' x y := Subtype.ext (map_mul (transport Ο h) (x : w.adicCompletion K) (y : w.adicCompletion K)) map_add' x y := Subtype.ext (map_add (transport Ο h) (x : w.adicCompletion K) (y : w.adicCompletion K)) set_option synthInstance.maxHeartbeats 200000 in theorem coe_transportIntegers (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') (x : w.adicCompletionIntegers K) : ((transportIntegers Ο h x : w'.adicCompletionIntegers K) : w'.adicCompletion K) = transport Ο h (x : w.adicCompletion K) := rfl set_option synthInstance.maxHeartbeats 200000 in noncomputable abbrev transportUnits (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : (w.adicCompletion K)Λ£ β* (w'.adicCompletion K)Λ£ := Units.mapEquiv (transport Ο h).toMulEquiv set_option synthInstance.maxHeartbeats 200000 in noncomputable abbrev transportIntegerUnits (Ο : K ββ[E] K) {w w' : HeightOneSpectrum (π K)} (h : Ο β’ w = w') : (w.adicCompletionIntegers K)Λ£ β* (w'.adicCompletionIntegers K)Λ£ := Units.mapEquiv (transportIntegers Ο h).toMulEquiv end NumberField.PlaceTransport
Statements phrased using this module (53)
- Stabiliser of a finite place equals its decomposition subgroup
NumberField.PlaceTransport.stabilizer_eq_decomp0 below · depth 15 - Unit idèles outside T characterised by valuations
NumberField.AdeleRing.mem_unitIdelesOutside_iff_forall_valued_snd_eq_one0 below Β· depth 16 - Finite coordinates of the genuine Galois descent action
M4aHerbrand.GenuineDescent.genuineDescentDatum_act_snd_apply2 below Β· depth 18 - Galois orbits of finite places are the fibres of `under`
NumberField.PlaceTransport.orbit_eq_setOf_under_eq0 below Β· depth 19 - Place transport commutes with the canonical embeddings Eα΅₯ β K_w
NumberField.PlaceTransport.transport_adicCompletionSemialgHom0 below Β· depth 19 - Conjugation by Aut(K/E) fixes the place below
NumberField.PlaceTransport.under_smul0 below Β· depth 19 - Unique equivariant map of Sβͺβ-idΓ¨le modules along a tower
NumberField.SArchIdele.existsUnique_hom_res_obj_comp_toSIdele_eq3 below Β· depth 19 - Exactness at the Sβͺβ-idΓ¨le module
NumberField.SArchIdele.toSIdeleClass_mk_comp_diagS_eq_one_and_exists_of_eq_one2 below · depth 19 - Coordinatewise equivariant embedding of the S-idèle module
NumberField.SIdele.exists_addMonoidHom_obj_adeleRing_units_apply17 below Β· depth 19 - Coinduced local integral units as the product over places above v
NumberField.FiniteSIdele.exists_addEquiv_coind_localIntegerUnits6 below Β· depth 20 - Coinduced local integral units as the product over w β£ v
NumberField.FiniteSIdele.exists_addEquiv_coind_localIntegerUnits_transportIntegerUnits_apply6 below Β· depth 20 - Coinduced local unit module is the product over places above v
NumberField.FiniteSIdele.exists_addEquiv_coind_localUnits6 below Β· depth 20 - Coinduced local units at v as the product over w β£ v
NumberField.FiniteSIdele.exists_addEquiv_coind_localUnits_transportUnits_apply6 below Β· depth 20 - Places of the level above q as primes of πͺ_{L'}
NumberField.LevelArith.exists_placesAbove_inr_embedding_heightOneSpectrum11 below Β· depth 20 - Places above S as a disjoint union of coset spaces
NumberField.PlaceTransport.exists_equiv_placesAbove_sigma_quotient_decomp_above2 below Β· depth 20 - Transport along Ο agrees with the decomposition-group action on K_w
NumberField.PlaceTransport.transport_eq_actRingEquiv0 below Β· depth 20 - Composition law for transport of adic completions along conjugation
NumberField.PlaceTransport.transport_trans_transport0 below Β· depth 20 - Image of the Sβͺβ-idΓ¨le module in the idΓ¨les
NumberField.SArchIdele.injective_comp_toSIdele_and_mem_range_iff2 below Β· depth 20 - Finite primes of subfields of βΜ lift to valuation subrings
NumberField.exists_valuationSubring_algebraicClosure_forall_mem_iff_valuation_le_one4 below Β· depth 20 - Transport along the identity automorphism is the identity
NumberField.PlaceTransport.transport_one0 below Β· depth 21 - Fibre-sum spectral comparison for twisted GLβ at prime degree
AutomorphicForm.fibreSum_twistedCutTrace_eq_const_mul_fibreSum_cutTrace_of_docks_ed23,000 below Β· depth 22 - Local component commutes with conjugation in cohomology
M4aHerbrand.map_prG_map_eq_map_map_prH_of_smul_eq4 below Β· depth 22 - Local coordinate maps at w and hw agree up to conjugation
M4aHerbrand.map_prH_eq_map_map_prH_of_smul_eq5 below Β· depth 22 - Conjugation and transport for H-decomposition groups at conjugate places
NumberField.PlaceDecomp.exists_conj_and_transport_repHom_inf_decomp_of_smul_eq3 below Β· depth 22 - Conjugate places: decomposition groups and transport of local units
NumberField.PlaceDecomp.exists_conj_and_transport_repHom_of_smul_eq3 below Β· depth 22 - Conjugation transport of local unit representations along g wβ = w
NumberField.PlaceDecomp.exists_conj_subgroupOf_and_transport_repHom_of_smul_eq3 below Β· depth 22 - Transport of a local fundamental class along Ο
NumberField.PlaceDecomp.exists_isLocalFundamentalClass_map_eq_map_of_smul_eq3 below Β· depth 22 - Places above v in F^H and double cosets D_wbackslash G/H
NumberField.PlaceTransport.exists_bijective_doubleCoset_decomp_of_under_eq3 below Β· depth 22 - Hecke word comparison of twisted and untwisted cut traces
AutomorphicForm.exists_atoms_forall_exists_noAtomicMass_heckeWordSum_twistedCutTrace_sub_finrank_mul_const_mul_heckeWordSum_cutTrace_eq2,972 below Β· depth 23 - Formal base change of an Eisenstein Hecke table is Eisenstein
AutomorphicForm.exists_eisensteinTableOf_eq_formalBaseChange_eisensteinTableOf6 below Β· depth 23 - Fibre-sum vanishing from monomial identities at places of record
AutomorphicForm.forall_finset_fibreSum_sub_const_mul_fibreSum_add_eq_zero_of_forall_places_exists_noAtomicMass_wordSum_eq1 below Β· depth 23 - Satake data constant on fibres over K, given word-shift
AutomorphicForm.satakeData_eq_of_under_eq_of_twistedCutTrace_ne_zero_of_heckeWordShift0 below Β· depth 23 - Absolute summability of Siegel-pinned cut traces on GLβ
AutomorphicForm.summable_norm_cutTrace_of_isUnitFactorizableOfTypeAt_of_coversModCentre96 below Β· depth 23 - Satake table of a principal-level cuspidal class lies in a box
AutomorphicForm.table_mem_box_of_mem_cuspClasses_siegel119 below Β· depth 23 - Hecke tables of cuspidal slab classes lie in the box
AutomorphicForm.table_mem_box_of_mem_cuspClasses_slab18 below Β· depth 23 - Local coordinates in cohomology at conjugate places agree
M4aHerbrand.map_prG_eq_map_map_prG_of_smul_eq5 below Β· depth 23 - Hecke generator inverse double-coset relation at level Uβ(N)
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_levelOne1 below Β· depth 23 - Double-coset inversion relation for Hecke generators at principal level
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_principalLevel1 below Β· depth 23 - Per-word twisted spectral comparison from the remainder rows
AutomorphicForm.heckeWordSum_twistedCutTrace_sub_const_mul_heckeWordSum_cutTrace_add_atoms_eq_of_remainder_rows_of_comparison194 below Β· depth 24 - Hecke generator inverse in a central-times-level double coset
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_of_forall_finEmbed_localEmbed_mem0 below Β· depth 24 - Absolute summability of cut traces over Siegel-pinned cusp classes
AutomorphicForm.summable_norm_cutTrace_of_isUnitFactorizableOfTypeAt_of_coversModCentre_of_subset96 below Β· depth 25 - A Sylow p-subgroup meets some conjugate decomposition group deeply
NumberField.PlaceTransport.exists_pow_dvd_natCard_inf_decomp_smul_of_isPGroup_of_not_dvd_index1 below Β· depth 27 - Galois twist permutes cut isotypic cuspidal blocks injectively
AutomorphicForm.exists_injOn_forall_twistedConvOp_mem_isotypicCuspSubmodule_comp_unitsMap_inf_archCutSubmodule_of_isFundamentalDomain_slab31 below Β· depth 28 - Galois twist of isotypic cusp forms, with twisted central character
AutomorphicForm.isIsotypicCuspFormAt_sigmaSectionActOn_comp_unitsMap_of_isFundamentalDomain_slab14 below · depth 28 - An idèle with prescribed valuations at all finite places
NumberField.AdeleRing.exists_units_forall_valued_snd_eq_ofAdd_neg0 below · depth 28 - An idèle is a local unit at almost all finite places
NumberField.AdeleRing.finite_setOf_valued_snd_ne_one0 below · depth 28 - Galois action on idèles preserves valuations along transported places
NumberField.AdeleRing.valued_snd_smul_smul_eq4 below Β· depth 28 - Galois twist of an isotypic cusp form on GLβ
AutomorphicForm.isIsotypicCuspFormAt_sigmaSectionActOn_of_isFundamentalDomain_slab14 below · depth 29 - S-idèle module realised inside the idèle group
NumberField.SIdele.exists_addMonoidHom_obj_adeleRing_units_transport12 below Β· depth 29 - Galois transport of level, conjugation invariance and support of adelic kernels
AutomorphicForm.isBiInvariantUnder_principalLevel_comap_and_conjInvariant_comp_sigmaAdelicAct6 below Β· depth 30 - Galois equivariance of the base-change decomposition Lβ_K Kα΅₯β
prod_{wβ£ v}L_w
HeightOneSpectrum.adicCompletion.baseChangeAlgEquiv_congr_apply_eq_transport0 below Β· depth 32 - Cyclic Galois group moves places above v by a natural power
NumberField.PlaceTransport.exists_pow_smul_eq_of_forall_mem_zpowers0 below Β· depth 32 - Galois twist of an isotypic cusp form at principal level
AutomorphicForm.isIsotypicCuspFormAt_sigmaSectionActOn_principalLevel_of_isFundamentalDomain_slab14 below Β· depth 33