Skip to content

[Critical] Compare reduction paths with a generic polynomial order - #1196

Open
isPANN wants to merge 76 commits into
fix/simple-graph-invariantfrom
feat/polynomial-comparator-v1
Open

isPANN wants to merge 76 commits into
fix/simple-graph-invariantfrom
feat/polynomial-comparator-v1

Conversation

@isPANN

@isPANN isPANN commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #1194. The base is fix/simple-graph-invariant, so this diff shows only the comparator commit. When #1194 merges, GitHub retargets this PR to main.

Summary

pred path <S> <T> --compare compares the listed reduction paths by the polynomial certificates of their parameter relations. Smaller certificates are better.

Generic, batch-relative order.

  • Each path is treated as a family x_i = c_i·t^e_i, and the order compares the top faces of the Newton polytopes of its certificates. f ≤gen g holds when f is eventually bounded by g for almost every valid growth family, in each cell of each stratum.
  • The order is a preorder only within one comparison batch. Adding paths can change verdicts, so results from different batches cannot be chained.
  • Unrelated parameters, such as m vs n², come out incomparable. The output keeps a Pareto front of non-dominated paths instead of forcing a single winner.
  • Dominance, proven incomparability and UNRESOLVED are reported as separate verdicts.

Known limitations, documented.

  • The order ignores exceptional exact-cancellation families, such as complete graphs with zero complement edges.
  • A generic "yes" is not a worst-case guarantee.

What the commit adds:

  • Library:
    • exact polynomial algebra in src/polynomial.rs;
    • partial-hull parameter composition in src/parameters.rs;
    • the comparator in src/poly_compare/: Newton coverage with checked LP, regular-valid witnesses, conservative final-front filtering, and rendering;
    • ReductionGraph::path_polynomial_profile.
  • CLI: pred path ... --compare, plus --proofs for exact proofs and witness curves, and --json for the schema-5 structured certificates.
  • Docs:
    • the user guide docs/src/polynomial-comparator.md, linked from SUMMARY.md and design.md;
    • the theory note docs/theory/polynomial-comparator.typ;
    • the examples/polynomial_compare_audit.rs audit example.

Test plan

🤖 Generated with Claude Code

isPANN and others added 30 commits October 12, 2026 22:03
Share exact polynomial algebra and partial-hull parameter composition. Add
checked Newton coverage and regular-valid witnesses, conservative final-front
filtering, transparent pred path output, and the schema-5 JSON view.

Document the generic semantics and limitations, include the self-contained
theory source, and exercise composition, comparison, rendering, and CLI behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use exact hybrid polynomial multiplication, reduced Newton supports, batched curve caches, and grouped comparison summaries to improve route scaling without changing verdicts.

Restore graph navigation, stream route rows before comparison, reuse idle WASM workers, load documentation and Atlas records on demand, and publish precomputed layout positions.

Add regression tests, reproducible 100/999-route benchmarks, and an architecture and performance report. Validation includes 7,105 Rust tests, 45 browser checks, Clippy, and 553,863 matching pair verdicts.
Preserve the runtime already used for the Stage 0 screenshots, interaction pilots and production checks. Keep this preparation separate from new accessibility fixes and later TypeScript migration.
Pin build-only tooling and prove TypeScript emission, CSS delivery and finalized CSP in two real browser pages. Verify strict checking independently with valid and invalid input and no JavaScript output. Production integration remains a separate increment; no application TypeScript is introduced.
isPANN and others added 9 commits October 16, 2026 14:07
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… popover move buttons

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ngineering notes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@isPANN
isPANN marked this pull request as ready for review October 16, 2026 21:44
isPANN and others added 15 commits October 16, 2026 14:44
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…es and generated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…and CSS

Remove compare_paths and its generated schema, borrow LP inputs, cache curve
evaluations without cloning, share graph-reference checks, stage the frontend
outside the output directory and delete duplicated font-face/responsive CSS.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@isPANN
isPANN requested a balanced review from Copilot October 17, 2026 09:39

This comment was marked as spam.

@isPANN isPANN changed the title Compare reduction paths with a generic polynomial order [Critical] Compare reduction paths with a generic polynomial order Oct 17, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants