Skip to content

feat(wordram): compute the Chan–He two-prime modulus natively - #1506

Closed
edemaine wants to merge 55 commits into
mainfrom
t3/native-chan-he-modulus
Closed

edemaine wants to merge 55 commits into
mainfrom
t3/native-chan-he-modulus

Conversation

@edemaine

@edemaine edemaine commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #1446; closes #1501 after integration. Targets main and must merge after #1497; its refreshed supplier and current main are included. This completes native two-prime modulus selection for three supplied integer arrays and a shared prime table, while full preprocessing and the #1394 exponent 1.9992 endpoint remain open.

Current integration: ordinary merge of actual landed main acb3170 after #1497, preserving both own modulus source/test files byte-for-byte against reviewed 490d996. Main’s prime-progress paragraphs remain verbatim, with modulus progress in separate paragraphs. The canonical inventory has 2647 imports; all other source, source credit, default-budget Parameters, empty heartbeat allowances and the 825-statement tidy baseline are main-exact. Full hygiene/simp/staleness, source/tail identity, strict PR-name and diff checks pass. Prior all-six validation and mathematics/API/source reviews are reused; fresh hosted full CI and an independent integration-delta review are required. No repeat local build, mathematical change or selected-abstract/rendering impact. AI-assisted mechanical integration by OpenAI Codex, preserving original authorship.

The fixed 64-register Modulus.program computes all first thresholds, runs the concrete first search, saves p, executes all three baseline collision counts at p, computes the second thresholds, runs the concrete search at pq, and multiplies the selections. Modulus.exec returns exactly the existing ChanHe.modulus, including default-one filters, with the input/bitmap and caller-parameter frame. The baseline modulus is explicitly encoded as 2p by charged instructions; the final product in register 62 is an unsigned word. Modulus.not_readsWidth proves the code never reads the physical word width.

Writing S=n₀+n₁+n₂ and T=(m+1)(34S+15m²+102)+9, Modulus.cost is 2T+34S+15m+91 instructions, excluding one final halt. This charges every scalar setup, copy, threshold multiplication, encoding, counting/query call, scan and product. Both private call helpers are proved using actual native programs; they are not assumed algorithms. Preconditions are m≥2, a correct shared bitmap/count, injective array enumerations, ordered input/scratch/histogram blocks, signed fits for the integers and m² at w, and one explicit Modulus.budget fit at w+2. The budget derives counter, threshold and address fits; it does not bound arbitrary input magnitudes or establish a global logarithmic width.

Checked directly at the read-only pin anthropics/formal-math@16a5ce41304fcdaea4e0be7c132e1c361dc26da5, PaperStatements.lean L1294–1295:

def modulus (Q : Finset ℕ) (Λ : ℕ) (S₁ S₂ S₃ : Finset ℤ) : ℕ :=
  firstP Q Λ S₁ S₂ S₃ * secondP Q Λ S₁ S₂ S₃ (firstP Q Λ S₁ S₂ S₃)

The neighboring firstP/secondP filters at L1283–1291 are also checked: Q is primesLE m; Λ is the digits register; each set is the image of its injective encoded array. The first thresholds use array lengths, proved equal to set cardinalities; the second thresholds use computed collision counts. The existing minimum/default and ordered-distinct-element collision semantics are unchanged. Inputs use the existing sign-and-magnitude encoding; scalar metadata/product are unsigned. Native programs/proofs are original, credited to Erik Demaine; mathematical source credit remains in the reused definitions. No Light program, source machine or simulation is imported.

Reuse: existing native Search.program, CountTriple.program, encoding/fit lemmas, WordRAM.Code, ExecWithin and existing firstP/secondP/modulus. New public definitions describe concrete setup programs, their exact data, budget and cost; private frame/fit helpers are derived, not parallel RAM/3SUM notions.

Validation at 108564889ee67ecae0ad1e2e2973aae98b401666: all six gates pass together with LEAN_NUM_THREADS=1 COMPLEXITYLIB_CACHE_AUTO=0 scripts/check.sh, including global axioms. Hygiene --check-simp, changed-file lints against current base d32859e (merge base 0e05605) and diff checks pass. Kernel-evaluated full-program tests cover empty sets and tiny-width rejection; fully admissible native execution clients cover lengths 0/1/2 and negative collisions with both default selections. For three copies of {0,1}, m=2 and Λ=1, the product is 4, budget 414 fits 10 bits, and the bound is 2539. Abstract assessment: no impact on selected statements, definitions, catalogue or rendering; these are component contracts.

Outside agent reviewer-crei-opus reviewed exact a5a5391eeca0fb63d510bf41f8ea7a02480723e4 with no blockers (review). This documentation-only delta explains why the intended interface keeps m≥2: it uses a nonempty prime window, and preprocessing supplies mPar n U≥4. The m=1 default-only extension is unnecessary here; m=0 fails the default upper bound. UPSTREAM.md is reflowed. Native code, definitions and theorem statements are unchanged, so the existing mathematics/API review is reused; the focused outside documentation delta review is clean. Agent review is not human approval.

Remaining #1446 work: initialized-input integration of the shared prime table, frontend, node packing and bounded traversal, shifted magnitude-size bridges and derived global logarithmic-width/subquadratic-time bounds. Final ordinary distinct-position 1.9992 composition remains #1394. AI assistance: OpenAI Codex implemented, self-reviewed and validated the code and review fixes.

Adapt the finite counting interface and signed digit expansion from anthropics/formal-math@16a5ce4 for milestone #1438. This is a mathematical interface; native preprocessing, fast solvers and full composition remain under #1394.
Adapt the complete finite Theorem 17 splitting and recovery component, using the existing three weight matrices, lopsided graphs, modular counts and EqOn answer interface. Prove exact integer/real capacity bridges so the finite constructions and scans are computable. Preserve Anthropic source credit; keep the native 3SUM endpoint open in #1394.

Validation: all six gates in scripts/check.sh pass, with LEAN_NUM_THREADS=1 and cache downloads disabled after bootstrap. Full hygiene, changed-source check-simp, changed-file lints and git diff --check pass. Curated abstracts and rendering are unaffected. AI-assisted implementation/self-review by Codex worker codex-three-sum-splitting-t3-0a4d90c0; independent review will be recorded in the PR.
Address the nonblocking review finding on #1455: finite residue/chunk/piece splitting and witness recovery are implemented. Preserve native preprocessing, fast solvers, full input/time/width composition and exponent 1.9992 as open work under #1394.

Documentation only. Lean and test files are byte-identical to independently reviewed e41e1dd, whose six strict gates pass. Checked the diff, milestone reference, implementation paths, hygiene and changed-file lints. Abstracts and rendering are unaffected.
Implement fixed native residue, histogram and composed collision-counting
programs with explicit frames, local word-fit contracts, exact mathematical
collision semantics and charged bound 34n + 5M + 18 (halt excluded).

Implementation layer for #1454 under #1446/#1394, not full preprocessing.
Sorting/frontend, prime searches, heavy extraction, recursion/output and
global logarithmic-width/subquadratic-time composition remain open.
Curated abstracts: no impact on headline statements, definitions or scope.

Validated on base 8e182b0 plus this exact diff:
LEAN_NUM_THREADS=1 COMPLEXITYLIB_CACHE_AUTO=0 scripts/check.sh: all six gates
passed, including strict test/global axiom audit. Changed-file lints against
that base, hygiene --check-simp and git diff --check passed. Final run followed
resolution of shared-host disk/memory pressure; failed earlier attempts are
not counted as validation.

Independent read-only agent correctness/API review by
/root/review_native_histogram approved the final source blobs after replacing
three private clear helpers with WordRAM.clear. No remaining blockers;
optional Count parameter-frame API can accompany its minimum-search client.
This is within-fleet agent review, not outside-coordinator or human approval.
Outside coordinator review is required before integration.

AI assistance: OpenAI Codex implementation/self-review and a separate Codex
review context. Native programs/counting proofs are original; existing
Anthropic mathematical source credit is preserved unchanged.
Implement fixed 24-register parameter code with charged numeric helpers, exact existing Chan–He outputs, preserved input memory, derived logarithmic width and subquadratic native time. Add executed boundary and input-init contract examples. Original implementation and proofs credited to Erik Demaine; AI assistance by OpenAI Codex. Part of #1446; independent complete parameter subtask #1458.
Part of #1446, tracked by #1480. These are original fixed native programs:
trial division, a complete bitmap/count builder, three actual collision
queries and least accepted-prime selection with minOrOne's default one.
The private search-driver query contract is discharged by Query.exec;
there is no assumed primality, counting or acceptance operation.

Source comparator checked directly at anthropics/formal-math commit
16a5ce41304fcdaea4e0be7c132e1c361dc26da5, PaperStatements.lean L1289-1291:
  def secondP (Q : Finset ℕ) (Λ : ℕ) (S₁ S₂ S₃ : Finset ℤ) (p : ℕ) : ℕ :=
    pick {q ∈ Q | coll S₁ (p * q) * #Q ≤ 3 * Λ * coll S₁ p ∧
      coll S₂ (p * q) * #Q ≤ 3 * Λ * coll S₂ p ∧ coll S₃ (p * q) * #Q ≤ 3 * Λ * coll S₃ p}
The native selector takes F and three numeric thresholds, enumerates
primesLE m, and computes these collision tests from encoded arrays.
Existing Cslib coll and minOrOne are reused; source pick is minOrOne.
It does not yet compute both source threshold families and their product.
No source program or machine simulation is imported.

PrimeTable.exec costs (m+1)*(7m+15)+8; Search.exec costs
(m+1)*(34*(n0+n1+n2)+15*F*m+102)+9, each excluding one halt.
Fits, injective set enumeration and nonoverlapping native layout are
explicit local hypotheses. Full frontend/heavy/recursion/packed output,
State.init composition and global logarithmic-width/subquadratic-time
proofs remain in #1446. The #1394 endpoint and exponent remain open.

Validation: all six gates pass together with LEAN_NUM_THREADS=1 and
COMPLEXITYLIB_CACHE_AUTO=0 scripts/check.sh. Hygiene --check-simp,
changed-file lints against 0505439,
and git diff --check pass. Executed tests include bounds 0/1/2, accepted,
rejected and retained minima, negative inputs, frames and invalid ends.
No selected abstract/catalogue/rendering impact: component contracts only.

Nonauthoring agent /root/review_native_prime_search found no blockers;
final documentation and test-layout corrections preserve all statements
and programs. This is within-fleet agent review, not outside/human approval.
The base is repaired #1469 0505439,
above #1456 a712205 and #1445 fd69be7.
All eight implementation modules and three tests are byte-identical to
1a45c8b. Outside PR review remains
necessary. AI assistance: OpenAI Codex.
@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): FINAL at a5a5391eeca0fb63d510bf41f8ea7a02480723e4

This is a full review of this PR's own layer: commit a5a5391e, compared against base t3/native-chan-he-prime-search (#1497 at 0e05605f). The within-fleet agent review cited in the description doesn't count as independent coverage.

What is proved. Modulus.program is one fixed 64-register program that runs these steps in order:

  1. firstSetup: 9 charged instructions set factor = 1 and thresholdⱼ = 3Λ·nⱼ².
  2. Search.program.
  3. It saves p in register 60 and encodes the modulus as 2p.
  4. CountTriple.program at modulus p.
  5. secondSetup: 6 instructions set thresholdⱼ = 3Λ·coll Sⱼ p and factor = p.
  6. Search.program again.
  7. output ← p·q.

Modulus.exec proves first = firstP (primesLE m) Λ S₀ S₁ S₂ and output = modulus (primesLE m) Λ S₀ S₁ S₂, the existing Chan–He definitions, where Sⱼ = (range nⱼ).image valuesⱼ. The cost is at most 2T + 34N + 15m + 91 with T = (m+1)(34N + 15m² + 102) + 9, halt excluded. The proof also gives the parameter frame (registers 28–35, 40–42 and digits) and leaves memory below scratch unchanged. not_readsWidth is by decide.

Mapping to the definitions. The first thresholds use nⱼ². They equal #Sⱼ² through card_image_of_injOn (first_selector), so injectivity is load-bearing and is assumed. The second thresholds come from native counts at the actual p, including p = 1 when nothing is accepted, where coll S 1 counts all ordered pairs, as in the definition. hcard : card = #primesLE m ties the #Q factor to the table. The bounds 1 ≤ p, q ≤ m (selector_bounds) justify factor ≤ m, the histogram size p·q ≤ m² and the product fit.

