Cslib.Logic.PL.CSP.Forest.search starts from the actual defective variables,
without an improving comparison. Its positional log keeps copied constraints and
zero-based timestamps. It stops at exhaustion, an augmentation or a blossom.
Cslib.Logic.PL.CSP.Forest.search_terminal_isFDAG proves both terminal DAG
invariants from the edge-instance condition and base validity, without evenness.
The three outcome theorems add even delta-matroid constraints, permitting odd
local common parity. Exhaustion certifies genuine optimality:
A blossom result certifies the data actually computed by the extractor. Preparation
preserves validity and defect count. Its cycle has distinct copied steps, and
the actual timestamps are distinct:
No supplied forest/event invariant or finite universe of variable names is needed.
Both variable and constraint least-common-ancestor cases are proved.
Cslib.Logic.PL.CSP.Walk.DistinctCopies forbids sharing a copied node
between cycle steps; original constraints may recur at different timestamps.
The graph union alone admits an invalid-prefix counterexample, checked in
CslibFrontierTests/EdgeCSPBlossomCopies.lean. The cycle certificate also retains
the pivot, feasibility and no shortcuts;
its validity does not follow from reversing an arbitrary f-walk. Exhaustion uses
an alternative exchange-counting proof of KKR Lemma 45. The preparation proof uses
chronological prefix transfer and Lemma 37 rerooting.
Complete actual-run clients are in CslibFrontierTests/EdgeCSPForestEvents.lean,
CslibFrontierTests/EdgeCSPForestTerminal.lean and
CslibFrontierTests/EdgeCSPForestOptimality.lean. They include nonempty preparation,
repeated original constraints, timestamp zero, odd parity and sparse labels.
These mathematical endpoints compose with the native compiler and whole-instance
contraction/lifting and complete native edge solver below. The full planar
dichotomy remains open.