Documentation

LeanPool.FormalizingGMT.TangentMeasures.DensityIneqToTangentsLemmas1

Density and ball bounds for Mattila's Lemma 14.7 #

This file develops the quantitative density and ball-measure estimates used in Lemma 14.7.

Densities #

For a measure on Euclidean space, the upper s-density dimensionalUpperDensity (from DensitiesBasic) is the limsup as r ↓ 0 of μ (closedBall a r) / (2 r) ^ s.

For a measure on Euclidean space, the lower s-density dimensionalLowerDensity (from DensitiesBasic) is the liminf as r ↓ 0 of μ (closedBall a r) / (2 r) ^ s.

The set A of Mattila, Lemma 14.7: the points a at which 0 < Θ^s_*(μ, a) ≤ Θ^{*s}(μ, a) < ∞.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def RatioOfDensities {n : ℕ} (s : ℝ) (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (a : EuclideanSpace ℝ (Fin n)) :

    The density ratio t (a) = Θ^s_*(μ, a) / Θ^{*s}(μ, a) of Mattila, Lemma 14.7: the lower s-dimensional density of μ at a divided by the upper one.

    Equations
    Instances For
      noncomputable def upperBallSDensity {n : ℕ} (s : ℝ) (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (z : EuclideanSpace ℝ (Fin n)) :

      The quantity limsup_{δ ↓ 0} sup {d (B) ^ (-s) μ (B) : B a closed ball with z ∈ B and d (B) < δ} appearing in the hypothesis of Mattila, Lemma 14.7 (2). Here d (B) = 2 ρ is the diameter of the ball B = B (y, ρ).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Supports #

        theorem measure_eq_zero_of_disjoint_support {X : Type u_1} [TopologicalSpace X] [SecondCountableTopology X] [MeasurableSpace X] {μ : MeasureTheory.Measure X} {V : Set X} (h : ∀ y ∈ V, y ∉ μ.support) :
        μ V = 0

        A set all of whose points lie outside the support of μ is μ-null. (Second countability of the space is what makes the usual Lindelöf argument work.)

        theorem exists_mem_support_of_measure_pos {X : Type u_1} [TopologicalSpace X] [SecondCountableTopology X] [MeasurableSpace X] {μ : MeasureTheory.Measure X} {V : Set X} (h : 0 < μ V) :
        ∃ y ∈ V, y ∈ μ.support

        An open set of positive measure contains a point of the support.

        Blow-ups of balls with arbitrary centres #

        theorem blowUpMap_preimage_ball' {n : ℕ} (a x : EuclideanSpace ℝ (Fin n)) {r : ℝ} (hr : 0 < r) (ρ : ℝ) :
        blowUpMap a r ⁻¹' Metric.ball x ρ = Metric.ball (a + r • x) (r * ρ)
        theorem blowUpMap_preimage_closedBall' {n : ℕ} (a x : EuclideanSpace ℝ (Fin n)) {r : ℝ} (hr : 0 < r) (ρ : ℝ) :
        theorem blowUp_smul_apply_ball {n : ℕ} (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (a x : EuclideanSpace ℝ (Fin n)) {r : ℝ} (hr : 0 < r) (c : ENNReal) (ρ : ℝ) :
        (c • MeasureTheory.Measure.map (blowUpMap a r) μ) (Metric.ball x ρ) = c * μ (Metric.ball (a + r • x) (r * ρ))
        theorem blowUp_smul_apply_closedBall {n : ℕ} (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (a x : EuclideanSpace ℝ (Fin n)) {r : ℝ} (hr : 0 < r) (c : ENNReal) (ρ : ℝ) :

        Fubini bound: the integral over x ∈ B (x₀, R) of ν (B (x, r)) is at most r ^ n times the volume of the unit ball times ν (B (x₀, R + r)).

        theorem MattilaSupportGrowth.no_uniform_lower_bound_of_lt_dim {n : ℕ} {s : ℝ} (hsn : s < ↑n) (ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) [MeasureTheory.IsFiniteMeasureOnCompacts ν] {c : ENNReal} (hc : 0 < c) (hlow : ∀ (x : EuclideanSpace ℝ (Fin n)) (r : ℝ), 0 < r → r < 1 → c * ENNReal.ofReal (r ^ s) ≤ ν (Metric.closedBall x r)) :

        A locally finite Borel measure on ℝⁿ cannot satisfy a uniform lower bound c ρ ^ s ≤ ν (B (x, ρ)) at every point when s < n and c > 0.

        theorem support_ne_univ_of_lower_growth {n : ℕ} {s : ℝ} (hsn : s < ↑n) (ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (hν : ν.Regular) {c : ENNReal} (hc : 0 < c) (hlow : ∀ x ∈ ν.support, ∀ (ρ : ℝ), 0 < ρ → c * ENNReal.ofReal (ρ ^ s) ≤ ν (Metric.closedBall x ρ)) :

        The support of a measure with s-dimensional lower growth, s < n, is not everything. If ν is a Radon measure (a regular Borel measure) on ℝⁿ and there is c > 0 with c ρ ^ s ≤ ν (B (x, ρ)) for every x ∈ spt ν and every ρ > 0, and if s < n, then spt ν ≠ ℝⁿ. This is the step of Mattila's proof of Lemma 14.7 (3) which produces a point outside the support of the tangent measure supplied by part (1).

        theorem exists_hole_of_ball_bounds {n : ℕ} {s p q r₀ : ℝ} (hsn : s < ↑n) (hp : 0 < p) (hq : 0 < q) (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (hμ : μ.Regular) {F : Set (EuclideanSpace ℝ (Fin n))} (hupper : ∀ y ∈ F, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (q * ρ ^ s)) (hlower : ∀ y ∈ F, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (p * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) :
        ∃ (κ : ℝ), 0 < κ ∧ κ < 1 ∧ ∀ x ∈ F, ∀ (δ : ℝ), 0 < δ → δ < r₀ / 2 → ∃ (z : EuclideanSpace ℝ (Fin n)), dist z x ≤ δ ∧ κ * δ < Metric.infDist z F

        Holes at every scale. If s < n and the measures of the balls centred on F of radius ρ < r₀ are between p ρ ^ s and q ρ ^ s, then there is κ > 0 such that every ball B (x, δ) with x ∈ F and δ < r₀ / 2 contains a point at distance more than κ δ from F.

        A few elementary facts #

        theorem exists_ball_pos_of_ne_zero {n : ℕ} {ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} (hν0 : ν ≠ 0) :
        ∃ (R : ℝ), 1 ≤ R ∧ 0 < ν (Metric.ball 0 R)

        A nonzero measure charges some ball centred at the origin.

        theorem ofReal_mul_rpow_mul {d v ri s : ℝ} (hd : 0 ≤ d) (hv : 0 ≤ v) (hri : 0 ≤ ri) :
        ENNReal.ofReal (d * (ri * v) ^ s) = ENNReal.ofReal (d * v ^ s) * ENNReal.ofReal (ri ^ s)

        Splitting off the scaling factor r ^ s from d * (r * v) ^ s.

        The engine behind Lemma 14.7 (4) #

        theorem tangent_exists_nearby_support_point {n : ℕ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} (hrpos : ∀ (i : ℕ), 0 < rs i) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) {x : EuclideanSpace ℝ (Fin n)} (hx : x ∈ ν.support) {ε : ℝ} (hε : 0 < ε) :
        ∀ᶠ (i : ℕ) in Filter.atTop, ∃ y ∈ μ.support, dist y (a + rs i • x) < rs i * ε

        If x belongs to the support of a blow-up limit ν, then, for large i, the point a + r i • x is within distance ε * r i of the support of μ.

        theorem tangent_closedBall_le {n : ℕ} {s d r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {lam : ENNReal} (hd : 0 ≤ d) (hr₀ : 0 < r₀) {P : Set (EuclideanSpace ℝ (Fin n))} (hupper : ∀ y ∈ P, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (d * ρ ^ s)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hlam : Filter.Tendsto (fun (i : ℕ) => cs i * ENNReal.ofReal (rs i ^ s)) Filter.atTop (nhds lam)) (hlamfin : lam ≠ ⊤) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) {x : EuclideanSpace ℝ (Fin n)} (hnear : ∀ (ε : ℝ), 0 < ε → ∀ᶠ (i : ℕ) in Filter.atTop, ∃ y ∈ P, dist y (a + rs i • x) < rs i * ε) {ρ : ℝ} (hρ : 0 < ρ) :
        ν (Metric.closedBall x ρ) ≤ ENNReal.ofReal (d * ρ ^ s) * lam

        Upper bound in Lemma 14.7 (1), from the uniform upper bound on spt μ.

        theorem le_tangent_closedBall {n : ℕ} {s d t r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {lam : ENNReal} (hd : 0 ≤ d) (ht : 0 ≤ t) (hr₀ : 0 < r₀) {P : Set (EuclideanSpace ℝ (Fin n))} (hlower : ∀ y ∈ P, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (t * d * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hlam : Filter.Tendsto (fun (i : ℕ) => cs i * ENNReal.ofReal (rs i ^ s)) Filter.atTop (nhds lam)) (hlamfin : lam ≠ ⊤) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) {x : EuclideanSpace ℝ (Fin n)} (hnear : ∀ (ε : ℝ), 0 < ε → ∀ᶠ (i : ℕ) in Filter.atTop, ∃ y ∈ P, dist y (a + rs i • x) < rs i * ε) {ρ : ℝ} (hρ : 0 < ρ) :
        ENNReal.ofReal (t * d * ρ ^ s) * lam ≤ ν (Metric.closedBall x ρ)

        Lower bound in Lemma 14.7 (1), from the uniform lower bound on spt μ.

        theorem tangent_scaling_lt_top {n : ℕ} {s d t r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {lam : ENNReal} (hd : 0 < d) (ht : 0 < t) (hr₀ : 0 < r₀) {P : Set (EuclideanSpace ℝ (Fin n))} (ha : a ∈ P) (hlower : ∀ y ∈ P, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (t * d * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hlam : Filter.Tendsto (fun (i : ℕ) => cs i * ENNReal.ofReal (rs i ^ s)) Filter.atTop (nhds lam)) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) :
        lam ≠ ⊤

        The scaling constants of a blow-up sequence are bounded, under the uniform lower bound.

        theorem tangent_scaling_pos {n : ℕ} {s d r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {lam : ENNReal} (hd : 0 < d) (hr₀ : 0 < r₀) {P : Set (EuclideanSpace ℝ (Fin n))} (ha : a ∈ P) (hupper : ∀ y ∈ P, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (d * ρ ^ s)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hlam : Filter.Tendsto (fun (i : ℕ) => cs i * ENNReal.ofReal (rs i ^ s)) Filter.atTop (nhds lam)) (hν0 : ν ≠ 0) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) :
        0 < lam

        The scaling constants of a blow-up sequence do not degenerate, under the uniform upper bound.

        The doubling condition from uniform ball bounds #

        theorem limsup_ball_ratio_lt_top_of_uniform {n : ℕ} {s d t r₀ : ℝ} {μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} (hd : 0 < d) (ht : 0 < t) (hr₀ : 0 < r₀) (ha : a ∈ μ.support) (hupper : ∀ y ∈ μ.support, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (d * ρ ^ s)) (hlower : ∀ y ∈ μ.support, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (t * d * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) :
        Filter.limsup (fun (ρ : ℝ) => μ (Metric.ball a (2 * ρ)) / μ (Metric.ball a ρ)) (nhdsWithin 0 (Set.Ioi 0)) < ⊤

        Uniform two-sided ball bounds on spt μ imply Mattila's assumption 14.3 (1) at every point of spt μ.

        Nearby points of a set with a density point #

        This is the ingredient which replaces, in the proof of Lemma 14.7 (1), the elementary fact used for Lemma 14.7 (4) that an open set of positive measure meets spt μ.

        theorem tangent_exists_nearby_point_of_density {n : ℕ} {s p q r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {B : Set (EuclideanSpace ℝ (Fin n))} (hp : 0 < p) (hq : 0 < q) (hr₀ : 0 < r₀) (haB : a ∈ B) (hupper : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (q * ρ ^ s)) (hlower : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (p * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) (hdens : ∀ (γ : ENNReal), 0 < γ → ∀ᶠ (ρ : ℝ) in nhdsWithin 0 (Set.Ioi 0), μ (Metric.closedBall a ρ \ B) ≤ γ * μ (Metric.closedBall a ρ)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) {x : EuclideanSpace ℝ (Fin n)} (hx : x ∈ ν.support) {ε : ℝ} (hε : 0 < ε) :
        ∀ᶠ (i : ℕ) in Filter.atTop, ∃ y ∈ B, dist y (a + rs i • x) < rs i * ε

        If a is a μ-density point of a set B on which the measures of small balls are comparable to ρ ^ s, and x lies in the support of a blow-up limit ν of μ at a, then for large i the point a + r i • x is within distance ε * r i of B.

        theorem tangent_smul_measure_le_of_disjoint {n : ℕ} {s p q r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {B : Set (EuclideanSpace ℝ (Fin n))} (hp : 0 < p) (hq : 0 < q) (hr₀ : 0 < r₀) (haB : a ∈ B) (hupper : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (q * ρ ^ s)) (hlower : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (p * ρ ^ s) ≤ μ (Metric.closedBall y ρ)) (hdens : ∀ (γ : ENNReal), 0 < γ → ∀ᶠ (ρ : ℝ) in nhdsWithin 0 (Set.Ioi 0), μ (Metric.closedBall a ρ \ B) ≤ γ * μ (Metric.closedBall a ρ)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) {R : ℝ} (hR : 0 < R) {β : ENNReal} (hβ : 0 < β) :
        ∀ᶠ (i : ℕ) in Filter.atTop, ∀ S ⊆ Metric.closedBall a (rs i * R), Disjoint S B → cs i * μ S ≤ β

        Under the hypotheses of the density-point lemma, the blow-ups give arbitrarily small mass to sets which live at a fixed multiple of the scale r i around a and avoid B.

        theorem tangent_closedBall_le_of_ball_bounds {n : ℕ} {s r₀ : ℝ} {μ ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))} {a : EuclideanSpace ℝ (Fin n)} {rs : ℕ → ℝ} {cs : ℕ → ENNReal} {d : ℝ} {lam : ENNReal} (hd : 0 ≤ d) (hr₀ : 0 < r₀) {P : Set (EuclideanSpace ℝ (Fin n))} (hballbd : ∀ z ∈ P, ∀ (y : EuclideanSpace ℝ (Fin n)) (w : ℝ), 0 < w → w < r₀ → z ∈ Metric.closedBall y w → μ (Metric.closedBall y w) ≤ ENNReal.ofReal (d * w ^ s)) (hrpos : ∀ (i : ℕ), 0 < rs i) (hr0 : Filter.Tendsto rs Filter.atTop (nhds 0)) (hlam : Filter.Tendsto (fun (i : ℕ) => cs i * ENNReal.ofReal (rs i ^ s)) Filter.atTop (nhds lam)) (hlamfin : lam ≠ ⊤) (hseq : ∀ (i : ℕ), (cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ).Regular) (hν : ν.Regular) (hconv : MeasureTheory.Measure.WeaklyConverges (fun (i : ℕ) => cs i • MeasureTheory.Measure.map (blowUpMap a (rs i)) μ) ν) (hsmall : ∀ (β : ENNReal), 0 < β → ∀ (R : ℝ), 0 < R → ∀ᶠ (i : ℕ) in Filter.atTop, ∀ S ⊆ Metric.closedBall a (rs i * R), Disjoint S P → cs i * μ S ≤ β) (x : EuclideanSpace ℝ (Fin n)) {ρ : ℝ} (hρ : 0 < ρ) :
        ν (Metric.closedBall x ρ) ≤ ENNReal.ofReal (d * ρ ^ s) * lam

        Upper bound for tangent measures of balls with arbitrary centres, from a bound on the measures of all small balls meeting the set P.

        Mattila's reduction step for Lemma 14.7 (1) #

        theorem tangent_ball_bounds_of_density_point {n : ℕ} {s d t r₀ : ℝ} (hd : 0 < d) (ht : 0 < t) (hr₀ : 0 < r₀) (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (hμ : μ.Regular) {B : Set (EuclideanSpace ℝ (Fin n))} (hbounds : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (t * d * ρ ^ s) ≤ μ (Metric.closedBall y ρ) ∧ μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (d * ρ ^ s)) {a : EuclideanSpace ℝ (Fin n)} (haB : a ∈ B) (hdens : ∀ (γ : ENNReal), 0 < γ → ∀ᶠ (ρ : ℝ) in nhdsWithin 0 (Set.Ioi 0), μ (Metric.closedBall a ρ \ B) ≤ γ * μ (Metric.closedBall a ρ)) (ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (htan : IsTangentMeasure μ ν a) :
        ∃ (c : ENNReal), 0 < c ∧ c ≠ ⊤ ∧ ∀ x ∈ ν.support, ∀ (ρ : ℝ), 0 < ρ → ENNReal.ofReal t * c * ENNReal.ofReal (ρ ^ s) ≤ ν (Metric.closedBall x ρ) ∧ ν (Metric.closedBall x ρ) ≤ c * ENNReal.ofReal (ρ ^ s)

        Mattila, Lemma 14.7, reduction step. Let τ, d, r₀ be positive numbers and let B be a set with τ d ρ ^ s ≤ μ (B (y, ρ)) ≤ d ρ ^ s for y ∈ B and 0 < ρ < r₀. If a ∈ B is a μ-density point of B, then every tangent measure ν ∈ Tan (μ, a) satisfies τ c ρ ^ s ≤ ν (B (x, ρ)) ≤ c ρ ^ s for x ∈ spt ν and 0 < ρ < ∞, for some positive finite constant c.

        Mattila's reduction step for Lemma 14.7 (2) #

        theorem tangent_ball_bounds_of_density_point_of_ball_bounds {n : ℕ} {s d t r₀ : ℝ} (hd : 0 < d) (ht : 0 < t) (hr₀ : 0 < r₀) (μ : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (hμ : μ.Regular) {B : Set (EuclideanSpace ℝ (Fin n))} (hbounds : ∀ y ∈ B, ∀ (ρ : ℝ), 0 < ρ → ρ < r₀ → ENNReal.ofReal (t * d * ρ ^ s) ≤ μ (Metric.closedBall y ρ) ∧ μ (Metric.closedBall y ρ) ≤ ENNReal.ofReal (d * ρ ^ s)) (hballbd : ∀ z ∈ B, ∀ (y : EuclideanSpace ℝ (Fin n)) (w : ℝ), 0 < w → w < r₀ → z ∈ Metric.closedBall y w → μ (Metric.closedBall y w) ≤ ENNReal.ofReal (d * w ^ s)) {a : EuclideanSpace ℝ (Fin n)} (haB : a ∈ B) (hdens : ∀ (γ : ENNReal), 0 < γ → ∀ᶠ (ρ : ℝ) in nhdsWithin 0 (Set.Ioi 0), μ (Metric.closedBall a ρ \ B) ≤ γ * μ (Metric.closedBall a ρ)) (ν : MeasureTheory.Measure (EuclideanSpace ℝ (Fin n))) (htan : IsTangentMeasure μ ν a) :
        ∃ (c : ENNReal), 0 < c ∧ c ≠ ⊤ ∧ (∀ x ∈ ν.support, ∀ (ρ : ℝ), 0 < ρ → ENNReal.ofReal t * c * ENNReal.ofReal (ρ ^ s) ≤ ν (Metric.closedBall x ρ)) ∧ ∀ (x : EuclideanSpace ℝ (Fin n)) (ρ : ℝ), 0 < ρ → ν (Metric.closedBall x ρ) ≤ c * ENNReal.ofReal (ρ ^ s)

        Mattila, Lemma 14.7, reduction step for part (2). If, in addition to the hypotheses of the reduction step for part (1), the measures of all small balls meeting B are bounded by d ρ ^ s, then the upper bound for the tangent measure holds for balls with arbitrary centres, with the same constant c.