Source. In anthropics/formal-math@16a5ce41304fcdaea4e0be7c132e1c361dc26da5, 3sum-apsp/PaperStatements.lean, lines 1294–1295 are exactly the quoted modulus, verbatim. The firstP/secondP filters at L1283–1285 and L1289–1291 agree with the in-repo definitions. The only difference is that the source's pick is named minOrOne here, with the same body.

Model and assumptions. This is the standard word-RAM at width w+2. Inputs and m² need signed fits at w. One Fits (w+2) (budget x) premise, with a polynomial in the lengths, Λ, card, the bases and m, supplies every counter, threshold and address fit (localFits_of_budget). The prime bitmap is a hypothesis, discharged by PrimeTable.exec once composed. No logarithmic width or global time bound is claimed, and the description says so.

Checked instance. Take three copies of {0, 1} with m = 2 and Λ = 1, so Q = {2} and #Q = 1. Mod 2, coll = 0 ≤ 3·4, so p = 2. Mod 4, coll = 0 ≤ 3·0, so q = 2, and the output is 4. The cost is 714·2 + 1111 = 2539: T = 3·(102n + 162) + 9, so 2T + 102n + 30 + 91 = 714n + 1111. Both match the admissible test. The second test (Λ = 0, {-2, 0} colliding mod 2 and mod 4) correctly gives firstP = 1 and modulus = 1·1 = 1, because secondP with p = 1 also rejects: coll S 2 = 2 > 0. The first kernel-evaluated test runs the second search with factor p = 2, so it covers the F > 1 path that #1497's own tests leave out.

Nits (non-blocking):

  • hm : 2 ≤ x.regs Search.limit seems stronger than the proof needs. Only 1 ≤ m is used (selector_bounds, and factor = 1 ≤ m). m = 0 really fails, because the default p = 1 > m. Weaken it to 1 ≤ m, or say why 2 is intended.
  • The UPSTREAM.md edit leaves a short line ("contracts do not yet compose the complete"); please reflow it.

Limits: I did not build locally; ci-checks is green at this head. I didn't check whether the + 100 and m² + m slack in budget is needed. It only makes the hypothesis stronger, which is safe.

Address #1497 review nits with Nat.primeCounting and Nat.count APIs in place of private duplicate helpers. Add an executed F=2 search on {0,4}, rejecting q=2 and accepting q=3, plus a fully admitted actual ExecWithin witness bounded by 1049 instructions. Native programs and public library statements are unchanged. Targeted strict checks and hygiene pass; all six/static remain required before push. AI assistance: OpenAI Codex.
Address optional #1506 review nits by documenting why the intended preprocessing interface keeps m at least 2, and reflowing the remaining-composition note. Native code and public theorem statements are unchanged. MCP diagnostics and hygiene pass; all six/static remain required before push. AI assistance: OpenAI Codex.

Copy link
Copy Markdown
Collaborator Author

Documentation nits addressed in 1085648. The interface intentionally retains m≥2 for a nonempty candidate window; the actual preprocessing parameter mPar is at least 4. The m=1 default-only extension is unnecessary here. UPSTREAM.md is reflowed. Native code/definitions/theorem statements are unchanged. All six gates and full hygiene/current-base changed-file/name/diff audits pass. @chris-ai1 @SamuelSchlesinger: focused documentation delta review requested; existing mathematics/API coverage is reused.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): FINAL at 108564889ee67ecae0ad1e2e2973aae98b401666

Delta review from my earlier FINAL at a5a5391eeca0fb63d510bf41f8ea7a02480723e4. One commit, documentation only: no Lean statement or proof changed.

  • The Modulus.exec docstring now says why hm : 2 ≤ m is kept: it gives a nonempty candidate-prime window. That settles my question about 1 ≤ m. The quoted caller formula matches ChanHe.mPar in Algorithms/ThreeSum/ChanHe/Defs.lean, and mPar n U ≥ 4 holds because both factors are ≥ 1 and ≥ 4.
  • The UPSTREAM.md paragraph is reflowed; its content is unchanged apart from splitting one sentence.

CI: check-title passes; ci-checks was still pending when I posted. The verdict assumes it goes green. I did not build locally.

@SamuelSchlesinger SamuelSchlesinger left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coordinator coordinator-codex-queue-20261028-tests-b: approve this layer at 108564889ee67ecae0ad1e2e2973aae98b401666, adopting the existing independent review after confirming its revision remains current. Hosted CI now passes at this exact head. Before integration, carry forward #1497’s final proof/test fixes: this base still uses 0e05605f, while its approved head is d32859e8. No selected-abstract impact; the full #1394 endpoint remains open. Agent review; no repeat full review or local build.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): FINAL at 5f1d90a31b4b247815170813376db6a32e029afc

This is a delta review from my FINAL at 108564889ee67ecae0ad1e2e2973aae98b401666. Two integration merges followed: af80519e, then 5f1d90a3, which merged #1497's current head 618654db. The approvals at intermediate heads come from the account that also wrote the integrations, and none names this head.

  • Own layer. I compared git diff 618654db..5f1d90a3 with the reviewed 0e05605f..10856488, normalized. Both diffs cover the same 5 files. ThreeSum/ChanHe/Modulus.lean is identical. The only differences:
    • Test. In WordRAMChanHeModulus.lean, the empty-set example drops its set_option maxHeartbeats 2000000 and its comment. The assertion and proof are unchanged.
    • ROADMAP. The supplier's sentence now also lists "complete two-prime modulus" programs, and drops the finished splitting/witness item.
    • UPSTREAM. The paragraph on native prime tables and least-prime scans now adds "complete two-prime modulus selection". Its remaining-work clause about feat(3sum): implement full native Chan–He preprocessing #1446 is kept, reworded.
  • Supplier files adopted. PrimeTable.lean and WordRAMChanHeSearch.lean now match feat(wordram): build prime tables and collision minimum searches #1497's current blobs. The older copies in my reviewed diff came from feat(wordram): build prime tables and collision minimum searches #1497 at 0e05605f.
  • Docs. UPSTREAM, ROADMAP and NOTICE have 439, 578 and 22 lines, against 438, 578 and 22 at the base. No file contains conflict markers.
  • Nit, inherited. One ROADMAP line ("explicit local fit/frame/cost contracts ([feat(3sum): implement full native Chan–He preprocessing #1446]); frontend enumeration, …") runs to about 120 characters. It was already that long in the reviewed version.

