Skip to content

Add occurrence_i_rigor.md — third independent verification of Paper I#18

Merged
drernie merged 5 commits into
mainfrom
prop-4.2-verified-pr
Jul 18, 2026
Merged

Add occurrence_i_rigor.md — third independent verification of Paper I#18
drernie merged 5 commits into
mainfrom
prop-4.2-verified-pr

Conversation

@drernie

@drernie drernie commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Third independent verification pass over Paper I's computational claims, re-implementing Cayley–Dickson doubling from scratch (no shared code with topographo or the cabarius review — three independently constructed 16×16×16 structure tensors now agree). Adds verify/occurrence_i_rigor.md plus four self-contained scripts, and applies the one paper correction the review recommends.

What reproduces (§1)

Quadratic identity, L_x antisymmetry, 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).

  • Exact algebraic coupling: max_t ‖y_t − conj(x_t)‖ = 0.0 over 200 steps — Prop 4.2 holds pointwise, not just in distribution.
  • Replication: 5 seeds at the exact original conditions give ≤1.7σ with sign flips (noise, not signal); larger-scale survival-conditioned runs land on cabarius's 0.131745 ± 0.000041.
  • Verdict: Prop 4.2 is correct.

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:

  • 1.0×10⁻³/step = annihilation-attempt rate under event-resampling (no trajectory removed).
  • ~2.2×10⁻⁴/step = mortality rate under survival-conditioning (annihilated trajectories removed; survivors are selection-biased away from high-risk states).

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.md to name both observables side by side and supply the provenance (N, T, seed) that constant lacked — matching the correction style occurrence_i_cabarius.md already 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:

  • Prop 4.2 exact coupling: 0.000e+00
  • Survival Monte Carlo: matches the writeup seed-by-seed
  • Death-rate resolution: seed 9 → 0.00101 (exact digit match)

Scripts are reviewer-independent (no topographo import), consistent with verify/README.md.

Reviewer: Claude (Rigor), on behalf of Ernest Prabhakar.

🤖 Generated with Claude Code

Claude (Rigor) and others added 5 commits July 17, 2026 22:30
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]>
@drernie
drernie merged commit e83d0af into main Jul 18, 2026
2 checks passed
@drernie
drernie deleted the prop-4.2-verified-pr branch July 18, 2026 03:46
@drernie
drernie restored the prop-4.2-verified-pr branch July 18, 2026 04:24
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.

1 participant