Theorem: MeasureTheory.IsAddFundamentalDomain.measure_eq_card_smul_of_vadd_ae_eq_self
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✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
ht : ∀ (g : G), g • t =ᶠ[ae μ] t
⊢ μ t = Nat.card G • μ (t ∩ s)
state_after: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
ht : ∀ (g : G), g • t =ᶠ[ae μ] t
this : Fintype G
⊢ μ t = Nat.card G • μ (t ∩ s)
tactic: haveI : Fintype G := Fintype.ofFinite G
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
ht : ∀ (g : G), g • t =ᶠ[ae μ] t
this : Fintype G
⊢ μ t = Nat.card G • μ (t ∩ s)
state_after: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
ht : ∀ (g : G), g • t =ᶠ[ae μ] t
this : Fintype G
⊢ ∑' (g : G), μ (g • t ∩ s) = Nat.card G • μ (t ∩ s)
tactic: rw [h.measure_eq_tsum]
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
ht : ∀ (g : G), g • t =ᶠ[ae μ] t
this : Fintype G
⊢ ∑' (g : G), μ (g • t ∩ s) = Nat.card G • μ (t ∩ s)
state_after: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
this : Fintype G
ht : ∀ (g : G), g • t ∩ s =ᶠ[ae μ] t ∩ s
⊢ ∑' (g : G), μ (g • t ∩ s) = Nat.card G • μ (t ∩ s)
tactic: replace ht : ∀ g : G, (g • t ∩ s : Set α) =ᵐ[μ] (t ∩ s : Set α) := fun g =>
    ae_eq_set_inter (ht g) (ae_eq_refl s)
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹¹ : Group G
inst✝¹⁰ : Group H
inst✝⁹ : MulAction G α
inst✝⁸ : MeasurableSpace α
inst✝⁷ : MulAction H β
inst✝⁶ : MeasurableSpace β
inst✝⁵ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝⁴ : MeasurableSpace G
inst✝³ : MeasurableSMul G α
inst✝² : SMulInvariantMeasure G α μ
inst✝¹ : Countable G
ν : Measure α
inst✝ : Finite G
h : IsFundamentalDomain G s μ
t : Set α
this : Fintype G
ht : ∀ (g : G), g • t ∩ s =ᶠ[ae μ] t ∩ s
⊢ ∑' (g : G), μ (g • t ∩ s) = Nat.card G • μ (t ∩ s)
state_after: no goals
tactic: simp_rw [measure_congr (ht _), tsum_fintype, Finset.sum_const, Nat.card_eq_fintype_card,
    Finset.card_univ]