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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
let π : G → G ⧸ Γ := QuotientGroup.mk
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
have meas_π : Measurable π := continuous_quotient_mk'.measurable
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
have 𝓕meas : NullMeasurableSet 𝓕 μ := h𝓕.nullMeasurableSet
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
meas_πA : MeasurableSet (π ⁻¹' A)
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
have meas_πA : MeasurableSet (π ⁻¹' A) := measurableSet_preimage meas_π hA
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
meas_πA : MeasurableSet (π ⁻¹' A)
⊢ ↑↑μ (π ⁻¹' ((fun x x_1 => x • x_1) g ⁻¹' A) ∩ 𝓕) = ↑↑μ (π ⁻¹' A ∩ 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
meas_πA : MeasurableSet (π ⁻¹' A)
⊢ ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) ((fun x => g • x) ⁻¹' A) =
    ↑↑(map QuotientGroup.mk (Measure.restrict μ 𝓕)) A
rw [Measure.map_apply meas_π hA,
  Measure.map_apply meas_π (measurableSet_preimage (measurable_const_smul g) hA),
  Measure.restrict_apply₀' 𝓕meas, Measure.restrict_apply₀' 𝓕meas]
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
⊢ ↑↑μ (π ⁻¹' ((fun x x_1 => x • x_1) g ⁻¹' A) ∩ 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
meas_πA : MeasurableSet (π ⁻¹' A)
⊢ ↑↑μ (π ⁻¹' ((fun x x_1 => x • x_1) g ⁻¹' A) ∩ 𝓕) = ↑↑μ (π ⁻¹' A ∩ 𝓕)
set π_preA := π ⁻¹' A
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ (π ⁻¹' ((fun x x_1 => x • x_1) g ⁻¹' A) ∩ 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
rw [this]
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
⊢ ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
rw [this]
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
have h𝓕_translate_fundom : IsFundamentalDomain (Subgroup.opposite Γ) (g • 𝓕) μ :=
  h𝓕.smul_of_comm g
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ • x) ⁻¹' 𝓕)

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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ∀ (g : { x // x ∈ ↑Subgroup.opposite Γ }), (fun x => g • x) ⁻¹' π_preA = π_preA
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ 𝓕)
rw [h𝓕.measure_set_eq h𝓕_translate_fundom meas_πA, ← preimage_smul_inv]
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ∀ (g : { x // x ∈ ↑Subgroup.opposite Γ }), (fun x => g • x) ⁻¹' π_preA = π_preA
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ • x) ⁻¹' 𝓕)

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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ∀ (g : { x // x ∈ ↑Subgroup.opposite Γ }), (fun x => g • x) ⁻¹' π_preA = π_preA
rfl
case mk
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
⊢ (fun x => { val := γ, property := γ_in_Γ } • x) ⁻¹' π_preA = π_preA
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
⊢ ∀ (g : { x // x ∈ ↑Subgroup.opposite Γ }), (fun x => g • x) ⁻¹' π_preA = π_preA
rintro ⟨γ, γ_in_Γ⟩
case mk.h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
x : G
⊢ x ∈ (fun x => { val := γ, property := γ_in_Γ } • x) ⁻¹' π_preA ↔ x ∈ π_preA
case mk
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
⊢ (fun x => { val := γ, property := γ_in_Γ } • x) ⁻¹' π_preA = π_preA
ext x
case mk.h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝¹ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this✝ : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
x : G
this : π (x * MulOpposite.unop γ) = π x
⊢ x ∈ (fun x => { val := γ, property := γ_in_Γ } • x) ⁻¹' π_preA ↔ x ∈ π_preA
case mk.h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
x : G
⊢ x ∈ (fun x => { val := γ, property := γ_in_Γ } • x) ⁻¹' π_preA ↔ x ∈ π_preA
have : π (x * MulOpposite.unop γ) = π x := by simpa [QuotientGroup.eq'] using γ_in_Γ
no goals
case mk.h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝¹ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this✝ : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
x : G
this : π (x * MulOpposite.unop γ) = π x
⊢ ↑(SMul.smul { val := γ, property := γ_in_Γ } x) ∈ A ↔ ↑(x * MulOpposite.unop γ) ∈ A
rfl
case h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
x✝ : G
⊢ x✝ ∈ π ⁻¹' ((fun x => g • x) ⁻¹' A) ↔ x✝ ∈ (fun x => g * x) ⁻¹' π_preA
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
⊢ π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
ext1
no goals
case h
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
x✝ : G
⊢ x✝ ∈ π ⁻¹' ((fun x => g • x) ⁻¹' A) ↔ x✝ ∈ (fun x => g * x) ⁻¹' π_preA
simp
no goals
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ ((fun x => g * x) ⁻¹' (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
rw [measure_preimage_mul]
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) =
    ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ (fun x => g * x) ⁻¹' ((fun x => g⁻¹ * x) ⁻¹' 𝓕))
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ ((fun x => g * x) ⁻¹' (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕))
rw [preimage_inter]
case e_a.e_a
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ 𝓕 = (fun x => g * x) ⁻¹' ((fun x => g⁻¹ * x) ⁻¹' 𝓕)
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) =
    ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ (fun x => g * x) ⁻¹' ((fun x => g⁻¹ * x) ⁻¹' 𝓕))
congr 2
no goals
case e_a.e_a
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
⊢ 𝓕 = (fun x => g * x) ⁻¹' ((fun x => g⁻¹ * x) ⁻¹' 𝓕)
simp [Set.preimage]
no goals
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✝¹ : IsMulLeftInvariant μ
inst✝ : IsMulRightInvariant μ
g : G
A : Set (G ⧸ Γ)
hA : MeasurableSet A
π : G → G ⧸ Γ := QuotientGroup.mk
meas_π : Measurable π
𝓕meas : NullMeasurableSet 𝓕
π_preA : Set G := π ⁻¹' A
meas_πA : MeasurableSet π_preA
this✝ : π ⁻¹' ((fun x => g • x) ⁻¹' A) = (fun x => g * x) ⁻¹' π_preA
this : ↑↑μ ((fun x => g * x) ⁻¹' π_preA ∩ 𝓕) = ↑↑μ (π_preA ∩ (fun x => g⁻¹ * x) ⁻¹' 𝓕)
h𝓕_translate_fundom : IsFundamentalDomain { x // x ∈ ↑Subgroup.opposite Γ } (g • 𝓕)
γ : Gᵐᵒᵖ
γ_in_Γ : γ ∈ ↑Subgroup.opposite Γ
x : G
⊢ π (x * MulOpposite.unop γ) = π x
simpa [QuotientGroup.eq'] using γ_in_Γ