Theorem: MeasureTheory.Measure.add_haar_eq_zero_of_disjoint_translates
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: suffices H : ∀ R, μ (s ∩ closedBall 0 R) = 0
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
⊢ ↑↑μ s = 0

tactic: intro R
state_before: case H
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
⊢ ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0

tactic: apply add_haar_eq_zero_of_disjoint_translates_aux μ u
  (bounded_closedBall.mono (inter_subset_right _ _)) hu _ (h's.inter measurableSet_closedBall)
state_before: case H
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
R : ℝ
⊢ ↑↑μ (s ∩ closedBall 0 R) = 0

tactic: refine pairwise_disjoint_mono hs fun n => ?_
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
R : ℝ
⊢ Pairwise (Disjoint on fun n => {u n} + s ∩ closedBall 0 R)

tactic: exact add_subset_add Subset.rfl (inter_subset_left _ _)
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
R : ℝ
n : ℕ
⊢ {u n} + s ∩ closedBall 0 R ≤ {u n} + s

tactic: apply le_antisymm _ (zero_le _)
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
H : ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0
⊢ ↑↑μ s = 0

tactic: calc
  μ s ≤ ∑' n : ℕ, μ (s ∩ closedBall 0 n) := by
    conv_lhs => rw [← iUnion_inter_closedBall_nat s 0]
    exact measure_iUnion_le _
  _ = 0 := by simp only [H, tsum_zero]
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
H : ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0
⊢ ↑↑μ s ≤ 0

tactic: conv_lhs => rw [← iUnion_inter_closedBall_nat s 0]
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
H : ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0
⊢ ↑↑μ s ≤ ∑' (n : ℕ), ↑↑μ (s ∩ closedBall 0 ↑n)

tactic: exact measure_iUnion_le _
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
H : ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0
⊢ ↑↑μ (⋃ (n : ℕ), s ∩ closedBall 0 ↑n) ≤ ∑' (n : ℕ), ↑↑μ (s ∩ closedBall 0 ↑n)

tactic: simp only [H, tsum_zero]
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : Set E
u : ℕ → E
hu : Metric.Bounded (range u)
hs : Pairwise (Disjoint on fun n => {u n} + s)
h's : MeasurableSet s
H : ∀ (R : ℝ), ↑↑μ (s ∩ closedBall 0 R) = 0
⊢ (∑' (n : ℕ), ↑↑μ (s ∩ closedBall 0 ↑n)) = 0