A sound checker for the second-stage Parts gadget #
The finite constraint system has unit-edge inequalities and non-monochromatic sqrt-three triples. Unary stretches of its coloring trees are stored as forced stems, exactly as in the first-stage Parts certificate.
A vertex-color assignment in the 73-vertex second-stage gadget.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A compressed coloring-tree node.
- stem : List PartsGadgetAssignment
Unary forced assignments preceding the branch.
- vertex : Fin 73
Vertex branched on after the forced stem.
Encoded child index for each color, with zero meaning absent.
Instances For
A normalized root coloring and its compressed contradiction tree.
- roots : List PartsGadgetAssignment
Fixed root assignments.
- nodeCount : ℕ
Number of nodes addressable in the chunked array.
- nodes : Array (Array PartsGadgetTreeNode)
Coloring-tree nodes stored in 64-node chunks.
Instances For
Constant-depth lookup in a tree stored as 64-node chunks.
Equations
Instances For
Properness on every listed unit edge.
Equations
- HadwigerNelsonBounds.PartsGadgetProper coloring = ∀ (vertex neighbor : Fin 73), neighbor ∈ HadwigerNelsonBounds.partsGadgetNeighbors vertex → coloring vertex ≠ coloring neighbor
Instances For
Every listed sqrt-three triangle is non-monochromatic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two constraints used by the second-stage checker.
Equations
- HadwigerNelsonBounds.PartsGadgetValid coloring = (HadwigerNelsonBounds.PartsGadgetProper coloring ∧ HadwigerNelsonBounds.PartsGadgetNoMono coloring)
Instances For
A coloring agrees with every assignment on a certificate path.
Equations
- HadwigerNelsonBounds.PartsGadgetExtends coloring path = ∀ assignment ∈ path, coloring assignment.vertex = assignment.color
Instances For
The path already assigns a given color to a vertex.
Equations
Instances For
A path blocks a color through an edge or a monochromatic triple.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executable path-color lookup.
Equations
- HadwigerNelsonBounds.PartsGadgetHasColorB path vertex color = path.any fun (assignment : HadwigerNelsonBounds.PartsGadgetAssignment) => assignment.vertex == vertex && assignment.color == color
Instances For
Executable counterpart of PartsGadgetBlocks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A forced assignment is the only color not blocked by the path.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Execute a sequence of forced assignments.
Equations
- One or more equations did not get rendered due to their size.
- HadwigerNelsonBounds.PartsGadgetRunStemB [] x✝ = some x✝
Instances For
Executable checker for a compressed contradiction tree.
Equations
- One or more equations did not get rendered due to their size.
- HadwigerNelsonBounds.PartsGadgetVerifiesNodeB nodes 0 x✝¹ x✝ = false
Instances For
Check a certificate from node zero with enough acyclic-tree fuel.
Equations
Instances For
Equations
- HadwigerNelsonBounds.instDecidableVerifies_1 certificate = id inferInstance
A verified coloring tree rules out every valid coloring extending its roots.