feat(graph-iso): prove and adopt the structured search - #10107
Conversation
|
The independent Opus review found no correctness defect or vacuous assumption in the completed engine/generic equivalence, checked-admission, reachability, exhaustive-policy, or local leaf-maximum proofs. Its medium findings concern the still-missing whole-search coverage argument. Implemented follow-up:
The review's proposed stack redesign is unnecessary for the exhaustive instance: Still unresolved: the full pruning invariant ( |
|
Follow-up to the independent Opus review:
The fixed ancestor code binding, cheap/automorphism unwind coverage, short-prune fix-test receipt, and whole-engine maximum remain unfinished. Witness implication transport alone does not establish the missing frozen-frame binding. The public search migration and legacy deletion are still gated on those proofs. The new public generation-completeness dependency from #10108 is documented separately on #10043; it also needs a transfer that canonical-key equality does not supply. |
|
Follow-up to the independent Opus comparison review:
The remaining coverage contract will retain frozen ancestor information separately from the settled comparison receipt. The draft remains incomplete and is not ready to merge. |
|
Addressed the fifth Opus review's concrete findings:
The review found no correctness defect in the original short-return origin or mutable coverage proofs. Its remaining integration concerns are still applicable: the explicit pair's receiving fix test, actual first-path orbit-skip justification, and the whole-engine maximum are unfinished. The new guide restoration consumes child coverage as the intended induction hypothesis; it does not itself establish whole-search coverage. The PR remains a draft. |
|
Addressed the canonical-reference review in the short-filter batch:
The dummy target-level argument remains in the policy-independent child proof, consistent with the other local-policy instantiations. No executable behavior was changed. The whole-engine maximum, nonlocal coverage witnesses, first-path orbit coverage, generation completeness transfer, public migration, and deletions remain unfinished; the PR remains a draft. |
… target selection
The structured engine now drives the public canonicalization, certification, generator and orbit APIs. Its complete key and generator-completeness theorems follow from actual generic-recursion calls and proved local rules, without legacy traversal correctness assumptions. Empty-graph certification and the public theorem statements are preserved.
The engine takes
Nauty/Search/Search.leanand retains its nauty correspondence table. This removes the literal traversal,Nauty/Correct/, the old incumbent/closure proof, and recursive reach proof. Reusable primitive-state and reference/stabilizer mathematics remain inSearch/State,Invariant, andGeneration. The direct hot loop retains its proved equality with the policy recursion. Canonicalization does not import the full generation proof.Validation:
HexManual: successful build after rebasing onto currentmain.sorry,axiom, ornative_decide.4fa1958f160d; freshness and the existing 0.2 exponent check pass.The dependency checker now includes
import alledges in build reachability, with a regression test; sealed-import restrictions are unchanged. The library umbrella also includes the standalone trace proof, and the policy entry point includes the first-root proof.Optimization scope: changes inside policy operations have local obligations; changes to recursion shape must maintain direct/generic agreement and may require new return and generation arguments. The primitive
SearchStview remains a maintenance cost.Proof structure and validation details:
reports/hex-graph-iso-obligations.md; locality evidence:reports/hex-graph-iso-locality.md.Closes #10043.