Finite loop-aware pseudocore certificates #
This module defines finite loop-aware pseudocores and a Boolean checker for their structural properties. The validity API is parameterized by cyclomatic genus; it does not contain a census or assert a completeness theorem.
A loop-aware pseudocore stores semantic loops separately and stores nonloop
multiplicities in a full matrix. The checker requires that matrix to be
symmetric with zero diagonal, so the redundant lower triangle cannot disagree
with the upper triangle used by edgeCount. Validity then checks connected
nonloop support, stable valence at least three, and the requested genus
edge-count identity.
SplitMetadata is an optional second boundary matching the loopless split
cores used by explicit-potential certificates. It gives every semantic loop
one marker vertex and checks the resulting ExplicitPotential.Core directly:
marker counts, looplessness, core connectivity, and every unordered edge
multiplicity are all replayed by finite Boolean folds.
A labelled loop-aware multigraph on Fin n. multiplicity i j is meant
to be an unordered nonloop multiplicity; validity checks symmetry and a zero
diagonal explicitly.
The number of semantic loop occurrences based at each pseudocore vertex.
The proposed multiplicity of nonloop edges between each pair of pseudocore vertices.
Instances For
Total number of semantic loop occurrences.
Instances For
Number of nonloop edge occurrences, counted in the strict upper triangle.
Equations
- core.nonloopEdgeCount = ∑ first : Fin n, ∑ second : Fin n, if first < second then core.multiplicity first second else 0
Instances For
Total number of topological edge occurrences.
Equations
- core.edgeCount = core.loopCount + core.nonloopEdgeCount
Instances For
Loop-aware valence: a loop contributes two and a nonloop occurrence one.
Equations
Instances For
The redundant multiplicity matrix really represents unordered nonloops.
Equations
- core.MatrixWellFormed = ((∀ (vertex : Fin n), core.multiplicity vertex vertex = 0) ∧ ∀ (first second : Fin n), core.multiplicity first second = core.multiplicity second first)
Instances For
Connectedness of the nonloop support, in the same cut form used by
graphConnected. Semantic loops do not cross cuts.
Equations
Instances For
Every topological vertex has valence at least three.
Instances For
Mathematical validity of a labelled pseudocore at cyclomatic genus g.
The edge equation is written without truncated natural subtraction, so it is the exact Euler-characteristic identity at every genus.
Equations
Instances For
Backwards-compatible genus-four specialization of ValidAt.
Instances For
Executable exact matrix check.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executable exact cut-connectedness check over all finite vertex subsets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executable exact stability check.
Equations
- core.stableCheck = Utilities.Certificate.AffineCover.allFin fun (vertex : Fin n) => decide (3 ≤ core.valence vertex)
Instances For
Complete executable checker at a requested cyclomatic genus.
Equations
- core.checkAt g = (core.matrixCheck && core.connectedCheck && core.stableCheck && decide (core.edgeCount + 1 = n + g))
Instances For
Backwards-compatible genus-four specialization of checkAt.
Instances For
The legacy validity predicate is exactly the genus-four specialization.
The legacy checker is exactly the genus-four specialization.
The cyclomatic genus of the loop-aware topological multigraph.
Equations
- core.topologicalGenus = ↑core.edgeCount - ↑n + 1
Instances For
The checked edge-count identity is exactly the requested genus.
The legacy genus-four form of topologicalGenus_eq.
A valid genus-four pseudocore has at least one vertex.
Loopless split-core metadata #
Number of edge slots after replacing each semantic loop by two parallel edges from its base vertex to a fresh marker.
Equations
- core.splitEdgeCount = core.nonloopEdgeCount + 2 * core.loopCount
Instances For
Splitting a semantic loop adds one marker vertex and one net edge.
Cyclomatic genus of the loopless split incidence data.
Equations
- core.splitTopologicalGenus = ↑core.splitEdgeCount - ↑(n + core.loopCount) + 1
Instances For
Loop splitting preserves the requested cyclomatic genus.
The legacy genus-four form of splitTopologicalGenus_eq.
Original base vertices occupy the left summand of the split vertex type.
Equations
- core.baseVertex vertex = Fin.castAdd core.loopCount vertex
Instances For
Loop markers occupy the right summand of the split vertex type.
Equations
- core.markerVertex marker = Fin.natAdd n marker
Instances For
Unordered edge multiplicity of an ordered-slot explicit-potential core.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Passive metadata for the canonical loopless split of a loop-aware core. The actual marker order and edge-slot order are arbitrary and are checked from the displayed functions.
The original base vertex to which each split-loop marker is attached.
- splitCore : ExplicitPotential.Core (n + core.loopCount) core.splitEdgeCount
The proposed explicit core after adjoining one marker per loop and splitting each loop into two slots.
Instances For
Number of displayed markers attached to a base vertex.
Equations
- data.markerMultiplicity vertex = {marker : Fin core.loopCount | data.markerBase marker = vertex}.card
Instances For
Expected split multiplicity between two displayed split vertices.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact mathematical relation between loop-aware data and its displayed
loopless ordered-slot split core at genus g.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Backwards-compatible genus-four specialization of SplitMetadata.ValidAt.
Instances For
Exact finite checker for split-core metadata at genus g.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Backwards-compatible genus-four specialization of SplitMetadata.checkAt.
Instances For
The split metadata checker at genus g implements ValidAt g.
The legacy split validity predicate is its genus-four specialization.
The legacy split checker is its genus-four specialization.
A valid split certificate carries the requested genus through loop splitting.
Accepted split metadata is loopless as ordered edge-slot data.
Accepted split metadata carries the core connectedness required by the explicit-potential bundle checker.