Add occurrence_i_rigor.md — third independent verification of Paper I#18
Merged
Conversation
Independently re-implements the Cayley-Dickson doubling from scratch
(no shared code with topographo or the cabarius review) and confirms:
- quadratic identity, L_x antisymmetry on random pure elements
- the 84-element basic crack
- the full Phi spectrum and multiplicities, matching cabarius exactly
- trace(Phi)=0, unitality
- No-Autonomy's two load-bearing dimension counts, independently:
Lie closure of {L_x : x pure} = dim so(16) = 120
associative envelope of {L_x : x pure} = dim End(R^16) = 256
No discrepancies found. Scope is deliberately narrower than the cabarius
review in the stochastic layer (s*, lambda_q not re-simulated here) --
see Section 3 for what this pass does not cover.
… more ways Addresses a primary-source concern (Bench, from raw session material, not from this repo): an unreplicated N=1000,T=30,1-seed run appeared to show swapping event/state slots gives a real asymmetry, contradicting Prop 4.2. - Exact trajectory-level coupling: conj(z_t)-driven swapped chain matches conj(x_t) of the standard chain at every step, max deviation 0.0 over 200 steps. Prop 4.2 holds pointwise, not just on average. - 5-seed replication of the exact original conditions: diffs of 0.02/0.35/0.69/0.85/1.66 sigma, sign flips across seeds -- consistent with the original single-run gap being noise, not signal. - Larger-scale replication (N=8000,T=400,burn=100,3 seeds) with proper survival-conditioning (this chain's negative Lyapunov exponent causes float64 underflow past t~500 at N=8000 without it -- documented, not a bug, matches the paper's own stated death-rate handling in Sec 5.6): same null result, spine share matches cabarius's 0.131745+/-0.000041. - Flags one open discrepancy (measured death rate ~2-2.4e-4/step vs the paper's stated ~1.0e-3/step) as unresolved, not swept under. - Notes a benign representational artifact (the 84-point crack list isn't conjugation-closed as a SET under this review's sign convention; has no effect on any statistic since spine share is sign-invariant). Verdict: Prop 4.2 is correct. The primary-source concern was a single-run sampling artifact.
…- three hypotheses tested and ruled out Bench (5B) reasonably suggested the ~2-2.4e-4 vs paper's stated ~1.0e-3 per-step death-rate gap might resolve the same way Prop 4.2 did (small- sample noise). Tested that directly instead of assuming it: 1. N-sweep (200 to 20000, T=30): no drift toward 1e-3; noisy but centers near 2-4e-4 throughout; even the noisiest low-N point (4.3e-4 at N=1000) sits ~2.3x below target with error bars that don't reach it. 2. Death-tolerance sweep (1e-12 to 1e-1, ten orders of magnitude): completely flat at 2.1687e-4 from 1e-12 through 1e-2. Deaths are a hard collapse to exact 0.0 in one step, not graded -- so tolerance convention isn't the explanation either. 3. Long-horizon time-resolved rate (N=20000, T=800): rises mildly then plateaus at ~2.2-2.6e-4 by t~150-200 and stays there through t=800. No late-time climb toward 1e-3. Unlike Prop 4.2, this one does not resolve as noise. Flagged as a genuine open discrepancy with untested remaining hypotheses (different initial- condition convention; float32 vs float64 in the original; a transcription error in Sec 5.6, which unlike its neighbors s* and lambda_q carries no stated seed count or run size).
…fference, exactly reproduced Bench (7B) located the exact originating run in the raw session transcript and found the mechanism: the original runchain never removes a trajectory. On annihilation it resamples the event and continues (a while-loop), and its 'deaths' counter accumulates annihilation ATTEMPTS over an ensemble in which no one ever dies. This review's survival-conditioned protocol instead permanently removes annihilated trajectories -- a genuinely different, lower rate, because the surviving population is selection- biased away from the highest-risk states that resampling keeps re-exposing. Implemented the original protocol exactly (84-crack events, x0=e0 for every trajectory -- not isotropically random, as this review had assumed -- N=25000, T=120, threshold 1e-12, resample-on-death, counting attempts) and reproduced the paper's figure precisely: seed 9 (original session's seed): 0.00101 -- exact digit match seeds 1-4: 0.00101-0.00103 This is not approximate agreement -- it's exact reproduction of a specific number once the actual protocol (not the assumed one) is used. The 4-5x gap between 1.0e-3 and ~2.2e-4 is not a discrepancy: it's two correct measurements of two different observables. Confirms the float32 hypothesis is dead (original module is float64 throughout, grep-verified) and notes all of this review's death-rate work used the discrete 84-crack sampler exclusively, not the continuum measure (a third, distinct mechanism, unmeasured here). Recommends a specific rewording of Measurement 5.6 naming both observables side by side, matching the correction style already established by occurrence_i_cabarius.md.
…observables Applies the correction recommended by the independent review in verify/occurrence_i_rigor.md (§6.3.2). The stated 1.0e-3/step figure and the review's ~2.2e-4/step measurement are two correct measurements of two different observables, not a discrepancy: - 1.0e-3/step is an annihilation-ATTEMPT rate measured under event-resampling (no trajectory is ever removed; the counter accumulates attempts, including while-loop repeats). - ~2.2e-4/step is the MORTALITY rate of a survival-conditioned ensemble, lower because survivorship selects the population away from the highest-risk states that resampling keeps re-exposing. Names both side by side and supplies the provenance (N=25,000, T=120, single seed) that this constant alone lacked among its neighbors, matching the correction style already established by occurrence_i_cabarius.md. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third independent verification pass over Paper I's computational claims, re-implementing Cayley–Dickson doubling from scratch (no shared code with
topographoor thecabariusreview — three independently constructed 16×16×16 structure tensors now agree). Addsverify/occurrence_i_rigor.mdplus four self-contained scripts, and applies the one paper correction the review recommends.What reproduces (§1)
Quadratic identity,
L_xantisymmetry, the 84-element crack, the full Φ spectrum + multiplicities{1,14,21,42,100,42,21,14,1},trace(Φ)=0, unitality. The incremental contribution is the No-Autonomy dimension counts (Theorem 3.8):{L_x : x pure}generates all of 𝔰𝔬(16) (dim 120) under commutation and all of End(ℝ¹⁶) (dim 256) under multiplication — computed by brute-force basis extension, not by citing the theoretical count.Proposition 4.2 — slot-handedness is gauge (§6)
Resolves a primary-source concern that an unreplicated N=1000/T=30/1-seed run showed a non-gauge asymmetry (spine share 0.13240 vs 0.13761).
max_t ‖y_t − conj(x_t)‖ = 0.0over 200 steps — Prop 4.2 holds pointwise, not just in distribution.Death-rate figure — investigated and RESOLVED (§6.3)
The review's ~2.2×10⁻⁴/step vs the paper's stated 1.0×10⁻³/step is not a discrepancy — it's two different observables:
Implementing the original protocol exactly (x₀=e₀, N=25,000, T=120, resample-on-death) reproduces the paper's 0.00101 to the digit on the original seed. The float32 hypothesis is ruled out (original module is float64 throughout).
Included paper correction
The final commit rewords Measurement 5.6 in
occurrence-theory.mdto name both observables side by side and supply the provenance (N, T, seed) that constant lacked — matching the correction styleoccurrence_i_cabarius.mdalready established.Scope (§3)
Does not re-simulate the s*/λ_q stochastic layer (cabarius covers it); takes
Aut(𝕊)=G₂×S₃and the G₂/SU(2) identification as cited.Verification
All results reproduced locally on this branch:
0.000e+000.00101(exact digit match)Scripts are reviewer-independent (no
topographoimport), consistent withverify/README.md.Reviewer: Claude (Rigor), on behalf of Ernest Prabhakar.
🤖 Generated with Claude Code