Add modular polynomial identity verification - #915
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08b40b875f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 08b40b875f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc06831828
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a572c5151
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e07d8d6bb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a06c234db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Second-pass review: needs one more trust-boundary pass before merge. Most implementation defects have been repaired, but two concerns remain: (1) the new checker is still missing from the shared exact-domain generic attack-case table, so binding/digest/tamper coverage is incomplete; and (2) successful coefficientwise identity replay currently returns the generic exhaustive-integer evidence shape ( |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e349a4ccc6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Addressed in e349a4c: |
# Conflicts: # src/jacobian/domains/number_theory/operations.py # src/jacobian_checkers/exact_domain_operations.py
|
Follow-up: current |
|
Addressed the latest review finding in 60814e9/1c1420b4: ModularPolynomialIdentityResult now recomputes the modular difference from both normalized operands and requires it to equal residual. Added direct model coverage and kept the independent-checker forgery regression contract-valid; focused modular identity tests pass. |
# Conflicts: # tests/composition/portfolio/test_domain_bundles.py # tests/domain/number_theory/test_number_theory_verification.py
morluto
left a comment
There was a problem hiding this comment.
Post-cutover architecture audit
Disposition: retain the capability, rewrite on current main.
Formal coefficientwise identity in (Z/mZ)[x_1,…,x_n] is a real missing mathematical boundary and is distinct from both QQ identity and equality of induced residue functions. Model the residue ring/variable order and canonical sparse polynomials as parent-bound domain values so cross-modulus or cross-variable comparisons are impossible.
Canonicalize duplicate monomials/negative coefficients once at the request boundary, expose a domain-owned residual/decision result, and install a thin producer plus separate independent checker. Remove old number-theory bundles, generic assurance/completeness/relationships, and central dispatcher wiring. Keep composite-modulus, forged-result, duplicate, and multivariate regressions.
|
Post-#1256/#1265 review: keep the modular-polynomial identity operation, but revise/rebase it to the current math ownership model. The capability is still absent from current main. The core semantics are good: normalize sparse coefficients in On rebase, move the provider-independent polynomial/value semantics toward the current Recommendation: revise rather than close; preserve the tests and exact checker, but make the new operation conform to the post-#1256 operation budget. |
|
Superseded by #1286. The replacement owns formal coefficientwise modular-polynomial semantics in |
Summary
modular.polynomial_identity.computecapability for formal coefficientwise equality in(Z/mZ)[x_1,...,x_n]modular.polynomial_identity.verifyWhy
A held-out audit of Conant's mod-4 Kawauchi example required certifying
The existing
polynomial.identity.verifyoperates overQQ, whilemodular.polynomial_residue_image.*verifies bounded value images. Neither establishes coefficientwise identity over a composite residue ring. This closes #912 without changing either existing operation's semantics.Validation
make check: 869 unit tests, Ruff, formatting, complexity, and mypy passedmake test-domain: 189 passedTests cover the original modulus-4 reproduction, a forged result, coefficient perturbation, negative coefficients, duplicate monomials, multivariate exponent vectors, prime modulus 7, and composite moduli 4 and 8.
Closes #912