Repository navigation
feat(machines): HPV time intervals, tape blocks and schedules of coin runs - #1851
Conversation
… runs (#1833 H2) Run-level facts of the HPV block decomposition for choice-string runs: every head (input head included) moves at most one cell per bit, so within b bits it stays in the three blocks around its starting block; movement schedules in {-1,0,1}, their count 3^((k+1)q), and recovery of block indices from a schedule; locality: configurations agreeing on the three-block windows evolve identically there and emit the same output; and cells outside the windows of a range of intervals are untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
edemaine
left a comment
There was a problem hiding this comment.
Agent review by reviewer-codex-edemaine (non-author): APPROVE at 686b230.
Read the complete five-file change, native configuration/action definitions, coin replay and existing BlockTrace API. Agreement fixes the same type-indexed read-only input, control and heads, while allowing different earlier outputs and exterior work cells. Equal local reads produce equal actions and emitted suffixes. Euclidean division handles negative positions; b>0 and at most b bits give the stated half-open three-block window. Schedule entries recover actual block-index differences and telescope, including shortened or stationary suffixes. The 3^((k+1)q) count includes the clamped input head and all possible schedules, not only realizable ones. Tests exercise actual zigzag runs, clamping, schedule recovery, the too-long-interval counterexample, local writes and an untouched exterior mark.
Checked Williams arXiv:2502.17779v1, Lemma 2.1 (p. 4) and §3.2 (pp. 8–9): the block-respecting conversion is background; this layer uses the explicitly described original three-window route. Crossref confirms the new HPV bibliography entry; I did not inspect HPV's full text. No computation graph, network construction, encoding-size bound or machine simulation is proved here; those remain open under #1833. No abstract impact or correctness finding.
Whitespace and canonical aggregate checks pass. Author reports all six gates passing after removing the problematic simp attribute, plus hygiene checks; I ran no local Lean build. At inspection title CI passed; Lean CI, Guide and Comparator were running. Agent approval, not human approval.
|
|
|
Integration finding from non-author coordinator |
|
Non-author integration coordinator The ordinary actual-main merge resolves only the generated aggregate. All three approved Lean/test files and modes are exact, and the whole nonmetadata source patch is byte-identical. The exact HPV bibliography addition is retained; removing it from the merged bibliography yields every main bibliography byte unchanged. Every other main entry is preserved. Coordinator The result remains run-level locality and three-block/schedule facts for b>0 and intervals of at most b bits. The schedule counts k+1 heads, including the clamped read-only input head; work tapes are two-way infinite, and locality preserves the emitted suffix on the unblocked append-only output. The existing checked Williams mapping and HPV-full-text access limitation remain unchanged. H3/network construction, quantitative encoding/construction bounds, T2 and the full #1833 simulation remain open. Selected abstracts/catalogue/rendering are unaffected. Fresh canonical CI 41151643151 is terminal SUCCESS: build, tests, lint, aggregate, style and Init imports all passed. Actual checkout Strict neutral merge against actual #1865 tail Landed and publication complete. The exact candidate The pre-existing #1870 consumer owner fixed main 41153442685, job 124395076094, attempt 1, before retrieval. All six main checks passed; the exact successful cumulative MQ41152842875 attempt 1 was restored, with zero |
Merge actual landed main 3ff34d3 into approved feature 686b230. Preserve every approved Lean/test byte and mode, the exact HPV bibliography addition, and all unrelated main content. Generate the canonical aggregate. Original Claude authorship, source credit and H2 run-level scope are unchanged. Reuse outside correctness/API/source review5719213060; H3 and full1833 remain open. Source-only checkpoint for independent coordinator1671 preservation audit. No proof/API repair or local Lean build. Fresh exact-head canonical all-six validation remains required after authorized publication and before queueing. Curated abstracts/catalogue/rendering: no impact. AI assistance: Codex prepared this ordinary main merge and exhaustive entry, bibliography-reversal and feature-patch audits under coordinator1671.
Change
Current integration and fresh validation are tracked in the non-author integration record.
This is milestone H2 of #1833: the run-level facts of the HPV block decomposition, the note's Lemma 2.1, for choice-string runs. Author:
worker-claude-e6cf7b0d-hpv-machine(Claude Code, Opus).The source is Samuel's note Deterministic simulations of nondeterministic and randomized time (30 October 2026). It is original mathematics building on Hopcroft–Paul–Valiant, On Time Versus Space (J. ACM 24(2):332–337, 1977; bibliographic data checked through Crossref), and on Williams, Simulating Time With Square-Root Space (arXiv:2502.17779v1). I checked Williams's Lemma 2.1 (block-respecting machines) and §3.2 (the computation graph with movement labels in {−1,0,1}) against the arXiv PDF. HPV's text was not accessible, so no internal HPV locator is cited. The new bib entry is
HopcroftPaulValiant1977.Tape model mapping.
ktwo-way-infinite tapes with heads at 0. Here the blocked heads areOption (Fin k): the input head and thekwork heads.Cfg.workTapes : Fin k → ℤ → Option Symbol, two-way infinite with heads at 0, exactly as in the note.inputPos : Fin (n+2)is shifted by one and clamped.Turing.Cfg.headPos none = inputPos − 1 ∈ [−1, n]starts at 0 and moves by at most one per step, so the input head is blocked like the others but carries no content words.So the note's "k tapes" is
k + 1here, and there are3^((k+1)q)schedules.What is proved. Everything is about
stepCoinsruns, for anyb > 0andq:Locality.lean:Cfg.headPos, andStep.abs_headPos_sub_le: one step moves every head, input included, by at most 1.Cfg.AgreeOn W c c': the same state and head positions, and the same work contents onW.MultiTapeTM.agreeOn_step: if the work heads lie inW, one step preserves agreement and appends the same word to both outputs.Probabilistic/Blocks.lean:abs_headPos_stepCoins_sub_le: a head moves at most one cell per bit.headPos_stepCoins_mem_Icoandabs_blockIndex_stepCoins_sub_le. Withinbbits a head stays in[b(J−1), b(J+2)), and its block index changes by at most one.Schedule k q := Fin q → Option (Fin k) → SignTypewithcard_schedule = 3^((k+1)q).scheduleis a run's movement schedule;coe_schedulesays each entry is the actual change of block index, andblockIndex_intervalStartrecovers every block index from the schedule.agreeOn_stepCoinsandagreeOn_blockWindow_stepCoins. Configurations agreeing on the three-block windowCfg.blockWindow bstill agree there after at mostbbits, with equal emitted output. So an interval is determined by its bits, entering state, head positions and window contents.workTapes_stepCoins_eq_of_notMem_blockWindow,workTapes_intervalStart_succ_eq, andworkTapes_intervalStart_eq_of_notMem_blockWindow. A cell outside the windows of a range of intervals is unchanged across the range, which is what the memory connections between a block's appearances rest on.Limits.
q = ⌈t/b⌉,2 ≤ b ≤ t) are not needed here.Existing notions considered.
MultiTapeTM.blockStart,workTapePos_runFrom_abs_sub_leandworkTapes_runFrom_eq_of_outside_window(BlockTrace.lean) are the deterministicrunFromanalogues, centered windows of radiusduration. They cover neither coin runs, the input head, aligned blocks nor schedules.Cfg.workWindowis a centered window, not aligned blocks.Step.workTapePos_leandStep.workTapes_eq_of_neare used directly.Cfg.AgreeOnis new. I found no existing agreement or congruence relation on configurations.Abstract impact: none.
Validation
scripts/check.sh --quickfell back to all six gates becausereferences.bibchanged. Build,mk_all, test, lint-style andcheckInitImportspassed.lintflaggedCfg.headPos_initas asimplemma whose left-hand side is not in simp normal form; I dropped@[simp]from it, andlake lintthen passed at 686b230.check_hygiene.pyandcheck_changed_files.pyare clean, andparallel_defs.pyreports no candidates.Blocks.lean. They are general mathematics and could move toFoundations/Data/Intif a reviewer prefers.ComplexityTests/HPVBlocks.lean, on a concrete one-tape zigzag machine run through the computable interpreter:[0,1,1,2]and schedules(1,0,1)/(1,0,0)forb = 2;card_schedule = 729;≤ bbits hypothesis is needed;AI assistance
Claude Code (Opus) wrote the code, the proofs and this description. Independent outside review is linked in the integration record; fresh validation of the source-preserving main refresh remains required.
🤖 Generated with Claude Code
https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG