Definitions/Def_Mathlib_MeasureTheory_Group_Action.lean
Invariant measures pulled back along measurable monoid embeddings
Four lemmas on the pullback (comap) of an invariant measure, together with the measurable-group instances on subgroups needed to state them. First, for a group G and a monoid H, both with measurable spaces whose multiplications are measurable, and a monoid homomorphism \varphi : G \to^* H which is a measurable embedding, the measure \varphi^{*}\mu on G obtained by pullback from a left-invariant measure \mu on H is again left invariant, i.e. satisfies IsMulLeftInvariant; MeasurableEmbedding.isMulRightInvariant_comap is the same statement for right invariance. (By to_additive, additive counterparts are produced as well.) The proof compares \varphi(g \cdot {-})^{-1}(s) with (\varphi(g) \cdot {-})^{-1}(\varphi(s)), using that \varphi has measurable image.
For a subgroup H \le G of a measurable group, instances record that H, with the subspace measurable structure, again has measurable multiplication (as a two-variable map, and separately by left and right translations) and measurable inversion whenever G does. Specialising the pullback lemmas to the coercion H \hookrightarrow G, which is a measurable embedding as soon as H is a measurable subset of G, gives isMulLeftInvariant_subtypeVal and isMulRightInvariant_subtypeVal: the comap of a left- (resp. right-) invariant measure \mu on G along Subtype.val is a left- (resp. right-) invariant measure on H.
Finally, index_mul_haar_subgroup_eq_haar_subgroup states: if H \le K are subgroups of G with H of finite relative index in K, both measurable as subsets of G, and \mu is a left-invariant measure on G, then [K : H] \cdot \mu(H) = \mu(K), where [K:H] is Subgroup.relIndex and \mu(H), \mu(K) are the measures of the underlying sets. It is deduced from Mathlib's Subgroup.index_mul_measure applied to H viewed inside K, for the measure pulled back to K.
Relation to Mathlib
All declarations are placed in Mathlib's own namespaces (MeasurableEmbedding, MeasureTheory) and are stated for Mathlib's comap, IsMulLeftInvariant/IsMulRightInvariant, MeasurableMul/MeasurableMul₂/MeasurableInv and Subgroup.relIndex; they supplement Mathlib's Subgroup.index_mul_measure with its relative-index form and with the subgroup instances and pullback lemmas used to obtain it.
References
- G. B. Folland, A Course in Abstract Harmonic Analysis, Studies in Advanced Mathematics, CRC Press, 1995
- P. R. Halmos, Measure Theory, Van Nostrand, 1950
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 106 lines
- 8 declarations
- used in the statements of 0 theorems and imported by 0 proofs
- imports 0 definition modules
Source file: Definitions/Def_Mathlib_MeasureTheory_Group_Action.lean
Imports
- only Mathlib
Imported by
Declarations
- lemma
MeasurableEmbedding.isMulLeftInvariant_comap - lemma
MeasurableEmbedding.isMulRightInvariant_comap - lemma
MeasureTheory.isMulLeftInvariant_subtypeVal - lemma
MeasureTheory.isMulRightInvariant_subtypeVal - lemma
MeasureTheory.index_mul_haar_subgroup_eq_haar_subgroup
Source
import Mathlib section section MeasurableEmbeddingComap open MeasureTheory Measure @[to_additive] lemma _root_.MeasurableEmbedding.isMulLeftInvariant_comap {G H : Type*} [Group G] [MeasurableSpace G] [MeasurableMul G] [Monoid H] [MeasurableSpace H] [MeasurableMul H] {φ : G →* H} (hφ : MeasurableEmbedding φ) (μ : Measure H) [IsMulLeftInvariant μ] : IsMulLeftInvariant (comap φ μ) where map_mul_left_eq_self g := by ext s hs rw [map_apply (by fun_prop) hs] repeat rw [MeasurableEmbedding.comap_apply hφ] have : φ '' ((fun x ↦ g * x) ⁻¹' s) = (fun x ↦ φ g * x) ⁻¹' (φ '' s) := by ext constructor · rintro ⟨y, hy, rfl⟩ exact ⟨g * y, hy, by simp⟩ · intro ⟨y, yins, hy⟩ refine ⟨g⁻¹ * y, by simp [yins], ?_⟩ apply congrArg (φ g⁻¹ * ·) at hy simp_rw [← mul_assoc, ← φ.map_mul, inv_mul_cancel, map_one, one_mul] at hy exact hy rw [this, ← map_apply (by fun_prop), IsMulLeftInvariant.map_mul_left_eq_self] exact hφ.measurableSet_image.mpr hs @[to_additive] lemma _root_.MeasurableEmbedding.isMulRightInvariant_comap {G H : Type*} [Group G] [MeasurableSpace G] [MeasurableMul G] [Monoid H] [MeasurableSpace H] [MeasurableMul H] {φ : G →* H} (hφ : MeasurableEmbedding φ) (μ : Measure H) [IsMulRightInvariant μ] : IsMulRightInvariant (comap φ μ) where map_mul_right_eq_self g := by ext s hs rw [map_apply (by fun_prop) hs] repeat rw [MeasurableEmbedding.comap_apply hφ] have : φ '' ((fun x ↦ x * g) ⁻¹' s) = (fun x ↦ x * φ g) ⁻¹' (φ '' s) := by ext constructor · rintro ⟨y, hy, rfl⟩ exact ⟨y * g, hy, by simp⟩ · intro ⟨y, yins, hy⟩ refine ⟨y * g⁻¹, by simp [yins], ?_⟩ apply congrArg (· * φ g⁻¹) at hy simp_rw [mul_assoc, ← φ.map_mul, mul_inv_cancel, map_one, mul_one] at hy exact hy rw [this, ← map_apply (by fun_prop), IsMulRightInvariant.map_mul_right_eq_self] exact hφ.measurableSet_image.mpr hs end MeasurableEmbeddingComap open Subgroup Set open scoped Pointwise namespace MeasureTheory variable {G α : Type*} [Group G] [MeasurableSpace G] [MeasurableSpace α] {H K : Subgroup G} @[to_additive] instance [MeasurableMul₂ G] : MeasurableMul₂ H where measurable_mul := Measurable.subtype_mk (by measurability) @[to_additive] instance [MeasurableInv G] : MeasurableInv H where measurable_inv := Measurable.subtype_mk (by measurability) variable [MeasurableMul G] @[to_additive] instance : MeasurableMul H where measurable_mul_const c := Measurable.subtype_mk (by measurability) measurable_const_mul c := Measurable.subtype_mk (by measurability) @[to_additive] lemma isMulLeftInvariant_subtypeVal (μ : Measure G) [μ.IsMulLeftInvariant] (hH : MeasurableSet (H : Set G)) : (μ.comap Subtype.val : Measure H).IsMulLeftInvariant := have hφ : MeasurableEmbedding H.subtype := MeasurableEmbedding.subtype_coe hH hφ.isMulLeftInvariant_comap μ @[to_additive] lemma isMulRightInvariant_subtypeVal (μ : Measure G) [μ.IsMulRightInvariant] (hH : MeasurableSet (H : Set G)) : (μ.comap Subtype.val : Measure H).IsMulRightInvariant := have hφ : MeasurableEmbedding H.subtype := MeasurableEmbedding.subtype_coe hH hφ.isMulRightInvariant_comap μ @[to_additive index_mul_addHaar_addSubgroup_eq_addHaar_addSubgroup] lemma index_mul_haar_subgroup_eq_haar_subgroup [H.IsFiniteRelIndex K] (hHK : H ≤ K) (hH : MeasurableSet (H : Set G)) (hK : MeasurableSet (K : Set G)) (μ : Measure G) [μ.IsMulLeftInvariant] : H.relIndex K * μ H = μ K := by have := isMulLeftInvariant_subtypeVal μ hK have := Subgroup.index_mul_measure (H.subgroupOf K) (measurable_subtype_coe hH) (μ.comap Subtype.val) rw [MeasurableEmbedding.comap_apply, MeasurableEmbedding.comap_apply] at this · simp only [image_univ, Subtype.range_coe_subtype, SetLike.setOf_mem_eq] at this unfold subgroupOf at this rwa [coe_comap, coe_subtype, Set.image_preimage_eq_of_subset (by simpa)] at this · exact .subtype_coe hK · exact .subtype_coe hK end MeasureTheory
Statements phrased using this module (0)
No statement module imports it directly (it is used through other definition modules or by proofs).