Theorem: MeasureTheory.addHaar_image_eq_zero_of_det_fderivWithin_eq_zero_aux
File: Mathlib/MeasureTheory/Function/Jacobian.lean

tactic: rcases eq_empty_or_nonempty s with (rfl | h's)
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
⊢ ↑↑μ (f '' s) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: have :
    ∀ A : E →L[ℝ] E, ∃ δ : ℝ≥0, 0 < δ ∧
      ∀ (t : Set E), ApproximatesLinearOn f A t δ →
        μ (f '' t) ≤ (Real.toNNReal (|A.det|) + ε : ℝ≥0) * μ t := by
  intro A
  let m : ℝ≥0 := Real.toNNReal (|A.det|) + ε
  have I : ENNReal.ofReal (|A.det|) < m := by
    simp only [ENNReal.ofReal, lt_add_iff_pos_right, εpos, ENNReal.coe_lt_coe]
  rcases ((addHaar_image_le_mul_of_det_lt μ A I).and self_mem_nhdsWithin).exists with ⟨δ, h, h'⟩
  exact ⟨δ, h', fun t ht => h t f ht⟩
state_before: case inr
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
⊢ ↑↑μ (f '' s) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: choose δ hδ using this
state_before: case inr
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
this :
  ∀ (A : E →L[ℝ] E),
    ∃ δ,
      0 < δ ∧
        ∀ (t : Set E),
          ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
⊢ ↑↑μ (f '' s) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: obtain ⟨t, A, t_disj, t_meas, t_cover, ht, Af'⟩ :
  ∃ (t : ℕ → Set E) (A : ℕ → E →L[ℝ] E),
    Pairwise (Disjoint on t) ∧
      (∀ n : ℕ, MeasurableSet (t n)) ∧
        (s ⊆ ⋃ n : ℕ, t n) ∧
          (∀ n : ℕ, ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))) ∧
            (s.Nonempty → ∀ n, ∃ y ∈ s, A n = f' y) :=
  exists_partition_approximatesLinearOn_of_hasFDerivWithinAt f s f' hf' δ fun A => (hδ A).1.ne'
state_before: case inr
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
⊢ ↑↑μ (f '' s) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: simp only [measure_empty, zero_le, image_empty]
state_before: case inl
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
R : ℝ
ε : ℝ≥0
εpos : 0 < ε
hf' : ∀ (x : E), x ∈ ∅ → HasFDerivWithinAt f (f' x) ∅ x
hs : ∅ ⊆ closedBall 0 R
h'f' : ∀ (x : E), x ∈ ∅ → ContinuousLinearMap.det (f' x) = 0
⊢ ↑↑μ (f '' ∅) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: intro A
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
⊢ ∀ (A : E →L[ℝ] E),
    ∃ δ,
      0 < δ ∧
        ∀ (t : Set E),
          ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t

tactic: let m : ℝ≥0 := Real.toNNReal (|A.det|) + ε
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
A : E →L[ℝ] E
⊢ ∃ δ,
    0 < δ ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t

tactic: have I : ENNReal.ofReal (|A.det|) < m := by
  simp only [ENNReal.ofReal, lt_add_iff_pos_right, εpos, ENNReal.coe_lt_coe]
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
A : E →L[ℝ] E
m : ℝ≥0 := Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε
⊢ ∃ δ,
    0 < δ ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t

tactic: rcases ((addHaar_image_le_mul_of_det_lt μ A I).and self_mem_nhdsWithin).exists with ⟨δ, h, h'⟩
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
A : E →L[ℝ] E
m : ℝ≥0 := Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε
I : ENNReal.ofReal (abs (ContinuousLinearMap.det A)) < ↑m
⊢ ∃ δ,
    0 < δ ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t

tactic: exact ⟨δ, h', fun t ht => h t f ht⟩
state_before: case intro.intro
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
A : E →L[ℝ] E
m : ℝ≥0 := Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε
I : ENNReal.ofReal (abs (ContinuousLinearMap.det A)) < ↑m
δ : ℝ≥0
h : ∀ (s : Set E) (f : E → E), ApproximatesLinearOn f A s δ → ↑↑μ (f '' s) ≤ ↑m * ↑↑μ s
h' : 0 < δ
⊢ ∃ δ,
    0 < δ ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t δ → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t

tactic: simp only [ENNReal.ofReal, lt_add_iff_pos_right, εpos, ENNReal.coe_lt_coe]
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
A : E →L[ℝ] E
m : ℝ≥0 := Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε
⊢ ENNReal.ofReal (abs (ContinuousLinearMap.det A)) < ↑m

tactic: apply measure_mono
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ ↑↑μ (f '' s) ≤ ↑↑μ (⋃ (n : ℕ), f '' (s ∩ t n))

tactic: rw [← image_iUnion, ← inter_iUnion]
state_before: case h
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ f '' s ⊆ ⋃ (n : ℕ), f '' (s ∩ t n)

tactic: exact image_subset f (subset_inter Subset.rfl t_cover)
state_before: case h
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ f '' s ⊆ f '' (s ∩ ⋃ (i : ℕ), t i)

tactic: apply ENNReal.tsum_le_tsum fun n => ?_
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ (∑' (n : ℕ), ↑↑μ (f '' (s ∩ t n))) ≤
    ∑' (n : ℕ), ↑(Real.toNNReal (abs (ContinuousLinearMap.det (A n))) + ε) * ↑↑μ (s ∩ t n)

tactic: apply (hδ (A n)).2
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
⊢ ↑↑μ (f '' (s ∩ t n)) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det (A n))) + ε) * ↑↑μ (s ∩ t n)

