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

Proof steps:
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
⊢ QuotientMeasureEqMeasurePreimage ν (ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕) • haarMeasure K)
state_after: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
⊢ QuotientMeasureEqMeasurePreimage ν (c • haarMeasure K)
tactic: set c := ν ((π ⁻¹' (K : Set (G ⧸ Γ))) ∩ 𝓕)
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
⊢ QuotientMeasureEqMeasurePreimage ν (c • haarMeasure K)
state_after: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
⊢ QuotientMeasureEqMeasurePreimage ν (c • haarMeasure K)
tactic: have c_ne_top : c ≠ ∞ := by
    contrapose! h𝓕_finite
    have : c ≤ ν 𝓕 := measure_mono (Set.inter_subset_right)
    rw [h𝓕_finite] at this
    exact top_unique this
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
⊢ QuotientMeasureEqMeasurePreimage ν (c • haarMeasure K)
state_after: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
⊢ QuotientMeasureEqMeasurePreimage ν μ
tactic: set μ := c • haarMeasure K
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
⊢ QuotientMeasureEqMeasurePreimage ν μ
state_after: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
⊢ QuotientMeasureEqMeasurePreimage ν μ
tactic: have hμK : μ K = c := by simp [μ, haarMeasure_self]
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
⊢ QuotientMeasureEqMeasurePreimage ν μ
state_after: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
this : SigmaFinite μ
⊢ QuotientMeasureEqMeasurePreimage ν μ
tactic: haveI : SigmaFinite μ := by
    clear_value c
    lift c to NNReal using c_ne_top
    exact SMul.sigmaFinite c
state_before: G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
this : SigmaFinite μ
⊢ QuotientMeasureEqMeasurePreimage ν μ
state_after: case hV
G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
this : SigmaFinite μ
⊢ (interior ↑K).Nonempty

case hμK
G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
this : SigmaFinite μ
⊢ μ ↑K = ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)

case neTopV
G : Type u_1
inst✝¹² : Group G
inst✝¹¹ : MeasurableSpace G
inst✝¹⁰ : TopologicalSpace G
inst✝⁹ : TopologicalGroup G
inst✝⁸ : BorelSpace G
inst✝⁷ : PolishSpace G
Γ : Subgroup G
inst✝⁶ : Countable ↥Γ
inst✝⁵ : Γ.Normal
inst✝⁴ : T2Space (G ⧸ Γ)
inst✝³ : SecondCountableTopology (G ⧸ Γ)
μ✝ : Measure (G ⧸ Γ)
ν : Measure G
inst✝² : SigmaFinite ν
inst✝¹ : ν.IsHaarMeasure
inst✝ : ν.IsMulRightInvariant
K : PositiveCompacts (G ⧸ Γ)
𝓕 : Set G
h𝓕 : IsFundamentalDomain (↥Γ.op) 𝓕 ν
h𝓕_finite : ν 𝓕 ≠ ⊤
c : ℝ≥0∞ := ν (QuotientGroup.mk ⁻¹' ↑K ∩ 𝓕)
c_ne_top : c ≠ ⊤
μ : Measure (G ⧸ Γ) := c • haarMeasure K
hμK : μ ↑K = c
this : SigmaFinite μ
⊢ μ ↑K ≠ ⊤
tactic: apply IsFundamentalDomain.QuotientMeasureEqMeasurePreimage_HaarMeasure (h𝓕 := h𝓕)
    (meas_V := K.isCompact.measurableSet) (μ := μ)