Theorem: MeasureTheory.IsFundamentalDomain.map_restrict_quotient
File: Mathlib/MeasureTheory/Measure/Haar/Quotient.lean

tactic: let π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: have meas_π : Measurable π := continuous_quotient_mk'.measurable
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: have 𝓕meas : NullMeasurableSet 𝓕 μ := h𝓕.nullMeasurableSet
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
meas_π : Measurable ↑π
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: haveI := Fact.mk h𝓕_finite
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
meas_π : Measurable ↑π
𝓕meas : NullMeasurableSet 𝓕
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: haveI : (Measure.map (QuotientGroup.mk' Γ) (μ.restrict 𝓕)).IsMulLeftInvariant :=
  h𝓕.isMulLeftInvariant_map
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
meas_π : Measurable ↑π
𝓕meas : NullMeasurableSet 𝓕
this : Fact (↑↑μ 𝓕 < ⊤)
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: rw [Measure.haarMeasure_unique (Measure.map (QuotientGroup.mk' Γ) (μ.restrict 𝓕)) K,
  Measure.map_apply meas_π, Measure.restrict_apply₀' 𝓕meas, inter_comm]
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
meas_π : Measurable ↑π
𝓕meas : NullMeasurableSet 𝓕
this✝ : Fact (↑↑μ 𝓕 < ⊤)
this : IsMulLeftInvariant (map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕))
⊢ map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕) = ↑↑μ (𝓕 ∩ ↑(QuotientGroup.mk' Γ) ⁻¹' ↑K) • haarMeasure K

tactic: exact K.isCompact.measurableSet
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
μ : Measure G
Γ : Subgroup G
𝓕 : Set G
h𝓕 : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } 𝓕
inst✝⁷ : Countable { x // x ∈ Γ }
inst✝⁶ : MeasurableSpace (G ⧸ Γ)
inst✝⁵ : BorelSpace (G ⧸ Γ)
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
K : PositiveCompacts (G ⧸ Γ)
inst✝² : Subgroup.Normal Γ
inst✝¹ : IsHaarMeasure μ
inst✝ : IsMulRightInvariant μ
h𝓕_finite : ↑↑μ 𝓕 < ⊤
π : G →* G ⧸ Γ := QuotientGroup.mk' Γ
meas_π : Measurable ↑π
𝓕meas : NullMeasurableSet 𝓕
this✝ : Fact (↑↑μ 𝓕 < ⊤)
this : IsMulLeftInvariant (map (↑(QuotientGroup.mk' Γ)) (Measure.restrict μ 𝓕))
⊢ MeasurableSet ↑K