All proofs
Project-declaredLean 4.32.0 · mathlib@81a5d257c8e4

Dist χ le

TileStructure.Forest.dist_χ_le

Plain-language statement

For two distinct forest tops u1,u2u_1,u_2 with nested spatial cubes, and for a comparison cube JJ, the cutoff function χu1,u2,J\chi_{u_1,u_2,J} is Lipschitz on I(u1)\mathcal I(u_1) at the scale of JJ:

d(χ(x),χ(x))C(a)d(x,x)Ds(J).d\bigl(\chi(x),\chi(x')\bigr)\le C(a)\,\frac{d(x,x')}{D^{s(J)}}.

Exact Lean statement

lemma dist_χ_le (hu₁ : u₁ ∈ t) (hu₂ : u₂ ∈ t) (hu : u₁ ≠ u₂)
    (h2u : 𝓘 u₁ ≤ 𝓘 u₂) (hJ : J ∈ 𝓙₅ t u₁ u₂) (mx : x ∈ 𝓘 u₁) (mx' : x' ∈ 𝓘 u₁) :
    dist (χ t u₁ u₂ J x) (χ t u₁ u₂ J x') ≤ C7_5_2 a * dist x x' / D ^ s J

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma dist_χ_le (hu₁ : u₁  t) (hu₂ : u₂  t) (hu : u₁  u₂)    (h2u : 𝓘 u₁  𝓘 u₂) (hJ : J  𝓙₅ t u₁ u₂) (mx : x  𝓘 u₁) (mx' : x'  𝓘 u₁) :    dist (χ t u₁ u₂ J x) (χ t u₁ u₂ J x')  C7_5_2 a * dist x x' / D ^ s J := by  classical  by_cases hxx : x  ball (c J) (8 * D ^ s J)  x'  ball (c J) (8 * D ^ s J)  · have n₁ := χ_le_indicator hJ (x := x)    rw [indicator_of_notMem hxx.1, nonpos_iff_eq_zero] at n₁    have n₂ := χ_le_indicator hJ (x := x')    rw [indicator_of_notMem hxx.2, nonpos_iff_eq_zero] at n₂    rw [n₁, n₂, dist_self]; positivity  rw [not_and_or, not_notMem, not_notMem] at hxx  wlog hx : x  ball (c J) (8 * D ^ s J) generalizing x x'  · rw [or_comm] at hxx; specialize this mx' mx hxx (hxx.resolve_right hx)    rwa [dist_comm, dist_comm x' x] at this  clear hxx  let ctx := χtilde J u₁ x  let ctx' := χtilde J u₁ x'  let ax := ∑ J'  𝓙₅ t u₁ u₂, χtilde J' u₁ x  let ax' := ∑ J'  𝓙₅ t u₁ u₂, χtilde J' u₁ x'  have ax4 : 4  ax := (four_lt_sum_χtilde hu₁ hu₂ hu h2u mx).le  have ax'4 : 4  ax' := (four_lt_sum_χtilde hu₁ hu₂ hu h2u mx').le  have nax : (ax : )  0 := by exact_mod_cast (zero_lt_four.trans_le ax4).ne'  have nax' : (ax' : )  0 := by exact_mod_cast (zero_lt_four.trans_le ax'4).ne'  have part1 : dist (χ t u₁ u₂ J x) (χ t u₁ u₂ J x')       (dist x x' / D ^ s J + ctx' * dist ax ax') / 4 := by    calc      _ = ‖(ctx - ctx' : ) / ax - ctx' * (ax - ax') / (ax * ax')‖ := by        rw [mul_sub, sub_div, sub_div, mul_div_mul_right _ _ nax', mul_comm (ax : ) ax',          mul_div_mul_right _ _ nax,  sub_add, sub_right_comm, sub_add_cancel]; rfl      _  dist ctx ctx' / ax + ctx' * dist ax ax' / (ax * ax') := by        change _  ‖(ctx - ctx' : )‖ / ax + ctx' * ‖(ax - ax' : )‖ / (ax * ax')        conv_rhs => enter [1]; rw [ NNReal.norm_eq ax]        conv_rhs =>          enter [2]; rw [ NNReal.norm_eq ctx']          enter [2]; rw [ NNReal.norm_eq ax,  NNReal.norm_eq ax']        rw [ norm_mul,  norm_mul,  norm_div,  norm_div]        exact nnnorm_sub_le ..      _  dist ctx ctx' / 4 + ctx' * dist ax ax' / (1 * 4) := by        gcongr <;> norm_cast; exact le_trans (by norm_num) ax4      _  _ := by        rw [one_mul,  add_div]; gcongr; exact dist_χtilde_le mx mx'  apply part1.trans  by_cases hx' : x'  ball (c J) (8 * D ^ s J)  · have : ctx' = 0 := by      simp_rw [ctx',  not_ne_iff,  zero_lt_iff, χtilde_pos_iff]; tauto    rw [this, NNReal.coe_zero, zero_mul, add_zero, div_eq_inv_mul _ 4, mul_div_assoc]; gcongr    rw [show 4⁻¹ = (2 : ) ^ (-2 : ) by norm_num, C7_5_2, NNReal.coe_pow, NNReal.coe_ofNat,       Real.rpow_natCast, Real.rpow_le_rpow_left_iff one_lt_two]    apply le_trans ?_ (by positivity)    linarith  rw [not_notMem] at hx'  calc    _  (dist x x' / D ^ s J +        8 * ∑ J'  𝓙₅ t u₁ u₂, dist (χtilde J' u₁ x) (χtilde J' u₁ x')) / 4 := by      gcongr      · exact χtilde_le_eight      · have := dist_sum_sum_le (𝓙₅ t u₁ u₂).toFinset          (fun J'  (χtilde J' u₁ x : )) (fun J'  χtilde J' u₁ x')        exact_mod_cast this    _ = (dist x x' / D ^ s J +        8 * ∑ J'  𝓙₅ t u₁ u₂ with          ¬Disjoint (ball (c J) (8 * D ^ s J)) (ball (c J') (8 * D ^ s J')),            dist (χtilde J' u₁ x) (χtilde J' u₁ x')) / 4 := by      congr 3; refine (Finset.sum_filter_of_ne fun J' mJ' hd  ?_).symm; contrapose! hd      have h₁ : χtilde J' u₁ x = 0 := by        have := disjoint_left.mp hd hx        rw [ not_ne_iff,  zero_lt_iff, χtilde_pos_iff]; tauto      have h₂ : χtilde J' u₁ x' = 0 := by        have := disjoint_left.mp hd hx'        rw [ not_ne_iff,  zero_lt_iff, χtilde_pos_iff]; tauto      rw [h₁, h₂, dist_self]    _  (dist x x' / D ^ s J +        8 * ∑ J'  𝓙₅ t u₁ u₂ with          ¬Disjoint (ball (c J) (8 * D ^ s J)) (ball (c J') (8 * D ^ s J')),            dist x x' * D ^ (1 - s J)) / 4 := by      gcongr with J' mJ'; trans dist x x' / D ^ (s J')      · exact dist_χtilde_le mx mx'      · rw [div_eq_mul_inv,  zpow_neg]; gcongr        · exact one_le_realD a        · rw [Finset.mem_filter, mem_toFinset] at mJ'          rw [neg_le, neg_sub]; exact moderate_scale_change hJ mJ'.1 mJ'.2    _ = dist x x' / (D : ) ^ s J *        (1 / 4 + 2 * D * {J'  (𝓙₅ t u₁ u₂).toFinset |          ¬Disjoint (ball (c J) (8 * D ^ s J)) (ball (c J') (8 * D ^ s J'))}.card) := by      rw [Finset.sum_const, nsmul_eq_mul, zpow_sub₀ (by simp), zpow_one,        show 8 * (_ * (dist x x' * (D / D ^ s J))) = dist x x' / D ^ s J * (2 * D * _) * 4 by ring,        add_div, mul_div_cancel_right₀ _ four_ne_zero, div_eq_mul_one_div,  mul_add]    _  _ := by rw [mul_comm, mul_div_assoc]; gcongr; exact quarter_add_two_mul_D_mul_card_le hJ
Project
Carleson formalization
License
Apache-2.0
Commit
74ef907d6bdb
Source
Carleson/ForestOperator/LargeSeparation.lean:384-471

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.32.0

Ae tendsto zero of distribution le

ae_tendsto_zero_of_distribution_le

Plain-language statement

Suppose that, for every error threshold δ>0\delta>0 and every measure tolerance ε>0\varepsilon>0, one can choose N0N_0 so that the set where supN>N0f(x)FN(x)\sup_{N>N_0}\lVert f(x)-F_N(x)\rVert exceeds δ\delta has measure at most ε\varepsilon. Then FN(x)F_N(x) converges to f(x)f(x) for almost every xx.

harmonic analysisFourier analysismeasure theory

Source project: Carleson formalization

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Antichain operator

antichain_operator

Plain-language statement

For an antichain A\mathfrak{A} of pairwise incomparable tiles, and measurable functions ff and gg bounded by the indicators of FF and GG, the pairing of gg with the Carleson sum over A\mathfrak{A} is controlled by the L2L^2 norms of ff and gg and by positive powers of the two tile-density parameters. Concretely, the bound is

C(a,q)dens1(A)(q1)/(8a4)dens2(A)1/q1/2f2g2.C(a,q)\,\mathrm{dens}_1(\mathfrak{A})^{(q-1)/(8a^4)}\,\mathrm{dens}_2(\mathfrak{A})^{1/q-1/2}\,\lVert f\rVert_2\lVert g\rVert_2.

harmonic analysisFourier analysismeasure theory

Source project: Carleson formalization

Person-level attribution pending.

View proof record