Position bookkeeping for the fixed-class inner estimate #
This file isolates the part of paper (5.87) which depends on the position of the distinguished (minimal parent-scale) leaf in the permutation.
There are two independent issues.
- Cutting the chain at the distinguished position produces a left run and a
right run. Pairing consecutive positions in either parity leaves at most
two singletons on each run, hence at most four altogether. Choosing at
most three rough pair blocks then creates at most
2 * 4 + 4 * 3 = 20scalar losses. - A rough block is not literally the common target in (5.87). The exact
comparison loses
sqrt Yand, for a skipped incoming edge,Xi⁻¹. Both atoms are bounded by the total multiplicity. The resulting polynomialm^20is bounded here by the explicit exponential(2^20)^m.
The last section records the orientation issue on the left of the cut. Its
gain is the forward gain of the reversed class pair, and the concrete
retained-edge interface preserves that orientation. The exact reindexing
to the bidirectional sequence product is proved in SingleScaleAnchorGlue;
no pointwise forward/reverse comparison is assumed here.
The two scalar losses in a rough local target #
The inverse of the paper factor Xi. We keep it as a separate atom so
that the 20-loss ledger counts sqrt Y and Xi⁻¹ separately.
Equations
- Anderson4D.XYCluster.paperDyadicXiInv Nm mu a skipped = if skipped = true then √(↑a.2 * Anderson4D.XYCluster.paperDyadicY Nm mu a) else 1
Instances For
The explicit (N/R)² supplied by a rough estimate when the incoming
edge is skipped.
Equations
Instances For
On an active class, Xi * Xi⁻¹ = 1.
Exact comparison of a one-variable rough target with the common local
factor of (5.87). No Y or Xi loss is hidden in a constant.
Exact rough-pair conversion. It exposes four possible scalar loss atoms
(sqrt Y and Xi⁻¹ for each endpoint) and the two scale gains.
Every scalar loss is at most the total multiplicity #
The explicit m^20 <= C^m absorption #
The concrete universal base used to absorb the twenty polynomial losses.
Equations
Instances For
A product of at most twenty nonnegative atoms, each at most m, is
absorbed by the same universal exponential.
Pairing the two runs cut at the distinguished position #
A purely positional single or consecutive-pair block.
- single {α : Type u_1} (x : α) : PositionBlock α
- pair {α : Type u_1} (x y : α) : PositionBlock α
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.instDecidableEqPositionBlock.decEq (Anderson4D.XYCluster.PositionBlock.single x_2) (Anderson4D.XYCluster.PositionBlock.pair x_3 y) = isFalse ⋯
- Anderson4D.XYCluster.instDecidableEqPositionBlock.decEq (Anderson4D.XYCluster.PositionBlock.pair x_2 y) (Anderson4D.XYCluster.PositionBlock.single x_3) = isFalse ⋯
Instances For
Pair consecutive entries of a run. In the shifted phase the first entry is left single before ordinary pairing starts.
Equations
- Anderson4D.XYCluster.pairPositionRun false [] = []
- Anderson4D.XYCluster.pairPositionRun false [x_2] = [Anderson4D.XYCluster.PositionBlock.single x_2]
- Anderson4D.XYCluster.pairPositionRun false (x_2 :: y :: xs) = Anderson4D.XYCluster.PositionBlock.pair x_2 y :: Anderson4D.XYCluster.pairPositionRun false xs
- Anderson4D.XYCluster.pairPositionRun true [] = []
- Anderson4D.XYCluster.pairPositionRun true (x_2 :: xs) = Anderson4D.XYCluster.PositionBlock.single x_2 :: Anderson4D.XYCluster.pairPositionRun false xs
Instances For
Positions contained in a block, in traversal order.
Equations
Instances For
Equations
Instances For
Both endpoints of a pair block really occur in the run it was built from. This small interface avoids reopening the recursive pairing definition in later geometric arguments.
Number of one-variable estimates in a schedule.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pair both sides of a cut. The lists are ordered away from the anchor; the left list is therefore the mirrored traversal.
Equations
- Anderson4D.XYCluster.anchorPositionSchedule phase left right = Anderson4D.XYCluster.pairPositionRun phase left ++ Anderson4D.XYCluster.pairPositionRun phase right
Instances For
Independent phases are required after reversing the left run.
Equations
- Anderson4D.XYCluster.anchorPositionScheduleWithPhases leftPhase rightPhase left right = Anderson4D.XYCluster.pairPositionRun leftPhase left ++ Anderson4D.XYCluster.pairPositionRun rightPhase right
Instances For
The promised at-most-four one-variable blocks.
A schedule whose blocks remember the active (N,X) class at every
position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Number of one-variable blocks after classes have been attached.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Number of pair blocks deliberately assigned the rough estimate (5.90).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether a refined pair touches a skipped edge and is therefore eligible for one of the paper's at-most-three rough estimates.
Equations
Instances For
Mark the first fuel eligible refined pairs as rough. This is the
literal "choose three (or all if fewer)" operation following (5.92).
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.markFirstSkippedPairsRough x✝ [] = []
- Anderson4D.XYCluster.markFirstSkippedPairsRough 0 x✝ = x✝
Instances For
Rough marking creates at most fuel new rough pairs.
The scalar-loss ledger has two atoms for each single block and four for each rough pair.
Equations
- Anderson4D.XYCluster.positionLossAtomBudget singleBlocks roughPairs = 2 * singleBlocks + 4 * roughPairs
Instances For
Positions strictly to the left of the anchor, ordered away from the anchor. Thus this list is decreasing in the original word order.
Equations
- Anderson4D.XYCluster.leftAnchorPositions anchor = List.map (fun (i : Fin ↑anchor) => ⟨↑i, ⋯⟩) (List.finRange ↑anchor).reverse
Instances For
Positions strictly to the right of the anchor, ordered away from the anchor (increasing in the original word order).
Equations
Instances For
The two concrete runs contain every position except the anchor, exactly as a set.
The concrete schedule obtained by cutting Fin m at anchor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Concrete anchor schedule with the independently selectable phases used on the reversed left and forward right runs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Counting entries after the cut gives exactly m-1; the anchor is the
single omitted position.
Direction of traversal away from the anchor.
- forward : PositionDirection
- reverse : PositionDirection
Instances For
Incoming adjacency when traversing the word from right to left.
Instances For
Whether the edge entering a position in the chosen traversal direction
belongs to the skipped set O.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Position-preserving exceptional-gain ledger #
The original chain edges incident to a position. These are the only ratio gains whose local argument can use that position.
Equations
Instances For
The original ratio-gain edges touched by a one- or two-variable local operation. This definition is geometric: an edge is recorded only when one of its endpoints is actually eliminated by the block.
Equations
Instances For
The genuine even/odd carrier in original edge coordinates #
Distance of an original adjacency edge from the anchor, measured outward on its own side. Both boundary edges adjacent to the anchor have distance zero.
Equations
Instances For
The phase selected on the side containing an original adjacency edge.
Equations
Instances For
The original edges matched by one parity schedule. Shifted phase true
selects even outward distances (including the anchor boundary), while
ordinary phase false selects odd outward distances.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flipping both independently chosen side phases gives the complementary carrier of original edges.
Every edge selected by a phase schedule is accounted for by a concrete block: either it is incident to a singleton, or it is the internal edge of a pair. This is the converse coverage statement missing from the earlier pair-to-carrier interface.
Every concrete pair block contributes its internal original-word edge to
the phase carrier selected for that side of the anchor. The disjunction
records the reversal of the left run: right-run pairs are (i,i+1), while
left-run pairs are (i,i-1) in traversal order.
An analytic parity block together with the exact original positions it
eliminates. Unlike NXParityBlock, this type retains enough information to
state which gain indices are discarded. The constructors enforce matching
one- and two-variable arity.
- single {t : PlaneTree} {m : ℕ} {Nm : t.HeppMarking} {mu : t.Multiplicities} (position : Fin m) (a : ActiveNXClass Nm mu) (skipped : Bool) : LocatedNXParityBlock Nm mu
- pair {t : PlaneTree} {m : ℕ} {Nm : t.HeppMarking} {mu : t.Multiplicities} (leftPosition rightPosition : Fin m) (p : NXPairBlock Nm mu) : LocatedNXParityBlock Nm mu
- roughPair {t : PlaneTree} {m : ℕ} {Nm : t.HeppMarking} {mu : t.Multiplicities} (leftPosition rightPosition : Fin m) (p : NXPairBlock Nm mu) : LocatedNXParityBlock Nm mu
Instances For
Equations
- (Anderson4D.XYCluster.LocatedNXParityBlock.single i a skipped).positionBlock = Anderson4D.XYCluster.PositionBlock.single i
- (Anderson4D.XYCluster.LocatedNXParityBlock.pair i j p).positionBlock = Anderson4D.XYCluster.PositionBlock.pair i j
- (Anderson4D.XYCluster.LocatedNXParityBlock.roughPair i j p).positionBlock = Anderson4D.XYCluster.PositionBlock.pair i j
Instances For
Equations
- (Anderson4D.XYCluster.LocatedNXParityBlock.single i a skipped).analyticBlock = Anderson4D.XYCluster.NXParityBlock.single a skipped
- (Anderson4D.XYCluster.LocatedNXParityBlock.pair i j p).analyticBlock = Anderson4D.XYCluster.NXParityBlock.pair p
- (Anderson4D.XYCluster.LocatedNXParityBlock.roughPair i j p).analyticBlock = Anderson4D.XYCluster.NXParityBlock.roughPair p
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.locatePositionBlock Nm mu cls incomingSkipped (Anderson4D.XYCluster.PositionBlock.single i) = Anderson4D.XYCluster.LocatedNXParityBlock.single i (cls i) (incomingSkipped i)
Instances For
Position-preserving version of markFirstSkippedPairsRough.
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.markFirstSkippedLocatedPairsRough x✝ [] = []
- Anderson4D.XYCluster.markFirstSkippedLocatedPairsRough 0 x✝ = x✝
Instances For
Union of the actual original chain edges affected by single and rough blocks. Precise pair blocks do not discard any gain.
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.locatedExceptionalEdges [] = ∅
- Anderson4D.XYCluster.locatedExceptionalEdges (Anderson4D.XYCluster.LocatedNXParityBlock.pair leftPosition rightPosition p :: bs) = Anderson4D.XYCluster.locatedExceptionalEdges bs
Instances For
The explicit edge union is bounded by exactly the same 2·single + 4·rough budget used for the scalar losses. The proof does not infer an
exception count from prose: every recorded edge is incident to a concrete
position in an exceptional block.
Erasing the analytic class payload from the exception ledger #
The positional and skipped-edge data which alone controls rough marking.
- single {m : ℕ} (position : Fin m) (skipped : Bool) : PositionExceptionControlBlock m
- pair {m : ℕ} (leftPosition rightPosition : Fin m) (skipLeft skipRight : Bool) : PositionExceptionControlBlock m
- roughPair {m : ℕ} (leftPosition rightPosition : Fin m) (skipLeft skipRight : Bool) : PositionExceptionControlBlock m
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.positionBlockToExceptionControl incomingSkipped (Anderson4D.XYCluster.PositionBlock.single i) = Anderson4D.XYCluster.PositionExceptionControlBlock.single i (incomingSkipped i)
Instances For
Equations
- (Anderson4D.XYCluster.LocatedNXParityBlock.single i a skipped).exceptionControl = Anderson4D.XYCluster.PositionExceptionControlBlock.single i skipped
- (Anderson4D.XYCluster.LocatedNXParityBlock.pair i j p).exceptionControl = Anderson4D.XYCluster.PositionExceptionControlBlock.pair i j p.skipLeft p.skipRight
- (Anderson4D.XYCluster.LocatedNXParityBlock.roughPair i j p).exceptionControl = Anderson4D.XYCluster.PositionExceptionControlBlock.roughPair i j p.skipLeft p.skipRight
Instances For
Pure positional copy of “mark the first three eligible pairs rough”.
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.markFirstSkippedPositionExceptionRough x✝ [] = []
- Anderson4D.XYCluster.markFirstSkippedPositionExceptionRough 0 x✝ = x✝
Instances For
Exceptional original edges computed with no analytic class payload.
Equations
- One or more equations did not get rendered due to their size.
- Anderson4D.XYCluster.positionExceptionControlEdges [] = ∅
Instances For
The two analytic runs must remain separate: concatenating them and
feeding the result to conditionedNXParityChainSum would invent an edge
between the two outer endpoints.
- left : List (NXParityBlock Nm mu)
- right : List (NXParityBlock Nm mu)
Instances For
Flatten the two runs only for block counting. This list is a ledger, not an analytic chain.
Instances For
The paper class runs on the two sides of an anchored word. The left run uses the reverse incoming edge; the right run uses the ordinary incoming edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equal-phase convenience wrapper. The paper-facing parity constructor
below may instead use finAnchorNXParityRunsWithPhases, since reversal can
change the phase on the left run.
Equations
- Anderson4D.XYCluster.finAnchorNXParityRuns Nm mu phase anchor cls O = Anderson4D.XYCluster.finAnchorNXParityRunsWithPhases Nm mu phase phase anchor cls O
Instances For
Flattened raw-run ledger, used only for the finite block counts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Anderson4D.XYCluster.finAnchorNXParityLedger Nm mu phase anchor cls O = (Anderson4D.XYCluster.finAnchorNXParityRuns Nm mu phase anchor cls O).ledger
Instances For
Raw parity ledger which retains the concrete original positions. The two directions use their respective incoming edges before the lists are flattened for counting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The raw anchor ledger after erasing every analytic (N,X) class.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pure positional coarse ledger, including the global first-three rule.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Raw exceptional edges before restricting them to the selected phase.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flattened coarse ledger: select the first three eligible pair blocks (or all of them if fewer). As above, this is not itself an analytic chain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Anderson4D.XYCluster.finAnchorNXCoarseLedger Nm mu phase anchor cls O = Anderson4D.XYCluster.finAnchorNXCoarseLedgerWithPhases Nm mu phase phase anchor cls O
Instances For
Mark the first three eligible concrete pair blocks while retaining their positions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rough marking changes estimates but neither loses nor duplicates a position: the concrete coarse ledger contains exactly all non-anchor positions.
Split the marked ledger back into two analytic runs at the original left
run length. length_markFirstSkippedPairsRough guarantees that no block is
lost; in particular the two runs are never concatenated analytically.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Anderson4D.XYCluster.finAnchorNXCoarseRuns Nm mu phase anchor cls O = Anderson4D.XYCluster.finAnchorNXCoarseRunsWithPhases Nm mu phase phase anchor cls O
Instances For
The phase-matched exceptional set, defined solely from positions, phases,
and O. Intersecting with the genuine carrier is essential: a local block
may be incident to an edge belonging to the opposite parity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compatibility wrapper for analytic schedules. The class word is deliberately ignored, so the exception set can be moved outside its sum.
Equations
- Anderson4D.XYCluster.finAnchorNXExceptionalEdgesWithPhases _Nm _mu leftPhase rightPhase anchor _cls O = Anderson4D.XYCluster.finAnchorPureExceptionalEdgesWithPhases leftPhase rightPhase anchor O
Instances For
Hard retained-edge interface for the position layer. Every carrier edge which is not charged to the explicit exceptional set is the internal edge of a concrete precise coarse-ledger pair. The conclusion also restores the exact endpoint classes, the outward side and orientation, and the incoming skip bit used by the local pair estimate.
Existence with full metadata is the interface needed by the analytic glue. Uniqueness is deliberately not asserted here; it can be derived separately from the no-duplication schedule invariant if a later consumer needs it.
Fully concrete version of the paper's “at most 20 skipped gains” audit.
Each member of the finset is an original adjacency incident to a single or
rough pair block; the cardinality bound follows from 4 single blocks and
3 rough pair blocks, with costs 2 and 4 respectively.
Reindexing the concrete exceptions into the anchored sequence bound #
The zero-based paper adjacency indices of a word of length n+1 are
canonically Fin n.
Equations
Instances For
Reindex an original adjacency exception set for the sequence lemmas.
Equations
Instances For
The anchored sequence estimate remains uniform when the exceptional set depends on the anchor position. This is the form required here because the one-variable boundary blocks move with the minimal-scale position.
Pure positional exception set in the sequence theorem's coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compatibility wrapper for the analytic class schedule.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Union of a phase's exceptions with those of its genuine flipped phase.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact interpolation of the two complementary phase carriers. This is the
concrete instantiation of sqrt_even_mul_odd_gain_eq_sixteenth; neither the
partition nor exception containment is left as an assumption.
Concrete geometric-mean bridge for the two complementary local estimates.
Once the same nonnegative quantity is bounded by each retained 1/8
phase product, it is bounded by the common 1/16 target with the union of
their positional exceptions.
Paper-facing 1/16 gain bound after even/odd interpolation. The
exception set is the union of the two concrete one-parity sets and therefore
has budget 40. This exponent is unrelated to the Step-3 outer exponent
1/20.
Shared anchor and used-copy state #
The used set at the moment the two sides start: it contains the single distinguished labeled copy. Both side eliminations must extend this same set, rather than using two independent copies of the anchor.
Equations
Instances For
Every non-anchor position is an honest conditioned choice when the shared used set initially contains the anchor.
Choices on opposite sides of the cut remain distinct after the first one is inserted into the common used set. This is the anchor/cross-side bookkeeping required by the global finite-Fubini step.
Bidirectional gain interface #
Gain product on one side, with the side word ordered away from the anchor. For the left side this is the reverse of original word order; for the right side it is the original order.
Equations
- Anderson4D.XYCluster.anchoredSideCodeWord anchor x = Fin.cons anchor x
Instances For
Sum over all class words on one side of a fixed anchor class.
Equations
- Anderson4D.XYCluster.anchoredSideCodeSum e k anchor = ∑ x : Fin k → Fin ν, Anderson4D.XYCluster.anchoredSideCodeGain e anchor x
Instances For
The gain sum prescribed by the paper's "going left and right separately": both words are ordered away from the common anchor. Thus the left product uses original-order reverse gains and the right product uses original-order forward gains.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Once the two padded one-sided applications of Lemma 5.13 are available,
the sum over the at-most-M anchor classes costs only another 2^M.
This is the global replacement for the invalid pointwise comparison between
forward and reverse gains.
Exact cross-module boundary #
This file now closes the position layer itself:
- independent left/right phases, the concrete cut at every anchor, and exact coverage of all non-anchor positions;
- position-preserving rough marking, at most four single blocks and three rough pairs, and the exact original adjacency edges affected by them;
- at most
20exceptional gains per parity and at most40after even/odd interpolation; - exact conversion of heterogeneous rough targets to the common (5.87)
baseline, with all
sqrt YandXi⁻¹atoms exposed and the resulting polynomial loss absorbed exponentially; - the shared anchored used-copy state and separate local target-product bounds for the two outward analytic runs;
- the padded bidirectional sequence estimate, specialized to the concrete
anchor-dependent exception sets at exponent
1/8, and to their even/odd union at exponent1/16.
SingleScaleAnchorGlue and the final P-5.10 assembly use these positional
facts to:
- identify (or nonnegatively dominate) the fixed-anchor arrangement fiber by
the two outward conditioned eliminations while threading one genuinely
shared
usedset through both sides; - reindex the products of
nxParityBlockTargetinto the final common (5.87) product, combine the even/odd estimates by geometric mean, and connect the activePword to the code-word sequence sum; - combine the explicit rough scale gains with
R^(2s)and(N_root/R)^(min(2s,3)), then reinsert the finite-Fubini and factorial ledgers at the frozen proposition boundary.
The statement-weight-to-local-kernel inequalities in the first item
live in SingleScaleWeightBridge. No pointwise comparison between original
forward and traversal-forward gains is valid or assumed; the left run is
handled globally by reversal, as in SingleScaleAnchoredSequence.