CompetitorVertexData #
Ported from scottnarmstrong/Superdiffusion at 7f20476385d4af418f110303085ad0740c9eba46. Module imports, support namespace and local option directives adapted for Lean Pool.
The global vertex datum of l.piecewise.affine.approx #
This module provides a local vertex-data implementation of Step 1 associated
with ABK26's l.piecewise.affine.approx at the level the corrected reading
demands: the global assignment of a value to every point of โ^d, from
which each cell of SW(โก_m) reads off its own vertex data, and the two
structural clauses of e.hat.linear.properties that assignment satisfies.
The printed construction and the correction it needs #
The manuscript fixes a 2-connected component ๐_j of the bad family โ and
sets, at the vertices V_j of the common coarse mesh of ๐ฉ(๐_j),
โฬ_e(v) := โ_e(v) if v โ V(๐_j) ,
โฬ_e(v) := โจ_{๐_j} โ_e(x) dx if v โ V(๐_j) ,
and does this "one 2-connected component at a time", justified by the assertion that the neighborhoods of distinct components are disjoint. That assertion is false, and there are two admissible constructions: assign the vertex data once on the full simplex complex, or superpose the component corrections while allowing overlap on good cubes.
Throughout, "connected component" is read at the touching relation:
badComponent, whose chains join cubes at dist(โก,โก') = 0 โ a strictly finer
partition than the one generated by dist โค 1 โ and the component average is
taken over the touching component. That relation is hard-wired (badComponent
โ BadChain โ CubeTouch), so reading the component instead at the
scale-covariant relation dist โค 3^j would change the datum and require a
revisit of this file; the abstract index type I does not insulate against it.
competitorVertexData below is the first construction, implemented at the
touching reading above (the datum-level case split is the manuscript's own):
ฤ_p(v) = โจ_{๐(v)} โ_p if v lies in some closed bad cube, ๐(v) its component,
ฤ_p(v) = โ_p(v) otherwise.
The two constructions are the same function at the vertex-datum level, and
this file proves that rather than assuming it.
badComponent_eq_of_mem_closedBall says that if one point
lies in two closed bad cubes then those cubes lie in the same component
(they touch, so one chain step joins them). Hence at most one component ever
claims a vertex, the superposition โ_p + ฮฃ_๐ (โจ_๐ โ_p โ โ_p)ยท1_{V(๐)} has at
most one nonzero summand at each point, and no summation, no choice of witness
and no disjointness hypothesis is needed. claimedBadComponent is that
component, defined without Classical.choose: it collects every bad cube
chain-joined to some bad cube whose closed cube contains v.
The active-component reading #
The printed component-local gradient ratio is false under the required
overlap-safe construction. The correct form is the sum over the active
components ๐_R = {๐ : R โ ๐ฉ(๐)} of diam(๐)/ฯ_๐, optionally followed by a
dimension-only overlap count |๐_R| โค M(d).
Under the single-assignment reading implemented here the deviation at one
vertex is governed by the one component that claims it, so what the per-cell
estimate needs is a bound valid for every active component -- the hact
binder of abs_competitorVertexData_sub_linearFn_le_of_forall_touching, which
quantifies over exactly the bad cubes touching the cell's Whitney cube, i.e.
over exactly ๐_R. Consequently no overlap count is consumed here:
card_le_eleven_pow_of_forall_cubeTouch is not used and is not needed for this
estimate. It remains the instrument for the superposition presentation, where
the corrections genuinely add.
Scope: what this file does NOT do #
- It does not build the global piecewise-affine function
โฬ_pand asserts no continuity,Hยนmembership or subordination. Every statement is per-cell: a cell interpolates the global datum at its own vertices (kuhnInterp/kuhnSlopeofKuhnInterpolation). Continuity across hanging vertices is the common-coarse-mesh obligation, ande.hat.linear.1is untouched; both remain open. Insum_of_a_decompthose are carried by the separate bindershF/hG, whilehbadF/hoffFare exactly the two clauses proved here. - It asserts no face-to-face property of
SW(โก_m)and no layer window: no layer, non_j, no three-layer statement occurs. Nothing here assumes that the neighborhoods of distinct components are disjoint โ the point of the construction is that it does not need to. - No slope-square and no collar constant enters.
References #
- ABK26:
l.piecewise.affine.approxande.hat.linear.properties(the Step-1 construction and the two structural clauses it must satisfy); the disjointness claim for the neighborhoods of distinct components; the Step-2 vertex bound; and the definitions ofโ,๐ฉ(๐ฅ), the components, andโ_e(x) = eยทx.
The โยน size of a slope #
|p|_{โยน} = โ_i |p_i|, the constant in the elementary bound
|โ_p(x) โ โ_p(y)| โค |p|_{โยน} ยท โx โ yโ_โ used for the Step-2 vertex
estimate. The ambient metric on Vec d is the sup metric, so this โ not the
Euclidean norm โ is the constant the diameter pairs with;
sq_vecNormOne_le converts it to the Euclidean norm at the cost of โd.
Equations
- Algsuperdiff.Section3.Provider.Affine.vecNormOne p = โ i : Fin d, |p i|
Instances For
Cauchy--Schwarz: (โ_i |p_i|)ยฒ โค d ยท |p|ยฒ.
|โ_p(x) โ โ_p(y)| โค |p|_{โยน} ยท dist(x, y) on Vec d, whose metric is the
sup metric.
The component that claims a point #
The bad component claiming the point v. A vertex of the mesh is "in
V(๐_j)" exactly when it lies in one of the closed cubes of the component ---
NOTE: the manuscript defines V(ยท) only for simplices; V(๐_j) for a cube
collection is this file's closed reading, forced by clause 1 (the zero-slope
conclusion on every bad cube needs all its vertices, boundary included) --- of
the component ๐_j; this is the family of all bad cubes chain-joined to some
bad cube whose closed cube contains v.
Two closed bad cubes containing a common point touch, hence lie in one
component (badComponent_eq_of_mem_closedBall), so this set is the component
claiming v whenever there is one, and is empty otherwise. No witness is
chosen: the definition quantifies existentially inside the set-builder.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The claimed component is the component of any witnessing cube.
The component average โจ_{๐} โ_p #
ABK26's โจ_{๐_j} โ_e(x) dx: the mean of the linear function โ_p over the
region occupied by the component ๐, at this repository's volumeAverage
carrier and over the closed carrier of the family (see the module docstring).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The global vertex datum #
The vertex datum of l.piecewise.affine.approx, in the global
single-assignment form prescribed: a point lying in a closed bad cube receives
the average of โ_p over the component claiming it, every other point keeps
โ_p.
The if is the manuscript's own case split v โ V(๐_j) versus v โ V(๐_j);
neither branch is a fallback and neither uses a chosen witness. The two
defining equations are competitorVertexData_of_mem_closedBall and
competitorVertexData_of_notMem_closedCubeCarrier.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bad branch: at a point of a closed bad cube the datum is the component
average โจ_{๐} โ_p.
The good branch: away from the closed bad cubes the datum is โ_p itself.
Vertices of a cell of a Whitney cube #
Every vertex of a cell of โก lies in the closed cube โก. This is the
containment through which the two clauses of e.hat.linear.properties see the
cell: subordination to e.SW.def says the cell's support cube is a triadic
subcube of the Whitney cube.
Clause 1 of e.hat.linear.properties #
Clause 1, the vertex form: on a cell of a bad Whitney cube every vertex
lies in that cube, hence is claimed by the cube's own component, hence receives
the one value โจ_{๐} โ_p.
Clause 1 of e.hat.linear.properties: โโฬ_p = 0 on every cell of every
bad cube. This is the hbadF/hbadG shape of Multiscale.sum_of_a_decomp
(SubadditiveDecomposition.lean).
The Step-2 vertex bound #
The component average deviates from โ_p by at most |p|_{โยน} diam(๐) at
any point of the component's closed carrier. This is the manuscript's
|โฬ_e(v) โ โ_e(v)| โค |e| diam(๐_j) for v โ V(๐_j), with the sup-metric
diameter that the proved cluster geometry bounds.
The Step-2 vertex bound, pointwise: the deviation of the global datum from
โ_p is 0 off the closed bad cubes and at most |p|_{โยน} diam(๐) at a point
claimed by the component ๐.
The Step-2 vertex bound over the active components (with).
The per-cell gradient consequence of Step 2: with the active-component
diameter bound D at the Whitney cube โก, every cell of โก has interpolant
gradient within 2 |p|_{โยน} D / (cell side) of p in each coordinate, hence
|โโฬ_p โ p|ยฒ โค d ยท (2 |p|_{โยน} D / 3^{scale})ยฒ .
Nothing here is component-local: the estimate is uniform over the active
components at โก, which is what requires.