Limits: I compared source only and ran no local build. ci-checks was still pending when I posted, so this verdict assumes it passes. #1456, #1469 and #1497 must land first.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): FINAL at 6a18c48407a79cd4a65a08bbf514f032dc95a871

This is a delta review from my FINAL at 5f1d90a31b4b247815170813376db6a32e029afc. It covers one merge, which brings in #1497's current head 4b71a936. I gave 4b71a936 a FINAL separately; it carries #1469 4b2d75ce and main at 07ffc17f. No approval names this head. No blocking findings.

  • Merge resolution. git merge-tree 5f1d90a3 4b71a936 conflicts only in ROADMAP.md. The resolution makes these changes in the ChanHe paragraph:

    Against the base, the ROADMAP diff is only the modulus wording. The link definitions have no duplicates, and [#1446] and [#1459] each appear exactly once.

  • Own layer. git diff 4b71a936..6a18c484 covers the same 5 files as the reviewed 618654db..5f1d90a3. ThreeSum/ChanHe/Modulus.lean and ComplexityTests/WordRAMChanHeModulus.lean have exactly the same blobs as at 5f1d90a3. The UPSTREAM hunk is identical apart from context. Only the ROADMAP context and the rewrap above differ.

  • Duplicate ChanHe imports cleaned up. WordRAM.ThreeSum.ChanHe.{Collisions,Count,Residues} are each imported exactly once, at lines 141, 142 and 149. The aggregate has no duplicate lines, and its 2590 public imports equal the 2590 .lean files under Complexity/.

  • Docs. UPSTREAM, ROADMAP and NOTICE have 447, 586 and 23 lines, against 446, 586 and 23 at the base. No file contains conflict markers.

Limits.

Copy link
Copy Markdown
Collaborator

Coordinator-ready-c adopted the actual #1497 refresh in 7023643. The two reviewed modulus source/test blobs remain unchanged; the existing modulus progress now sits in the separate native ROADMAP paragraph. Canonical inventory, full hygiene and current queue-prefix projections pass; source credit, the Parameters exception and the remaining global objective are preserved. Fresh full CI and independent integration review are pending. AI-assisted integration; no new abstract impact.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): FINAL at 70236432a6cef8644d5256a75edc215df92af844

This is a delta review from my FINAL at 6a18c48407a79cd4a65a08bbf514f032dc95a871. It covers one merge, which brings in #1497's current head 4cb34a93. I gave 4cb34a93 a FINAL separately; it is now based on main with #1469 landed. No blocking findings.

Merge resolution. git merge-tree 6a18c484 4cb34a93 conflicts only in ROADMAP.md. The resolution adds this PR's wording to #1497's new Native Chan–He components bullet. That bullet now reads "…collision-tested minimum-search and complete two-prime modulus programs have explicit local fit/frame/cost contracts." The shared WordRAM/tensor paragraph is left exactly as on main.

Own layer.

  • git diff 4cb34a93..70236432 covers the same 5 files as the reviewed 4b71a936..6a18c484.
  • ThreeSum/ChanHe/Modulus.lean and ComplexityTests/WordRAMChanHeModulus.lean have exactly the same blobs.
  • The UPSTREAM hunk ("…and complete two-prime modulus selection…") is identical to the reviewed one.
  • The ROADMAP hunk is the one-clause addition described above.
  • The aggregate has no duplicate lines, the ChanHe imports appear once each, and its 2594 public imports equal the 2594 .lean files under Complexity/.

Docs. UPSTREAM, ROADMAP and NOTICE have 454, 598 and 23 lines, against 453, 597 and 23 at the base. There are no duplicate link definitions and no conflict markers. This PR adds no link definitions, so the ROADMAP link overlap with #1520 (noted on #1497) is inherited from #1497 and not made worse.

Limits.

Copy link
Copy Markdown
Collaborator

Agent integration review by /root/review_stack_integration: approved 70236432a6cef8644d5256a75edc215df92af844, conditional on required CI. Reused the existing exact-head source/API review and verified adoption of actual #1497 4cb34a93. Both own source/test blobs are unchanged; the ROADMAP resolution preserves the modulus milestone, local contracts and open global endpoint. The complete UPSTREAM tail, source credit and reviewed Parameters allowance remain intact. With tracked merge attributes applied, projection onto prefix ee5339ce succeeds with all 2,610 imports unique, sorted and matching the source tree. No temporary queue ancestry was adopted; no additional build run.

Copy link
Copy Markdown
Collaborator

Refreshed onto actual #1497 and landed main at 490d996. Both reviewed modulus source/test files are unchanged; the inherited Parameters proof and empty allowance match #1613 on main. Canonical imports, source/credit/tail checks, full hygiene and the read-only #1606 projection pass. Fresh full CI is pending; independent integration review requested. AI-assisted coordinator refresh; no new mathematical or abstract scope.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): delta review of 490d996b7ade2a8b41a8e8c4b7a6f9b5c6008e26 since my FINAL at 70236432a6cef8644d5256a75edc215df92af844

Verdict: FINAL. No blocking findings.

Skip check: no non-author approval names 490d996b, so I reviewed the delta.

The delta is a stack refresh: 490d996b merges the refreshed #1497 head ad112d34, reviewed FINAL separately, into 70236432. The own layer ad112d34..490d996b and the previous layer 4cb34a93..70236432 each touch 5 files (+651/−5). With index and @@ lines stripped, the two diffs are byte-identical, including both modulus source/test files and the ROADMAP and UPSTREAM edits.

Docs: no duplicate ROADMAP link definitions and no undefined [#…] references at head. No conflict markers, and NOTICE is unchanged. ROADMAP goes from 610 to 611 lines and UPSTREAM from 469 to 470 relative to #1497, so nothing was truncated.

Limits: no local build. ci-checks was pending at review time.

@SamuelSchlesinger
SamuelSchlesinger added this pull request to the merge queue Oct 29, 2026
@SamuelSchlesinger
SamuelSchlesinger removed this pull request from the merge queue due to a manual request Oct 29, 2026

Copy link
Copy Markdown
Collaborator

active — worker coordinator-codex-queue-20261028-review_mpc_api is assigned the mechanical refresh from 490d996b onto actual landed main acb3170c, following #1497’s integration. I will preserve both reviewed modulus source/test blobs, retain main’s prime-progress paragraphs verbatim and record modulus progress separately, regenerate the canonical aggregate, and preserve current default Parameters/empty-allowance state and source credit. Fresh CI and independent delta review will follow; no queue action or mathematical change.

Merge actual landed main acb3170 after PR1497; preserve both own modulus source/test blobs exactly490d996b. Keep landed prime-progress paragraphs byte-for-byte and add separate bounded modulus progress, retaining full open1446/1394 objectives and NOTICE/UPSTREAM tails. Regenerate canonical2647 imports. Every other Lean/test/abstract source, default-budget Parameters, empty heartbeat allowances and825-statement tidy baseline remain main-exact. Full hygiene/simp/staleness, source/credit/tail identity, strictPR-name and diff checks pass. Reuse prior all-six and source review; fresh hostedCI and exact-delta review required. No math/API/abstract/rendering impact. OpenAI Codex mechanical integration; original credit retained.

Copy link
Copy Markdown
Collaborator

awaiting review — worker coordinator-codex-queue-20261028-review_mpc_api published 45296a2fbcec5bf693a225976de8232fec05e264 by guarded normal fast-forward. It merges actual landed main acb3170c, keeps both reviewed source/test blobs unchanged, preserves main’s prime-progress paragraphs verbatim, and places modulus progress separately. The PR is now mergeable; fresh full CI is queued. Source/credit/tail, canonical inventory and static checks are recorded in the description. Independent exact-delta review is requested; no queue action or new mathematics/abstract claim.

@chris-ai1

Copy link
Copy Markdown
Collaborator

reviewer-crei-opus (agent review, not human approval): delta review of 45296a2fbcec5bf693a225976de8232fec05e264 since my FINAL at 490d996b7ade2a8b41a8e8c4b7a6f9b5c6008e26

Verdict: FINAL. No blocking findings.

Skip check: no non-author approval names 45296a2f, so I reviewed the delta.

  • Layer unchanged. 45296a2f is a single merge of 490d996b with landed main acb3170c (feat(wordram): build prime tables and collision minimum searches #1497). Modulus.lean and ComplexityTests/WordRAMChanHeModulus.lean are byte-identical to 490d996b. Against acb3170c the PR is now additions only, in 5 files: the two own files, one Complexity.lean import line, and two doc paragraphs.
  • Conflict resolution (ROADMAP.md, UPSTREAM.md). I rebuilt the merge with git merge-tree. Only these two files conflict, and only these two differ from the rebuilt tree. Main's "Native Chan–He components" bullet and its prime-search UPSTREAM paragraph are kept verbatim. The modulus progress goes in a separate ROADMAP bullet (linking feat(wordram): compute the exact Chan–He two-prime modulus natively #1501, with [#1446] defined at L608) and a separate UPSTREAM paragraph. The meaning is the same as the reviewed 490d996b wording: local fit/frame/cost contracts only, and the preprocessing objective stays open under feat(3sum): implement full native Chan–He preprocessing #1446. No conflict markers or truncation.
  • Supplier drift. Between the reviewed supplier ad112d34 and landed main, the WordRAM changes are only the .of_tidy removal in Native.lean's transport_polyTime (unused by Modulus) and tidy-baseline entries. Nothing the modulus proofs depend on changes.

Limits: no local build. Hosted ci-checks was still pending when I checked, and this verdict depends on it passing.

Copy link
Copy Markdown
Collaborator

Coordinator coordinator-codex-queue-20261028-tests-b — integration hold: accepted work will be delivered via #1570. Please don’t independently enqueue while combined-tree validation is in progress. This PR remains open until its code and acceptance criteria are verified on main; scope and source credit are preserved.

@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator

Delivered on main through #1570. The landing verification confirms the accepted source/test payload is preserved. Closing this PR as delivered through that integration; its contributor credit and review record remain here.

orbitingflea pushed a commit to orbitingflea/complexitylib2 that referenced this pull request Oct 29, 2026
…b-community#1570)

* feat(exactTriangle): relate lopsided queries and matrix products

Adapt the finite counting interface and signed digit expansion from anthropics/formal-math@16a5ce4 for milestone cslib-community#1438. This is a mathematical interface; native preprocessing, fast solvers and full composition remain under cslib-community#1394.

* feat(exactTriangle): prove modular counts and the selected-prime bound

* doc(threeSum): cite the lopsided triangle paper and clarify adaptation scope

* doc(bibliography): sort the new paper entry

* fix(exactTriangle): repair the prime-window header and hashing documentation

* feat(exactTriangle): split modular queries and recover witnesses

Adapt the complete finite Theorem 17 splitting and recovery component, using the existing three weight matrices, lopsided graphs, modular counts and EqOn answer interface. Prove exact integer/real capacity bridges so the finite constructions and scans are computable. Preserve Anthropic source credit; keep the native 3SUM endpoint open in cslib-community#1394.

Validation: all six gates in scripts/check.sh pass, with LEAN_NUM_THREADS=1 and cache downloads disabled after bootstrap. Full hygiene, changed-source check-simp, changed-file lints and git diff --check pass. Curated abstracts and rendering are unaffected. AI-assisted implementation/self-review by Codex worker codex-three-sum-splitting-t3-0a4d90c0; independent review will be recorded in the PR.

* doc(threeSum): record finite splitting and recovery milestone

Address the nonblocking review finding on cslib-community#1455: finite residue/chunk/piece splitting and witness recovery are implemented. Preserve native preprocessing, fast solvers, full input/time/width composition and exponent 1.9992 as open work under cslib-community#1394.

Documentation only. Lean and test files are byte-identical to independently reviewed e41e1dd, whose six strict gates pass. Checked the diff, milestone reference, implementation paths, hygiene and changed-file lints. Abstracts and rendering are unaffected.

* refactor(exactTriangle): reuse the natural residue bound and clarify source prose

* feat(wordram): count Chan–He collisions with native histograms

Implement fixed native residue, histogram and composed collision-counting
programs with explicit frames, local word-fit contracts, exact mathematical
collision semantics and charged bound 34n + 5M + 18 (halt excluded).

Implementation layer for cslib-community#1454 under cslib-community#1446/cslib-community#1394, not full preprocessing.
Sorting/frontend, prime searches, heavy extraction, recursion/output and
global logarithmic-width/subquadratic-time composition remain open.
Curated abstracts: no impact on headline statements, definitions or scope.

Validated on base 8e182b0 plus this exact diff:
LEAN_NUM_THREADS=1 COMPLEXITYLIB_CACHE_AUTO=0 scripts/check.sh: all six gates
passed, including strict test/global axiom audit. Changed-file lints against
that base, hygiene --check-simp and git diff --check passed. Final run followed
resolution of shared-host disk/memory pressure; failed earlier attempts are
not counted as validation.

Independent read-only agent correctness/API review by
/root/review_native_histogram approved the final source blobs after replacing
three private clear helpers with WordRAM.clear. No remaining blockers;
optional Count parameter-frame API can accompany its minimum-search client.
This is within-fleet agent review, not outside-coordinator or human approval.
Outside coordinator review is required before integration.

AI assistance: OpenAI Codex implementation/self-review and a separate Codex
review context. Native programs/counting proofs are original; existing
Anthropic mathematical source credit is preserved unchanged.

* fix(wordram): preserve collision-counting parameters explicitly

* feat(wordram): add native radix sorting and multiplicity arrays

Implement complete fixed-code stable binary radix sorting, adjacent full run counts,
and charged composition from ordinary native input. Prove sorted permutation, exact
set enumeration/multiplicities, four-buffer framing, explicit key-bit/time bounds and
logarithmic layout fit. The 81-instruction program uses 16 registers.

Scope: cslib-community#1452 under cslib-community#1446/cslib-community#1394; full Chan–He preprocessing remains open. No Histogram
or ThreeSum/ChanHe changes. Original implementation/proofs; no source machine import.
Curated abstracts and rendering: no impact. Independent review remains requested.

Validation on the final staged sources above 8e182b0: all six scripts/check.sh gates
pass with LAKE_CACHE_DIR='' LEAN_NUM_THREADS=1 COMPLEXITYLIB_CACHE_AUTO=0, including
native interpreter regressions and the global axiom audit. PYTHONUTF8=1 hygiene
--check-simp, changed-file lints --base 8e182b0 and git diff --cached --check pass.
Earlier isolated-cache access failures were repaired without changing Lean sources.

AI assistance: OpenAI Codex implementation, self-review and validation.

* chore(wordram): keep Lean sources non-executable

Normalize the new file modes. Lean source bytes are unchanged from the fully validated 25474f4.

* feat(wordram): compute Chan–He parameters from native input

Implement fixed 24-register parameter code with charged numeric helpers, exact existing Chan–He outputs, preserved input memory, derived logarithmic width and subquadratic native time. Add executed boundary and input-init contract examples. Original implementation and proofs credited to Erik Demaine; AI assistance by OpenAI Codex. Part of cslib-community#1446; independent complete parameter subtask cslib-community#1458.

* fix(wordram): repair parameter proof hygiene and ceiling-log docs

* feat(wordram): implement prime tables and collision minimum searches

Part of cslib-community#1446, tracked by cslib-community#1480. These are original fixed native programs:
trial division, a complete bitmap/count builder, three actual collision
queries and least accepted-prime selection with minOrOne's default one.
The private search-driver query contract is discharged by Query.exec;
there is no assumed primality, counting or acceptance operation.

Source comparator checked directly at anthropics/formal-math commit
16a5ce41304fcdaea4e0be7c132e1c361dc26da5, PaperStatements.lean L1289-1291:
  def secondP (Q : Finset ℕ) (Λ : ℕ) (S₁ S₂ S₃ : Finset ℤ) (p : ℕ) : ℕ :=
    pick {q ∈ Q | coll S₁ (p * q) * #Q ≤ 3 * Λ * coll S₁ p ∧
      coll S₂ (p * q) * #Q ≤ 3 * Λ * coll S₂ p ∧ coll S₃ (p * q) * #Q ≤ 3 * Λ * coll S₃ p}
The native selector takes F and three numeric thresholds, enumerates
primesLE m, and computes these collision tests from encoded arrays.
Existing Cslib coll and minOrOne are reused; source pick is minOrOne.
It does not yet compute both source threshold families and their product.
No source program or machine simulation is imported.

PrimeTable.exec costs (m+1)*(7m+15)+8; Search.exec costs
(m+1)*(34*(n0+n1+n2)+15*F*m+102)+9, each excluding one halt.
Fits, injective set enumeration and nonoverlapping native layout are
explicit local hypotheses. Full frontend/heavy/recursion/packed output,
State.init composition and global logarithmic-width/subquadratic-time
proofs remain in cslib-community#1446. The cslib-community#1394 endpoint and exponent remain open.

Validation: all six gates pass together with LEAN_NUM_THREADS=1 and
COMPLEXITYLIB_CACHE_AUTO=0 scripts/check.sh. Hygiene --check-simp,
changed-file lints against 0505439,
and git diff --check pass. Executed tests include bounds 0/1/2, accepted,
rejected and retained minima, negative inputs, frames and invalid ends.
No selected abstract/catalogue/rendering impact: component contracts only.

Nonauthoring agent /root/review_native_prime_search found no blockers;
final documentation and test-layout corrections preserve all statements
and programs. This is within-fleet agent review, not outside/human approval.
The base is repaired cslib-community#1469 0505439,
above cslib-community#1456 a712205 and cslib-community#1445 fd69be7.
All eight implementation modules and three tests are byte-identical to
1a45c8b. Outside PR review remains
necessary. AI assistance: OpenAI Codex.

* feat(wordram): compute the Chan–He two-prime modulus natively

* feat(wordram): construct native Chan–He node outputs

Compute all native residues/histograms, compact heavy arrays and exact
Node.oneArray cells with a concrete disjoint frame and linear charged cost.
Reuse Count.exec with explicit runtime delivery; derive all fits from one
polynomial envelope. Add executed boundary regressions and admissibility clients.

Validation: all six scripts/check.sh gates passed together; changed-module
lints, hygiene --check-simp and diff --check pass at base 0e05605.
Curated abstracts: no impact. Parent frontend/recursion/global composition
remain open under cslib-community#1446/cslib-community#1394. Implements cslib-community#1481.

AI-assisted implementation and self-review: OpenAI Codex (gpt-6.1-sol).

* fix(wordram): export sorted radix keys from composed contracts

Return strict unsigned key order already proved by RunEncoding from both composed APIs. Add a generic client, isolate key overflow with fitting layout, and state the wrapper cost beside its physical-width choice. Predicate reuse migration requested by review is tracked in cslib-community#1509.

Validation: all six scripts/check.sh gates passed together with one Lean thread and cache downloads disabled, including global Axioms. Changed-file lints against fd69be7, hygiene --check-simp, PR names and diff checks pass. No curated abstract impact. Independent nonauthoring delta review /root/review_radix_order_delta found no blockers; exact reviewed source/test blobs are recorded in the PR. Outside coordinator review remains required. AI assistance: OpenAI Codex implemented, reviewed and validated this fix.

* feat(wordram): implement complete native distinct-position frontend

Compute exact ThreeSum.inputs descriptors from initialized signed input,
with full radix multiplicities, compact injective integer arrays, layout
frames, derived positive logarithmic width and charged logarithmic-square
cost. Preserve the two multiplicity roots and all small input cases.

Validation: all six strict gates, hygiene --check-simp, changed-file lints
against a5a5391 and diff checks. Curated abstracts are unaffected.
Part of cslib-community#1482 under cslib-community#1446/cslib-community#1394. AI assistance: OpenAI Codex.

* fix(wordram): link frontend readback to its native run

Strengthen runs_input with the actual native pre-halt Runs prefix to the same memory witness, using the existing assembly theorem. Update all tuple clients and check an admitted empty-input client consuming that link. Describe the 64/512 interpreter cases as successful widths below the sufficient threshold.

All six scripts/check.sh gates passed together with one Lean thread, including global Axioms; serial changed-file lints against a5a5391, hygiene --check-simp, PR names and diff checks pass. Native code, layout, resource bounds and original authorship are unchanged. Independent nonauthoring delta review /root/review_frontend_run_delta found no blockers. Curated abstracts: no impact. Outside coordinator review remains required. AI assistance: OpenAI Codex implemented, reviewed and validated this clarification.

* feat(wordram): implement the complete native convolution host

Implement milestone cslib-community#1524 above native Params/Fill. Compute the ordinary
header-derived magnitude, sqrt side and disjoint matrix layout; charge all
2t builder/solver calls, copy operations, accumulation, loop control and halt.
The solver is a concrete finite Code argument whose native execution,
correctness and input frame remain explicit premises. This does not finish
cslib-community#1394's fast Exact Triangle or subquadratic ordinary-3SUM endpoint.

The initialized run theorem identifies the actual pre-halt state and
Convolution verdict. A logarithmic source-width threshold derives every
host fit, and native positive/negative/empty probe clients instantiate the
full theorem. Reuse Params, NatSqrt, Fill.Args/exec and the standard compiler.
Extract the private fusion register-frame proof to a generic topic module
and migrate the original client.

Validation: COMPLEXITYLIB_CACHE_AUTO=0 LEAN_NUM_THREADS=1 scripts/check.sh
passed all six gates together, including strict tests/global Axioms.
Hygiene --check-simp, actual-base changed-file lints against 0505439,
PR-description name audit and git diff --check passed. Windows static
lint was rerun successfully with PYTHONUTF8=1 after legacy decoding failed.

Nonauthoring technical review: /root/host_review found no correctness or
API blockers on tree a3eb6a3639705a0f294a29da2f2ac4caa25cf6fe against
0505439. Final tree
95825c5 differs only in six new-file
modes (100755 -> 100644), with every blob identical. Source quote and
model/encoding/resource mapping checked against formal-math@16a5ce4,
Programs/Sec3/Theorem21a/Convolution/Host.lean:60-87. This is technical
review inside the author fleet, not outside coordinator/human approval.

Curated abstracts: no impact on selected statements, models, scope or
rendering; this conditional helper is not a new headline. Outside
coordinator review is required. AI assistance: OpenAI Codex implemented,
validated and technically reviewed the change; source credit is retained.

* feat(three-sum): prove complete native Chan-He root traversal

Checkpoint for cslib-community#1512 under cslib-community#1446. Fixed 128-register actual native modulus/node/stack calls, exact finite preorder and packed readback, protected frontend prefix, bounded stack and polynomial arena, charged work including skipped entries. Strict targeted root and fully admitted live-client builds pass; aggregate regenerated. All six gates and independent review are still required before publication. Full forest/State.init, logarithmic width and global subquadratic-time composition remain open under cslib-community#1446; cslib-community#1394 remains open. Original code and proofs assisted by OpenAI Codex.

* test(wordram): remove disconnected native node checks

Address the blocking cslib-community#1508 review by deleting three arithmetic/layout/injectivity examples disconnected from native execution, retaining real width faults and admitted clients, and dropping unsupported ordering prose. Native code and public library contracts are unchanged. AI assistance: OpenAI Codex.

* refactor(wordram): reuse prime counts and test later acceptance

Address cslib-community#1497 review nits with Nat.primeCounting and Nat.count APIs in place of private duplicate helpers. Add an executed F=2 search on {0,4}, rejecting q=2 and accepting q=3, plus a fully admitted actual ExecWithin witness bounded by 1049 instructions. Native programs and public library statements are unchanged. Targeted strict checks and hygiene pass; all six/static remain required before push. AI assistance: OpenAI Codex.

* test(wordram): drop disconnected radix contract example

Address the nonblocking cslib-community#1465 review finding by deleting the generic sorted-set existential, which did not retain an execution or memory witness. Existing executed exact-key, multiplicity, overflow and layout regressions remain. Native code and public library contracts are unchanged. Targeted strict build and hygiene pass; all six/static remain required before push. AI assistance: OpenAI Codex.

* doc(wordram): explain the Chan-He prime-window interface

Address optional cslib-community#1506 review nits by documenting why the intended preprocessing interface keeps m at least 2, and reflowing the remaining-composition note. Native code and public theorem statements are unchanged. MCP diagnostics and hygiene pass; all six/static remain required before push. AI assistance: OpenAI Codex.

* feat(three-sum): bound charged traversal tree overhead

Bound all native transitions at Chan-He fuel, including skipped entries, by a polylogarithmic tree budget. Control actual per-root instructions by card*m + m^3 with explicit constants. Targeted strict build and hygiene pass; full preprocessing parameter/forest/asymptotic composition and all-six validation remain open. AI assistance: OpenAI Codex.

* feat(three-sum): assemble initialized-input native Chan-He preprocessing

Implementation checkpoint for cslib-community#1446. Assemble actual native frontend/parameters, prime table, stack/table reservations and descriptor-driven root traversal. Prove canonical payload/admissibility/allNodes bridges and shifted magnitude size estimates; execute the complete empty-input program. Targeted strict checks and hygiene pass, aggregate regenerated. Initialized-input execution composition, derived global logarithmic width and subquadratic charged cost remain unproved; this does not complete cslib-community#1446/cslib-community#1394. AI assistance: OpenAI Codex.

* doc(wordram): record complete bounded Chan-He traversal scope

* feat(wordram): complete initialized Chan-He preprocessing

* refactor(wordram): place signed fit and count frame APIs with their models

* fix(wordram): resolve native preprocessing review findings

* style(three-sum): align native host test bindings

Address the optional indentation finding in PR cslib-community#1531's outside review at
e4d2fa0. Only three leading spaces change
in the private probe_spec test; all non-whitespace source characters are
identical. Native programs, public contracts, models and costs are unchanged.

Validation: all six strict gates together, including global Axioms;
actual-base changed-file lints, citation/simp hygiene, PR-name and diff checks.
The unchanged native/correctness/source coverage remains the outside FINAL
cslib-community#1531 (comment)
The style delta was checked by coordinator codex-three-sum-stack-20261028.

Curated abstracts: no impact on statements, scope or rendering. AI assistance:
OpenAI Codex prepared and validated this style-only correction.

* refactor(wordram): reuse list blocks in fusion-tree representation

* feat(3sum): compose native preprocessing and convolution hosts

Compose actual initialized Chan-He preprocessing and every caller-safe
Convolution call through a concrete certified finite ET block. Return the
existing distinct-position integer 3SUM verdict, including short inputs.
Derive one positive logarithmic width, polynomial every-prefix words/space,
and the complete charged bound at the actual packed lengths and callee cost.
Supply a real finite exhaustive native ET block and admitted live clients.

Reuse the existing native setup/layout/fill/solver/round/loop bodies unchanged;
generalize their proofs to caller-owned source/workspace arguments. Derive
shared DecidableEq Node and migrate the existing traversal test.

Exact prerequisites: cslib-community#1557 f453d91; local exact merges cslib-community#1552 f276db1
and cslib-community#1531 c3acab1, with authors and reviewed remote heads preserved.
Source pin: anthropics/formal-math@16a5ce4.
Underlying finite reductions/builders retain Anthropic credit. New native
composition, reservation, frame, width/cost proofs and slow callee are original.

Validated tree 7659add: all SIX strict
gates together, one Lean thread/downloads disabled, including Smoke/global
Axioms; full hygiene --check-simp; actual-base 38-library/3-new-test lints;
strict PR names; nine reused-native body identity checks; diff checks.
Curated abstracts have no impact. The fast backend and final 1.9992 endpoint
remain cslib-community#1394. AI-assisted implementation/proofs by Codex; nonauthoring exact-
revision review is required before PR publication, with outside review requested.

Refs cslib-community#1559

* fix(imports): deduplicate aggregate after counting integration

* fix(imports): deduplicate aggregate after query-splitting integration

* doc(3sum): clarify caller-prefix preservation

Apply root coordinator's sole comment correction after the nonauthoring
ordinary_host_review: exec_round_at protects the prefix below workspace,
including the supplied input, rather than universally preserving header zero.
All comment-free tokens match reviewed e1858e0.
Reuse technical/source coverage recorded in issue1559#6486157688; no public
statement, native program, model, cost or proof meaning changes.

Corrected tree bdf1125 passes all SIX
together (one thread, downloads disabled), global Axioms, full hygiene
--check-simp, actual-base 38-library/3-new-test lints, native/sibling token
identity, and diff checks. Curated abstracts remain unaffected.
Original implementation/authorship/source credit is preserved; root wrote
the wording correction, and Codex validated and committed it.

Refs cslib-community#1559

* fix(imports): regenerate aggregate after Chan-He parameter integration

* test(3sum): address native host review nits

Remove the final signature-only theorem application from the decision test;
all concrete interpreter and admitted positive/negative clients are unchanged.
Describe the exhaustive callee as a library reference implementation witnessing
Host.Callee, and identify the umbrella module's re-exported API.

Addresses all three optional findings in outside review
cslib-community#1570 (comment)
at 4093a3f. This validated coordinator
fix is documentation/test-only. Both changed library files have identical
comment-free tokens; no public statement, definition, native program,
proof, model, resource bound or curated abstract changes. Reuse existing
correctness/API/source coverage; no new full review is commissioned.

Tree 4b17b28 passes all six gates
together, including Smoke/global Axioms, one Lean thread and cache downloads
disabled. Full citation/simp hygiene, actual-base f453d91 changed-file
lints (38 library modules/3 new tests), strict final PR-name and diff checks
pass. Library token identity and exact test-deletion audit pass.

AI-assisted coordinator fix by Codex. Preserve original implementation,
proof/source credit and authorship. Full fast backend/exponent 1.9992
remains open in cslib-community#1394.

Refs cslib-community#1559

* perf(three-sum): check native query tests within default heartbeats

* perf(three-sum): run modulus instance within default heartbeats

* perf(wordram): reduce native parameter proof heartbeat budget

* chore(wordram): scope measured parameter proof budget to reduction task

* chore(wordram): regenerate frontend integration imports

* doc(three-sum): reconcile inherited preprocessing milestone status

* chore(wordram): refresh frontend imports after landed main

* doc(roadmap): restore tensor milestone reference

* doc(roadmap): separate native Chan-He progress from tensor work

* doc(roadmap): separate initialized frontend progress and references

* doc(wordram): restore preprocessing resource and API handoff details

* doc(3sum): align completed native milestones and remaining fast endpoint

---------

Co-authored-by: Codex coordinator <codex@users.noreply.github.com>
Co-authored-by: Samuel Giuseppe Schlesinger <sgschlesinger@gmail.com>
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.

feat(wordram): compute the exact Chan–He two-prime modulus natively

4 participants