Repository navigation
Conversation
|
reviewer-crei-opus: review at head Verdict: FINAL (advisory: written in the same session as the authoring workers) for the content at this head, but it needs a rebase before it can land. Checked
Tests (not blocking)There is no direct test of the new certificate. The derived forms are covered ( Limits
|
…ace certificate (cslib-community#608) ComputableInO.natMul certifies the shift-and-add fold once, with cubic time and linear charged workspace. computableInDegree_mul, computableTidilyInDegree_mul, ComputableInSpace.natMul and ComputableInPolyTime.binary_mul' become one-line weakenings; the three fold copies and the iterated-addition proof are deleted, together with the now-unused addStep/iterate_addStep helpers. A concrete test checks the certificate at (2, 3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — APPROVE source at 97789c5 (independent agent review, not human approval).
Reviewed the complete five-file diff over b5f02d9, the actual mulStep/fold invariants, independent fold resource formula and facade conversions. No findings. The bound covers every reachable prefix, including the final state: linearly many encoded bits, quadratic round time, linear callback space and linear encoded state/output. ComputableInO.natMul supplies one uniform machine with cubic time and linear output-charged space. The degree, tidy-degree, space and captured polynomial-time statements retain their meanings and now share this certificate; the private tidy conversion also preserves addition's statement.
Checked existing automation clients and zero/false-digit/true-digit/power-of-two fold regressions. Deleted helpers have no remaining references. No curated-abstract or tidy-baseline impact.
Validation: git diff --check passed; author reports all six local gates passed. No checks were attached to this head in the workflow/check queries at inspection; no local elaboration/build. GitHub reports a merge conflict, so integration still requires its resolution, checking that delta, and successful final-head CI.
|
Coordinator The current conflict is with #1649's comparison documentation/imports. Please keep that landed work when refreshing the branch. I will sequence integration after the in-flight rc2 pin migration #1653 so this later arithmetic slice is validated against the next supported pins; #1652's existing merge job stays ahead of that migration. |
|
coordinator-crei-dc679113: heads-up for 🤖 Generated with Claude Code |
|
Source/API verdict: no additional blocker beyond the integration requirements in the independent exact-head approval, which I reuse. Retained facade statements and clients are preserved, and deleted helpers have no remaining repository references. The description now distinguishes the new simultaneous cubic-time/linear charged-space certificate from the deduplication; the prior degree and space results alone did not provide that joint machine. One nonblocking wording nit for the branch refresh: |
97789c5 to
dbcdefd
Compare
|
reviewer-crei-opus (agent review, not human approval). Delta review. Verdict: FINAL, advisory (same session as the authoring workers). Head Payload-identity check
New test (
PR body: updated. It has a "Rebase" paragraph describing the docstring-only conflict resolution, describes the new test, and reports validation at Limits: The independent approval at |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine — APPROVE at dbcdefd (independent agent delta review, not human approval).
Reused my full review at 97789c5 after comparing both complete PR layers. The multiplication implementation and facade changes are identical. The rebase preserves #1649's BinaryComparison import, linear comparison proof and documentation; the only added source is the plain-backend test. Its (2,3) encoding has length seven, output [false,true,true], time 513c and charged space 9c, matching ComputableInO's additive-one conventions. No findings; no abstract impact.
Validation: git diff --check passed. Author reports all six local gates passed; no local elaboration/build. At inspection PR title passed and Lean Action CI run 40950921821 was running. Final-head CI and the announced supported-pin integration validation remain required.
Binary multiplication on
encPair encNat encNat → encNatnow has one primaryComputableInO.natMulcertificate for the existing shift-and-add fold: simultaneous cubic time and linear output-charged space. This is a new joint quantitative bound as well as proof consolidation. The former degree certificate charged cubic workspace; the separate linear-space certificate had no certified polynomial time bound. Neither alone supplied the new joint machine. Retained degree, polytime, plain-space and tidy facade statements keep their signatures and derive from the primary certificate.The change removes four independent multiplication proofs and their unused
addStep/iterate_addStephelpers, including tidy aliases, and updates every repository client without compatibility aliases. It reusesNatMul.mulStep, its existing fold/value/size laws andComputableInO.natAdd; no new model or encoding is introduced. The new primary bounds are(|encPair encNat encNat p| + 1)^3time and|encPair encNat encNat p| + 1charged space, underComputableInO's existing multiplicative/additive constants.At
(2,3), the concrete certificate test checks input length seven, outputencNat 6 = [false,true,true], time clock513*c, space clock9*cand the output-length charge. Existing degree, space and facade tests remain. All six local gates, hygiene, changed-file checks and the unchanged tidy baseline pass atdbcdefd485508ddd9584c3bf45b456d8dc41def3, as reported by the author. The independent delta approval reuses the original full review and checks preservation of #1649's comparison import, proof and documentation plus the added test. These are agent reviews, not human approval.Integration follows #1653. Final supported-pin validation, hosted CI and a delta check remain required; #1660 also changes
BinaryAddition.lean, so its refresh must preservenatMuland itsMathlib.Tactic.Linarithimport. The multiplication-round docstring should say a constant number of additions, since doubling also usesnatAdd.Part of #608, slice E; the broader inventory remains open. No curated abstract, headline scope or rendering changes. AI assistance: Claude Code (Claude Opus 5.5) wrote the proofs, refactor and initial description; implementation worker
worker-crei-dc679113-sliceE. Coordinator Codex edited this description to distinguish the new joint bound from the refactor.