The four children of s, one bit finer, in a fixed order
(SW, SE, NW, NE). They partition s: each child has half-width
2^{−(prec+1)} and centre offset by that half-width from s's
centre along each axis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Edge-or-corner adjacency of two same-prec grid squares, by exact
dyadic centre differences. Centres must be less than four half-widths apart
on both axes. On a common subdivision grid the centre
spacing is two half-widths, so this is exactly one king move; the geometric
form also handles translated grids without a lattice-origin side condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether a square touches some member of a partial glued component.
Equations
Instances For
Insert one square into a component partition. Every component touched by the new square is merged with it; untouched components retain their order.
Equations
- Hex.glueInsert s components = match List.partition s.touches components with | (touching, separate) => (s :: touching.flatten) :: separate
Instances For
Edge-or-corner-connected components of a list of squares. This union-by-insertion
form makes coverage, connectedness, and maximality structural induction
invariants while retaining the O(m²) adjacency complexity.
Equations
- Hex.glueList [] = []
- Hex.glueList (s :: sqs) = Hex.glueInsert s (Hex.glueList sqs)
Instances For
Edge-or-corner-connected components of an array of squares.
Equations
- Hex.glue sqs = (List.map List.toArray (Hex.glueList sqs.toList)).toArray
Instances For
Connected-component gluing with an executable coverage guard. The normal
glue result is used when every input square occurs in an output component;
the defensive fallback returns singleton components. The Mathlib companion
proves the structural glueList implementation always passes this guard, so
the fallback is unreachable in the current implementation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One subdivision round: split every square into four children one bit
finer, discard children whose disc certifiably contains no root (the
T₀ test; a child whose T₀ test fails to certify is kept, which is
always sound), and glue the survivors into edge-or-corner-connected
components.
Total: no certification is required during refinement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One globally normalized subdivision round. All component squares are subdivided, filtered, and glued together. The root-count hint is reset to one; it affects attempt order only, and every candidate is rechecked.
The isolation driver uses this operation until its completeness depth. Thus all Cauchy-started survivors remain on one common grid, and components that approach the same root can rejoin even if an earlier round separated their lineages.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Attempt Pellet certification for one positive candidate count from the cached Taylor shift at the component's enclosing-square centre. The proof argument ties the cache to that centre; it is erased from compiled code.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a certificate directly from the first all-count soft Graeffe candidate. The threshold keeps bounded-precision setup off the small-degree path where the exact dyadic kernel is already cheaper.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact cached-Taylor certification for one count, used after the all-count soft search has failed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Public one-count Pellet attempt. It computes the enclosing-centre Taylor shift once and passes it to the cached implementation.
Equations
Instances For
First exact Pellet certificate in a candidate-count list, reusing one enclosing-centre Taylor shift for every failed count.
Equations
- Hex.Component.certifyPelletExactList? p c shift [] = none
- Hex.Component.certifyPelletExactList? p c shift (k :: ks) = (Hex.Component.certifyPelletExactAt? p c shift k).orElse fun (x : Unit) => Hex.Component.certifyPelletExactList? p c shift ks
Instances For
First soft all-count certificate. On success, rerun its single selected count through the cached-shift certifier so the guarded Newton candidate is reused instead of returning the coarse soft base square. Failure falls back to the exact cached list.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Public candidate-count search. The exact Taylor shift is shared by every attempt; only a successful count's speculative candidate needs a new shift for its witness recheck.
Equations
Instances For
The Pellet half of component certification using a supplied shift.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The public Pellet half of component certification. This proof-facing
compatibility surface computes its own shift; certify? supplies the
already-cached shift to certifyPelletShift?.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to certify the component. For Pellet-enabled strategies, run the
all-count bounded-precision Graeffe filter before the exact candidate
fallback. Share one exact shift between the
Newton-Kantorovich atom witness and the exact Pellet fallback. Pellet uses
a quadrupled enclosing square with k = candidateK first and then the
remaining k ≤ deg p; a k = 1 Pellet success is returned as an atom
via atomize. Speculative Newton results are accepted only under the
coverage guard: the base region must certify the same count in the same
certificate form, and the recentred certified region must be contained
in the base one.
Equations
- One or more equations did not get rendered due to their size.