tactic: exact ht n
state_before: case a
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
⊢ ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))

tactic: congr with n
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ (∑' (n : ℕ), ↑(Real.toNNReal (abs (ContinuousLinearMap.det (A n))) + ε) * ↑↑μ (s ∩ t n)) =
    ∑' (n : ℕ), ↑ε * ↑↑μ (s ∩ t n)

tactic: rcases Af' h's n with ⟨y, ys, hy⟩
state_before: case e_f.h
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
⊢ ↑(Real.toNNReal (abs (ContinuousLinearMap.det (A n))) + ε) * ↑↑μ (s ∩ t n) = ↑ε * ↑↑μ (s ∩ t n)

tactic: simp only [hy, h'f' y ys, Real.toNNReal_zero, abs_zero, zero_add]
state_before: case e_f.h.intro.intro
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
y : E
ys : y ∈ s
hy : A n = f' y
⊢ ↑(Real.toNNReal (abs (ContinuousLinearMap.det (A n))) + ε) * ↑↑μ (s ∩ t n) = ↑ε * ↑↑μ (s ∩ t n)

tactic: rw [ENNReal.tsum_mul_left]
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ (∑' (n : ℕ), ↑ε * ↑↑μ (s ∩ t n)) ≤ ↑ε * ∑' (n : ℕ), ↑↑μ (closedBall 0 R ∩ t n)

tactic: refine' mul_le_mul_left' (ENNReal.tsum_le_tsum fun n => measure_mono _) _
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ (↑ε * ∑' (i : ℕ), ↑↑μ (s ∩ t i)) ≤ ↑ε * ∑' (n : ℕ), ↑↑μ (closedBall 0 R ∩ t n)

tactic: exact inter_subset_inter_left _ hs
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
⊢ s ∩ t n ⊆ closedBall 0 R ∩ t n

tactic: rw [measure_iUnion]
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ (↑ε * ∑' (n : ℕ), ↑↑μ (closedBall 0 R ∩ t n)) = ↑ε * ↑↑μ (⋃ (n : ℕ), closedBall 0 R ∩ t n)

tactic: exact pairwise_disjoint_mono t_disj fun n => inter_subset_right _ _
state_before: case hn
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ Pairwise (Disjoint on fun n => closedBall 0 R ∩ t n)

tactic: intro n
state_before: case h
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ ∀ (i : ℕ), MeasurableSet (closedBall 0 R ∩ t i)

tactic: exact measurableSet_closedBall.inter (t_meas n)
state_before: case h
E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
n : ℕ
⊢ MeasurableSet (closedBall 0 R ∩ t n)

tactic: rw [← inter_iUnion]
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ ↑ε * ↑↑μ (⋃ (n : ℕ), closedBall 0 R ∩ t n) ≤ ↑ε * ↑↑μ (closedBall 0 R)

tactic: exact mul_le_mul_left' (measure_mono (inter_subset_left _ _)) _
state_before: E : Type u_1
F : Type ?u.607843
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
R : ℝ
hs : s ⊆ closedBall 0 R
ε : ℝ≥0
εpos : 0 < ε
h'f' : ∀ (x : E), x ∈ s → ContinuousLinearMap.det (f' x) = 0
h's : Set.Nonempty s
δ : (E →L[ℝ] E) → ℝ≥0
hδ :
  ∀ (A : E →L[ℝ] E),
    0 < δ A ∧
      ∀ (t : Set E),
        ApproximatesLinearOn f A t (δ A) → ↑↑μ (f '' t) ≤ ↑(Real.toNNReal (abs (ContinuousLinearMap.det A)) + ε) * ↑↑μ t
t : ℕ → Set E
A : ℕ → E →L[ℝ] E
t_disj : Pairwise (Disjoint on t)
t_meas : ∀ (n : ℕ), MeasurableSet (t n)
t_cover : s ⊆ ⋃ (n : ℕ), t n
ht : ∀ (n : ℕ), ApproximatesLinearOn f (A n) (s ∩ t n) (δ (A n))
Af' : Set.Nonempty s → ∀ (n : ℕ), ∃ y, y ∈ s ∧ A n = f' y
⊢ ↑ε * ↑↑μ (closedBall 0 R ∩ ⋃ (i : ℕ), t i) ≤ ↑ε * ↑↑μ (closedBall 0 R)