How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Incremental planar Delaunay insertion with exact edge flips
Definition
Input is a nonempty finite indexed planar list of exact dyadic sites and optionally a prescribed insertion permutation. Collapse equal coordinates to the least stable identifier. If no permutation is supplied, use increasing stable-identifier order; otherwise require the permutation to list each deduplicated site exactly once. If the affine dimension is zero, return the single site; if it is one, sort by the first varying coordinate (use if it varies, otherwise ) and return the consecutive chain. These branches return no triangles.
For affine dimension two, run CHOOSE-SUPERTRIANGLE(P,g) before insertion, where in an ordinary batch run and when a caller requires the augmented general-position condition. Enumerate ordered triples of dyadic points by increasing height : represent each dyadic coordinate uniquely as with and either or odd , and at height enumerate lexicographically the six coordinate representations with and maximum . For each candidate triple, reject coincident vertices or zero orientation; if its orientation is negative, swap the second and third vertices so it is counterclockwise. Reject it unless all input sites have strictly positive orientation against each of its three directed edges. For every noncollinear input triple and each candidate vertex, call Certified predicate for exact dyadic geometric inputs for its exact orientation-normalized raw incircle sign and reject unless that sign is negative (outside). If , test each input triple for zero orientation and each input four-site subset for zero raw incircle determinant; return invalid-general-position-request if either occurs. If , for each remaining candidate also test every augmented triple for zero orientation and every augmented four-site subset for zero raw incircle determinant, rejecting that candidate if any test is zero. Return the first accepted triangle. The enumeration is deterministic and finite at each height; A dyadic supertriangle contains the sites and excludes every input circumcircle guarantees that an accepted candidate occurs for , and also for under its general-position hypothesis. Assign the three synthetic vertices, in their enumerated order after the orientation correction, the consecutive integer identifiers immediately below the least input identifier. This fixes the universe and all lexicographic ranks before insertion. Initialize the current triangulation to the supertriangle and maintain its finite triangle list and edge incidences.
Expose the following state update INSERT(p,L), where is a not-yet-inserted input site and is an optional location certificate. Its admissibility condition is that lies strictly inside the current triangulated hull. A face certificate names one current triangle and is valid exactly when the three exact orientation tests put strictly in its interior. An edge certificate names an interior edge and its two current incident triangles; it is valid exactly when lies strictly between and and those are the two triangles incident to . If a supplied certificate is invalid, return invalid-location without changing the triangulation. If is absent, scan the finite current triangle list in increasing lexicographic order of the sorted vertex identifiers. For each triangle , compute and the three signs , , and . If are all positive, use the face certificate for . If exactly one is zero and the other two are positive, use the edge certificate for that edge and its two incident triangles; if it is a hull edge, return boundary-edge. Two or more zero signs put at an existing vertex, contrary to the distinct-site input, and return duplicate-vertex. If the scan finds no containing face or interior edge, return outside-hull.
For a face certificate, replace its triangle by the three triangles joining to its edges. For an interior-edge certificate, replace its two incident triangles by the four triangles joining to the edge endpoints and the two opposite vertices. Then call LEGALIZE(p,uv) once on each distinct new edge opposite , in lexicographic order of its endpoint identifiers. In each call, order by stable identifier and let be the third vertex of the adjacent triangle. Compute the exact orientation determinant on rows and the raw lifted determinant sign on rows using Certified predicate for exact dyadic geometric inputs. If , return degenerate-base. If , set the normalized sign to . If , take the sign selected from the common formal height perturbation of Stable-id lexicographic lift perturbation for cocircular and power ties on the same row order and set the normalized sign to . A positive normalized sign means illegal; a negative sign means legal; zero is treated as legal. Boundary edges have no adjacent triangle and are legal. If an edge is illegal, test strict convexity with exact orientations: both must lie on opposite sides of , and must lie on opposite sides of . If either product of the corresponding two orientation signs is not negative, return invalid-triangulation. Otherwise flip to , record the replacement event, and recursively call LEGALIZE(p,uw) and LEGALIZE(p,wv) in lexicographic order. Each face split, edge split, and flip records its removed triangles, created triangles, and overlap map: one-to-three for a face split, two-to-two-within-each-old-face for an edge split, and both new triangles for each old face at a flip. INSERT returns these events in execution order with the updated triangulation. A batch run calls INSERT(p,none) for each site in the chosen permutation, discards the event lists, halts with any returned status, and otherwise returns the remaining triangles and their edges after deleting triangles incident to synthetic vertices.
The exact raw predicate and its tie-break are separate: Certified predicate for exact dyadic geometric inputs returns exact raw signs including zero; a zero nondegenerate-base sphere test is resolved by the common formal height perturbation in this algorithm. The procedure never chooses or evaluates a numerical . A degenerate base is reported as degenerate-base and is not flipped.
Depends on
- Finite indexed geometric site sets and duplicate handling
- Planar triangulations, Delaunay structures, and Voronoi cells
- Stable-id lexicographic lift perturbation for cocircular and power ties
- Certified predicate for exact dyadic geometric inputs
- A dyadic supertriangle contains the sites and excludes every input circumcircle
Used by
Dependency tree · two levels
12 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.
Sources
- Mark de Berg et al., Computational Geometry: Algorithms and Applications, 3rd ed., Chapter 9, Sections 9.2–9.3 (standard reference, not scraped)
- David M. Mount, CMSC 754 Computational Geometry, Lecture 13 (standard reference, not scraped)