Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions notes/probe-Mhalf-vs-shape-main-rerun-20260908.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# probe #625 re-run on main — M(1/2) vs shape Z (2026-09-08)

**Variant:** this is a fresh verification on a clean Mac clone of `main`,
NOT a re-do of the merged #629 probe. Relationship to prior work:

- PR #629 (`probe/625-mhalf-vs-shape` @ `ac0bb20a`) was **merged into main**
on 2026-09-07; the D1–D3 probe programs and results live on main.
- The original D4 (`scripts/probe/bond_L3_Z.py`) enumerated 2^18 bond
configs. This re-run is **Mac-budgeted to NOT enumerate 2^18**: D4 here
imports the repaired bond census from PR #653
(`repair/632-bond-lab-and-wrapping-l3l4` @ `7109b174`,
`results/probe-invariant-shape/census-exact.json`; main's copy is the
pre-#632-repair one with `dual_fail=118133`) and derives the D4 verdict
from the 3-count census arithmetically. Nothing is enumerated beyond 2^9.
- Game B site L=3 (2^9) and the L=4 spot checks were run locally; all
numbers below were **reproduced on this machine** and match the values
committed on main (bit-identical floats in the JSONs).

## D5 verdict

```text
W4 at L=3,4: KILLED
evidence: Game B L=3, exact: on the m-pinned line F_lambda(p)=1/2
(m = E_lambda[r_b]-1 = 0 EXACTLY for every lambda = e^beta),
Z(0.5; anchors 0.1/0.9) sweeps
0.73817 (lambda=1/16) -> 0.54242 (lambda=1) -> 0.32192
(lambda=16); interior-u spread over the 11-point grid =
0.416 (a1/a9), 0.271 (a2/a8). L=4 spot (lambda = 1, 5/2,
2/5): spread 0.178. Both ~4e7 x the 1e-8 tolerance.
Z_3 vs Z_4: ||Z_3-Z_4||_inf on {0.1..0.9} = 0.0161 (anchors 0.2/0.8);
at p_L^H |delta| = 0.0066, at p=1/2 |delta| = 0.0837
(the same-p row separates because M(1/2) != 0:
-21/64 at L=3, -13757/32768 at L=4).
bond vs site: INCOMPARABLE — bond X-law at p=1/2 is 3-atom
(0.28786, 0.42429, 0.28786); inverse-CDF is a staircase;
Z_bond undefined by the probe's own rule; jumps recorded.
Census imported from PR #653 (dual_fail=0, M(1/2)=0 exact,
P(r=0)=P(r=2) exact — duality-oddness checked from counts,
not assumed).
```

## What was run here (all exact rational arithmetic)

- **D1 precondition** (imported from main's `mhalf_common.stream_joint`):
Alexander `r_b + r_w = 2` asserted on the stream at L=3, L=4 — holds
(`dual_fail=0`). Precondition, not a headline.
- **D2** `scripts/probe/mhalf_Z_physical_tables.py` (main's, unmodified):
reproduced `p_L^H = 0.586511455113` (L=3) / `0.590672112331` (L=4),
`M(1/2) = -21/64` / `-13757/32768`, `F(1/2) = 43/128` / `19011/65536`,
`||Z_3 - Z_4||_inf = 0.0161`, self-symmetry rows
`Q(u)+Q(1-u)-1` (max 0.1712 / 0.1803 vs `2p_L^H - 1` = 0.1730 / 0.1813).
- **D3 Game A** (L=3 fake law, `m` pinned at -21/64 exactly): shape still
swings, spread 0.667 — the easy game fails too.
- **D3 Game B** (the game that matters; site L=3 = 2^9 configs, Mac-OK,
full 11-point lambda grid; L=4 spot at lambda = 1, 5/2, 2/5):
monotone guard asserted before every inversion; `m` pinned at 0 on the
whole lambda family; `Z` not pinned. **W4 dies for the physical
interpolation.**
- **D4 (imported, no 2^18 here)** `scripts/probe/bond_L3_Z_imported.py`:
validates the imported census (configs = 2^18, counts sum, dual_fail=0),
checks `M_bond(1/2) = P(r=2) - P(r=0) = 0` exactly and `P(r=0) = P(r=2)`
exactly from the counts, reports the 3-atom jumps and
`P(r >= 1)(p=1/2) = 0.712142944` (census-derivable). The median-crossing
`p_wrap = 0.419649` needs the full enumerated `F_bond(p)` and is cited
from main's committed `bond_L3.json`, not recomputed.
- **Tests:** `python3 tests/test_probe_mhalf_vs_shape.py` — 5 fast OK,
1 slow skip (Python 3.13.7).

## Deliverables in this PR (all new; 0 modified, 0 deleted)

- `notes/probe-Mhalf-vs-shape-main-rerun-20260908.md` (this file)
- `scripts/probe/bond_L3_Z_imported.py` (D4 from imported census)
- `results/probe-Mhalf-vs-shape/bond_census_imported_653.json`
(imported #653 census, provenance-recorded)
- `results/probe-Mhalf-vs-shape/bond_L3.json` (regenerated in imported mode)
- `results/probe-Mhalf-vs-shape/physicalZ.json` (reproduced, bit-identical)
- `results/probe-Mhalf-vs-shape/gameAB.json` (reproduced, bit-identical)
- `results/probe-Mhalf-vs-shape/latest.json` (v2 index for this variant)

## Standing

Does not enter `docs/STATUS.md`. Closes nothing (#606, #619, #622, #608,
#625 all stay open). Does not merge. Census numbers are inputs, not
deliverables. No ninth mechanism, no exponent, no `L^-theta` fit.
35 changes: 18 additions & 17 deletions results/probe-Mhalf-vs-shape/bond_L3.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
{
"L": 3,
"M_bond_half_by_rank_counts": "0",
"M_bond_half_exact": "0",
"P_r_at_half": {
"0": 0.2878570556640625,
"1": 0.424285888671875,
"2": 0.2878570556640625
},
"X_law_at_half_jumps": {
"M_half": "0",
"M_half_float": 0.0,
"P_r0_eq_P_r2_exact": true,
"P_wrap_at_p_half": 0.7121429443359375,
"P_wrap_at_p_half_frac": "46671/65536",
"X_law_jumps": {
"P(X=+1)=P(r=2)": 0.2878570556640625,
"P(X=-1)=P(r=0)": 0.2878570556640625,
"P(X=0)=P(r=1)": 0.424285888671875
},
"Z_bond_undefined": true,
"bonds": 18,
"Z_undefined": true,
"Z_undefined_reason": "X-law at p=1/2 is 3-atom on {r-1 in {-1,0,1}}; inverse CDF is a staircase, not strictly increasing",
"bond_vs_site": "INCOMPARABLE at L=3: different edge sets (18 bonds vs 9 sites), different N, and Z_bond undefined; Z_site well-defined",
"cited_from_full_enumeration": {
"p_wrap_median_crossing": 0.41964924845800616,
"source": "main results/probe-Mhalf-vs-shape/bond_L3.json (2^18 enum, 3.3 s)"
},
"configs": 262144,
"duality_odd_checked": true,
"imported_from": "PR #653 (repair/632-bond-lab-and-wrapping-l3l4 @ 7109b174)",
"imported_sha": "PR #653 (repair/632-bond-lab-and-wrapping-l3l4 @ 7109b174)",
"issue": 625,
"note": "rank convention = #608/#627 bond ambient rank (single-BFS lift); Cov(O,X)=P(r=2)=Var(X)/2 identity imported from #627 C6 as the same-r sanity check, not re-derived",
"p_wrap_half": 0.41964924845800616,
"mode": "imported-census (PR #653), no 2^18 enumeration on this machine",
"rank_counts": [
75460,
111224,
75460
],
"schema": "matching-one.probe-mhalf-vs-shape.bondL3.v1",
"seconds_enumeration": 3.3,
"seconds_total": 3.4,
"verdict_comparability": "INCOMPARABLE: the bond X-law at p=1/2 is the 3-atom measure ((r-1) in {-1,0,1}); its inverse-CDF is a staircase, so Z_bond is undefined by the probe's own rule. Site Z exists. The self-dual checks that DID run: M_bond(1/2)=0 exact and P(r=0)=P(r=2) exact."
"schema": "matching-one.probe-mhalf-vs-shape.bondL3.v2",
"seconds": 0.0
}
38 changes: 38 additions & 0 deletions results/probe-Mhalf-vs-shape/bond_census_imported_653.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"imported_from": "PR #653 (repair/632-bond-lab-and-wrapping-l3l4 @ 7109b174)",
"imported_path": "results/probe-invariant-shape/census-exact.json",
"import_date": "2026-09-08",
"importer": "issue #625 re-run on main (this PR); no 2^18 enumeration performed on this machine",
"note": "main's census-exact.json bond block is the pre-#632-repair one (dual_fail=118133); this is the repaired census. The fix itself is #653's change; only the numbers are imported here as the D4 bond input.",
"census": {
"schema": "matching-one.probe-invariant-shape.census.v1",
"bond": {
"3": {
"bonds": 18,
"configs": 262144,
"dual_fail": 0,
"rank_pair_counts": {
"0,2": 75460,
"1,1": 111224,
"2,0": 75460
},
"M_half": "0",
"M_half_float": 0.0,
"Q_quarter": 0.3882947252165274,
"Q_threequarters": 0.6117052747834726,
"Z_levels_float": [
-0.4351929790516855,
-0.12188426707886556,
0.11038357169268018,
0.31127822617880646,
0.4999999999999995,
0.688721773821193,
0.8896164283073188,
1.1218842670788656,
1.435192979051685
],
"self_dual_p_half": 0.5
}
}
}
}
Loading
Loading