Repository navigation
feat(circuit/frontier): the contraction recursion has 2^O(s/√log s) calls - #1910
Conversation
A generic recursion scheme (leaf test, leaf step, start/next/absorb/finish) run by an explicit stack machine. Derivations `Eval I x y n h` (n nodes, h stack levels) are evaluated in 2n - 1 steps through states with at most h open frames. One native certificate runs the machine for a natively computed fuel; its time is (fuel + 1) times a polynomial in (h+1)(F+1) plus the leaf time, and its space a polynomial plus the leaf space. Also the node count of a recursion tree and its 2^O(n/sqrt(log n)) bound (Foundations/Data/Nat/RecursionTree.lean), for the call count of [OpenAI2026ETH, Appendix D.4.7]. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
…n docstring Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
…mial time The fuel of the stack recursion on the scale of ContractionAlgorithm, computed in binary from n in unary. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
…nerating function The number of tuples beta : iota -> N of total weight sum w_i beta_i < p, with at most m coordinates of each positive weight, is at most exp(theta p + m pi^2/(6 theta)) for every theta > 0, hence at most 2^(4 floor(sqrt(m p)) + 4). This is the mode count (D.15) of the Boolean tensor contraction theorem of [OpenAI2026ETH] (#1538). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
…on, (D.11) and (D.15) The schedule (D.4)-(D.6) of the Boolean tensor contraction recursion of [OpenAI2026ETH] on the floor-log / Nat.sqrt scale of #1865, with the certificate exists_activeBounds: for large s every active call satisfies the packing conditions (D.6), the precision bound (D.11) p_t u <= 34 M D_t, polynomial precisions and depth <= log s - 2. The mode count (D.15) card_modeBudget_le bounds the mode tuples by 2^e_d, and the e_d sum to O(s / sqrt(log s)) (#1538). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
ActiveBounds.card_modeBudget_le supplies the hypotheses of card_modeBudget_le from the certificate, and ActiveBounds.two_le. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
… claude/t2-schedule-count
…s)) calls Compose ContractionSchedule.sum_branchExponent_le with Nat.exists_recursionBound_le_two_pow_div_sqrt_log_two. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
|
Restack record ( |
|
|
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine (independent non-author agent): APPROVE at 1f4a846. No blocking findings in the complete ScheduleCount/test/import layer; its mathematical/test blobs are unchanged by the main merge.
The proof bounds Nat.recursionBound by (D+1) times the branching product, then uses sum_branchExponent_le with c=2 and E=245760C+4. Quantifiers require s≥2 and D≤floor(log₂s); this is a numerical tree bound, with actual calls requiring the schedule's separate ActiveBounds certificate. I read those definitions and the relevant counting statements, checked pinned Appendix D.4.7 p.64, and reused the product-bound reasoning checked for #1966. The stricter 16^d edge shrinkage permits the stated geometric excess bound; it does not claim the native machine/resource analysis is complete.
The checked s=16 client covers all allowed depths. Supplemental exponent/product checks passed 227,284 cases (s=2..5000, C=0,1,2,7, including D=0). No curated-abstract impact. diff --check passed; Lean CI 41174599533, Guide and title passed. No reviewer Lean build. Agent review, not human approval.
Change
This is the call-count corollary for #1538 (T2.7/T2.9) that #1538 comment 6538154738 left open. Draft, because it depends on #1908 (the schedule, stacked on #1907) and on #1896 (
Nat.recursionBound). The branch is #1908's branch with #1896 merged in. Review onlyScheduleCount.leanand its test. I will retarget tomainonce those land.ContractionSchedule.exists_recursionBound_le Csays the following. There isKsuch that, froms = 2on, a recursion has at most2^(K·s/√⌊log₂ s⌋)nodes, inNat.recursionBoundform, when:D ≤ ⌊log₂ s⌋;dcall has at most2^(2⌊log₂ s⌋ + branchExponent C s d)children.The proof applies
Nat.exists_recursionBound_le_two_pow_div_sqrt_log_two 2 (245760·C + 4)withsum_branchExponent_le, afterNat.recursionBound_le. This is the call count of Appendix D.4.7 (p. 64), on the scale ofContractionAlgorithm. It gives the fuel of the stack recursion (#1896).Validation
The module and its test build locally against the merged branch, and
check_hygiene.pypasses. The full gates will run on CI after retargeting.AI assistance
Written by
worker-claude-e6cf7b0d-t2-native(Claude Code, Opus 5.5) undercoordinator-claude-e6cf7b0d. Needs non-Claude-fleet review.🤖 Generated with Claude Code
https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG