Theorem: MeasureTheory.IsAddFundamentalDomain.addQuotientMeasureEqMeasurePreimage_of_zero
File: Mathlib/MeasureTheory/Group/FundamentalDomain.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
⊢ QuotientMeasureEqMeasurePreimage ν 0
state_after: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
⊢ 0 = Measure.map (Quotient.mk α_mod_G) (ν.restrict s)
tactic: apply fund_dom_s.quotientMeasureEqMeasurePreimage
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
⊢ 0 = Measure.map (Quotient.mk α_mod_G) (ν.restrict s)
state_after: case h
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ 0 U = (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U
tactic: ext U meas_U
state_before: case h
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ 0 U = (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U
state_after: case h
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ 0 = (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U
tactic: simp only [Measure.coe_zero, Pi.zero_apply]
state_before: case h
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ 0 = (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U
state_after: case h.e'_3
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U = ν (Quotient.mk α_mod_G ⁻¹' U ∩ s)
tactic: convert (measure_inter_null_of_null_right (h := vol_s) (Quotient.mk α_mod_G ⁻¹' U)).symm
state_before: case h.e'_3
G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁶ : Group G
inst✝⁵ : MulAction G α
inst✝⁴ : MeasurableSpace α
ν : Measure α
inst✝³ : Countable G
inst✝² : MeasurableSpace G
inst✝¹ : SMulInvariantMeasure G α ν
inst✝ : MeasurableSMul G α
s : Set α
fund_dom_s : IsFundamentalDomain G s ν
vol_s : ν s = 0
U : Set (Quotient α_mod_G)
meas_U : MeasurableSet U
⊢ (Measure.map (Quotient.mk α_mod_G) (ν.restrict s)) U = ν (Quotient.mk α_mod_G ⁻¹' U ∩ s)
state_after: no goals
tactic: rw [measure_map_restrict_apply (meas_U := meas_U)]