diff --git a/.claude/skills/babysit/SKILL.md b/.claude/skills/babysit/SKILL.md new file mode 100644 index 000000000..39a560122 --- /dev/null +++ b/.claude/skills/babysit/SKILL.md @@ -0,0 +1,19 @@ +--- +name: babysit +description: Posture for watching a Math- pull request through CI and review events. Short form; the repository conventions are in the steward skill (`.claude/skills/steward/SKILL.md`), which takes precedence. +--- + +# Babysit: watching a Math- pull request + +Read [`../steward/SKILL.md`](../steward/SKILL.md) first. It holds this repository's conventions: frozen heads, AMEND timing, gates, stacked bases and integration. This file adds only the watching posture. + +- **Never punt.** Every event on a PR you own ends in one of three ways: + - a validated push; + - one comment that names the exact blocker and what is needed; + - a recorded reason that nothing is yours to do, because the PR waits on a reviewer or an integrator. +- **Address every unresolved thread.** Answer each one where it was raised, and resolve the threads you fixed. +- **A failing test is never assumed to be an infra flake.** Reproduce it and root-cause it first (steward §4). +- **A green, mergeable head may wait on people. A red or conflicted head never waits unattended:** fix it, or, while a nonauthor read is open, post its diagnosis (steward §4). +- **Keep the head frozen while a nonauthor read is open**, even when a fix seems obvious or CI is red. Apply it after the verdict, or earlier only if the reader releases the pickup or agrees to re-point (steward §3–§4). +- **Update the PR body's disposition on every material change** (steward §2), and keep the lane's ledger in main#229 current. +- **Stop following a PR** when it is merged or closed, or when Dylan says stop. diff --git a/.claude/skills/steward/SKILL.md b/.claude/skills/steward/SKILL.md new file mode 100644 index 000000000..627a4e7fd --- /dev/null +++ b/.claude/skills/steward/SKILL.md @@ -0,0 +1,129 @@ +--- +name: steward +description: Math- conventions for driving a pull request to a mergeable state. Covers frozen heads while a nonauthor read is open, AMEND timing and readbacks, the packet and Lean gates, stacked-base reconciliation, merge commits only, and integration by a non-author lane. Read before acting on CI, review or merge-state events on a Math- PR that you opened or drive for its author. +--- + +# Steward: driving a Math- pull request + +This skill summarizes rules that bind this repository and records current lane practice from main#229 (for example main#229 5974405061: "The heads stay frozen while a read is open. I apply AMENDs only after the verdict is posted"). A statement tied to a source below restates that source. A statement marked *(practice)* records lane practice only and adds no rule. On any conflict, the sources win. + +It was written against these exact source identities (repository, commit, path, git blob): + +| Source | Repository @ commit | Path | Git blob | +|---|---|---|---| +| Agent entry | Math- @ `61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/AGENTS.md) | `ca2f0fa247f7052c702de9b4f8e595226468c622` | +| Owner stop (historical) | Math- @ `61a67b5` | [`OWNER_STOP.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/OWNER_STOP.md) | `234a579b64140068d28bb7081ce3c2fa9d5e5417` | +| Required-check contract | Math- @ `61a67b5` | [`docs/FORMAL_REQUIRED_CHECKS.md`](https://github.com/d6g8k5htny-coder/Math-/blob/61a67b5dffb5b0b7abe6f14bc96116c54b60ec0c/docs/FORMAL_REQUIRED_CHECKS.md) | `d4440638bc58134e4f1c941bad62203cba8eb37f` | +| Agent entry | main @ `9093629769f40db76f1311d8ee920d5a82a38b89` | [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/AGENTS.md) | `f649d88a8ecd9c6501d3137b5b330985e9c1f701` | +| Current workflow | main @ `9093629` | [`governance/OP-WORKFLOW-20260930.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-WORKFLOW-20260930.md) | `1fdf548377769d3723a43dfb7f441175d930810d` | +| Privacy rule | main @ `9093629` | [`governance/OP-PRIVACY-20260927.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-PRIVACY-20260927.md) | `dd7eca9ff36b19b07338d5ed0a6f1133d2075a81` | + +**Check the live versions too.** They are [Math- `AGENTS.md`](../../../AGENTS.md), [`docs/FORMAL_REQUIRED_CHECKS.md`](../../../docs/FORMAL_REQUIRED_CHECKS.md) and `main`'s [`governance/`](https://github.com/d6g8k5htny-coder/main/tree/main/governance). If a source's blob has changed, the current source governs, and this summary needs a successor revision. + +Cross-lane coordination (claims, ledgers, routing, releases) happens in [main#229](https://github.com/d6g8k5htny-coder/main/issues/229). + +## 1. Identity, roles and credit + +- **One GitHub account carries every lane.** Name the actual performer (provider, agent or session) in every comment and record. The owner-facing attribution for review is "Dylan Roy — delegated AI review", followed immediately by the actual performer, provider, agent and reviewed scope (OP-WORKFLOW-20260930, "Delegated owner review"). Lanes also write "Dylan Roy — delegated AI work" for non-review work *(practice)*. +- **The named integration owner controls branch refresh, readiness changes and the merge** (OP-WORKFLOW-20260930). An author replay is not a nonauthor review (OP-WORKFLOW-20260930), and a self-review does not erase an unresolved AMEND (`docs/FORMAL_REQUIRED_CHECKS.md`). *(practice)* The author does not approve or merge its own PR, and a non-author lane integrates (for example main#229 5974405061: "No merge by this lane"). +- **Independence credit.** + - A same-provider read is useful technical work but earns zero organizational-independence credit, and an author replay is not a nonauthor review ([OP-WORKFLOW-20260930](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/governance/OP-WORKFLOW-20260930.md), "Match verification to the change"). + - Owner statement recorded by Anthropic Claude session `017Mi3hx…` in main#229 comment 5974405061 (Dylan Roy, 2026-10-03, about 23:01Z): "Grok bots can count as a review". That comment applies it to that session's packets: a Grok Bot agent's read counts as a nonauthor, non-Claude review for integration readiness when it is posted in the target PR thread with an explicit pickup that names the head, a PASS / AMEND / BLOCK verdict, and the scope actually checked. The record names the actual performer as `Grok Bot agent N (Grok Bot support agent; non-Claude, nonauthor lane)`. Same-account organizational-independence credit stays 0. Claude reads of that session's packets still do not count. +- **xAI/Grok (including Cursor) agents work here only as support** for the non-Grok lanes, at those lanes' request ([`AGENTS.md`](../../../AGENTS.md)). No self-assigned repository changes, no takeover of another lane, and no restarted timers or loops ([`AGENTS.md`](../../../AGENTS.md); `main` [`AGENTS.md`](https://github.com/d6g8k5htny-coder/main/blob/9093629769f40db76f1311d8ee920d5a82a38b89/AGENTS.md)). The 2026-09-27 stop in [`OWNER_STOP.md`](../../../OWNER_STOP.md) is historical and lifted. Cite only what such agents have published. +- **Never ask Dylan to re-approve autonomy he has already granted.** + +## 2. The PR body is the disposition + +Keep one short current disposition in the PR body: +- the current head and the owner; +- completed review scopes, each linked to its verdict; +- unresolved finding IDs ("none" when none are open); +- validation; +- the next action. + +Update it on every material change. Link evidence rather than copying it. A closed issue or an outdated thread does not discharge an open obligation. + +## 3. Reads, verdicts and AMENDs + +1. **A read starts with a pickup comment** *(practice)* that names the PR, the slice and the exact head SHA. +2. **While a read is open, the head is frozen.** *(practice)* Push nothing to it, not even an optional nit, because that would stale the read. +3. **The verdict is PASS, AMEND (with the exact change) or BLOCK (with the reason)** *(practice)*, followed by the scope actually checked and what was not checked. +4. **Apply an AMEND only after its verdict is posted.** *(practice)* Then: + - push one commit that does exactly what the AMEND says; + - reply on the PR, naming the commit; + - request a byte-diff readback of `old-head..new-head`. + + A readback checks the delta, not the whole packet again. +5. **Optional and non-blocking points never start a push on their own.** *(practice)* + - Reply once (stays as is and why, or rides a later push). + - Carry the plainly correct ones into the next push that changes those files for another reason, or into a stacked successor PR. The reviewed head then stays the one the reads hashed. +6. **Changed reviewed bytes, dependencies or scope invalidate the affected review.** A base-only merge carries a review forward only if a bounded comparison shows that the reviewed slice is unchanged. That slice covers: + - the packet bytes; + - every reviewed dependency (the imported or pinned sources it consumes, and its workflow). + + Fresh integration checks are also needed. If the base changed any reviewed dependency, the affected review needs a successor disposition, even when the packet directory is byte-identical. + +## 4. Checks + +**Required.** `math-downstream-gates` is the required aggregate. It depends on `downstream-replay` and `formal / formal-evidence` succeeding at the tested commit. Packet workflows add their own jobs, for example `certify-and-reject-mutants` for coefficient packets and `kernel-evidence` for the Lean cap packet. A missing, skipped, neutral or cancelled result is not success. Old receipts are never rebound to a new commit. + +**Packet checkers (Python standard library only).** +- Run each checker exactly as its packet's workflow does. Many coefficient packets run `python3 -B -S .py` and `python3 -B -O -S .py` and require output byte-identical to each other and to the packet's `RESULTS.json` (for example `.github/workflows/c8-window-coefficient-planar.yml`); others use their own mode (for example `certificate.py --check` in `.github/workflows/c2-exact.yml`). +- Every mutant must be rejected exactly as that packet's workflow specifies (for example exit code 1 in `.github/workflows/c2-exact.yml` and `.github/workflows/c8-window-coefficient-planar.yml`). If a packet's workflow also requires a JSON `"passed": false`, require it there only; do not add a JSON requirement to a packet whose contract lacks one. +- Follow each packet's actual source-record contract. Some workflows validate `pins_on_main` (for example `c6-tail-constant-certified.yml` and `c8-window-coefficient-planar.yml`); others validate `SOURCE_MAP.json` entries marked `current_required` (for example `c6-hard-direction-factorization.yml`). These checks validate the pinned identities on the checked-out tested tree. If a consumed source changes, reconcile its identity and reviewed dependency scope, then refresh the record as an ordinary reviewed change. Never weaken the check. + +**Lean packets.** Each has its own recipe; use the one in its README and workflow. +- **The cap packet, `frontiers/cap_first_exit_lean_20261002/`**, run from that directory: + - `python3 -B -S gate.py` in source mode; + - `python3 -B -S -m unittest test_gate` and the same with `-O`; + - `python3 gate.py --execute` with the pinned toolchain (`lake` on `PATH`). It builds fresh, replays with `leanchecker`, audits axioms (only `propext`, `Classical.choice` and `Quot.sound` are allowed) and runs three negative controls. All three must be REJECTED. +- **`formal/`**, run from the repository root, as in [`formal/README.md`](../../../formal/README.md) and `.github/workflows/formal-lean.yml`: + - `python3 -m unittest discover -s formal/tests -v`, and the same with `-O`; + - `python3 formal/gate.py` (source only, no Lean); + - `python3 formal/gate.py --execute` after `lake exe cache get` in `formal/`. It fails unless the pinned project builds, `leanchecker` rechecks the package, all 13 declarations have axiom reports restricted to `propext`, `Classical.choice` and `Quot.sound`, and five executable negative controls are rejected. + +After any change to a packet file, update that package's manifest (`MANIFEST.json` for the cap packet, `formal/manifest.json` for `formal/`) as its gate requires and run the source gate again. A kernel-checked build is engineering evidence. It is not an alignment review and not scientific acceptance. + +**Red CI on your PR is work now.** +- Reproduce the failure, root-cause it, fix it in scope, validate locally and push. +- **If a nonauthor read is open when CI turns red, the head stays frozen** (§3.2; main#229 5974405061: "The heads stay frozen while a read is open"). Post one comment on the PR naming the failing check, its root cause and the planned fix. Push the fix after the verdict is posted, or earlier only if the reader releases the pickup or agrees on the PR to re-point to the new head *(practice)*. A red head cannot merge in the meantime, so the freeze costs time, not correctness. +- "Flake" is not a root cause. *(practice)* Re-run at most once, and only when the job died before any test body ran. +- Never skip, disable or quarantine a test. *(practice)* Never push an empty commit. Never close and reopen a PR to restart CI. +- Some certificate replays are long (tens of minutes). Check the job's earlier durations before treating it as stuck, and do not re-run a job that is still running. + +## 5. Branches and pushes + +- **Merge commits only.** *(practice)* No rebase, no amend, and no force-push on a reviewed or shared branch. +- **Change another owner's branch only after an explicit scoped handoff, a release, or a confirmed lease expiry**, followed by a check of its current state. +- **Verify the remote head after every push** *(practice)* with `git ls-remote origin `. +- **Stacked PRs.** *(practice)* When the lower PR merges: + 1. merge `main` into the next branch with a merge commit; + 2. verify by diff that the reviewed slice equals the reviewed head: the packet directory, its workflow, and every pinned or imported dependency it consumes (§3.6); + 3. run the gates again and push; + 4. post one comment stating the byte-identity, so the earlier review carries forward; + 5. retarget the PR to `main` if GitHub has not done so already. + +## 6. Integration (for the integrator, never the author) + +Immediately before merging, read again: +- the current head and base; +- the complete diff; +- the latest reviews and unresolved threads; +- ownership claims; +- the required checks for the current head/base pair. On pull requests they run against the tested synthetic merge commit (`docs/FORMAL_REQUIRED_CHECKS.md`), so a base change needs a fresh run. A result from an earlier head or base is not rebound. + +Merge with `expected_head_sha` and a merge commit *(practice)*. If the branch is behind, update it with a merge commit under a supported expected-old-ref guard, and do not force past a mismatch. If another refresh already produced the same reviewed tree, compare its actual parents and affected source identities and adopt it rather than publishing a duplicate refresh (OP-WORKFLOW-20260930, "Integrate once the evidence is ready"). Confirm that the packet bytes are unchanged, and merge only on a fresh green run. Unresolved engineering AMENDs survive peer merges. Do not bypass protection or simulate another identity's approval. Record an unexpected merge honestly. + +## 7. Never in a packet PR + +- Edit `STATUS`, `PROOF_INDEX`, `GRAPH`, catalog or register surfaces, or create another status register. +- Flip `lemma_closed`, prize or premise flags. Packet PRs have scientific effect NONE. +- Publish private or personal material. Dylan's name and Gmail address are allowed by the privacy rule; nothing else personal is. +- Approve, merge or resolve a thread on another lane's behalf. + +## 8. Comments and records + +- **Check the latest comments before writing.** Be frugal: one comment per round, at the point where it resolves something, raises a real blocker or asks a question. +- **Answer each review thread where it was raised.** Resolve the threads you addressed. +- **Claims name the exact scope and paths**, carry a lease, and are released when the work finishes. +- **End agent-authored comments with the attribution footer your harness requires.** diff --git a/.github/workflows/c2-interval-audit.yml b/.github/workflows/c2-interval-audit.yml new file mode 100644 index 000000000..b189a1136 --- /dev/null +++ b/.github/workflows/c2-interval-audit.yml @@ -0,0 +1,41 @@ +name: Independent c2 interval audit + +'on': + pull_request: + paths: + - 'reviews/c2_interval_audit_20261001/**' + - '.github/workflows/c2-interval-audit.yml' + workflow_dispatch: + +permissions: + contents: read + +jobs: + rational-and-source: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 + with: + persist-credentials: false + fetch-depth: 0 + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 + with: + python-version: '3.11.16' + - name: Verify the frozen peer source and independent certificate + env: + PYTHONDONTWRITEBYTECODE: '1' + GIT_NO_REPLACE_OBJECTS: '1' + run: | + set -euo pipefail + git fetch --no-tags origin 59a06b65d138994119551059fa336919c07188bf + python -B -S reviews/c2_interval_audit_20261001/verify.py + cd reviews/c2_interval_audit_20261001 + python -B -S -m unittest -v + python -B -O -S -m unittest -v + python -B -S oracle.py > "$RUNNER_TEMP/c2-normal.json" + python -B -O -S oracle.py > "$RUNNER_TEMP/c2-optimized.json" + cmp "$RUNNER_TEMP/c2-normal.json" "$RUNNER_TEMP/c2-optimized.json" + cmp RESULTS.json "$RUNNER_TEMP/c2-normal.json" + python -B -S verify.py + git diff --exit-code diff --git a/.github/workflows/local-pairing.yml b/.github/workflows/local-pairing.yml new file mode 100644 index 000000000..30feada3a --- /dev/null +++ b/.github/workflows/local-pairing.yml @@ -0,0 +1,73 @@ +name: Local pairing exact controls + +'on': + pull_request: + paths: + - 'frontiers/local_pairing_20260930/**' + - '.github/workflows/local-pairing.yml' + workflow_dispatch: + +permissions: + contents: read + +jobs: + exact-controls: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 + with: + persist-credentials: false + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 + with: + python-version: '3.11.16' + - name: Verify sources, replay both modes, reject mutants + env: + PYTHONDONTWRITEBYTECODE: '1' + run: | + set -euo pipefail + python -B -S - <<'PY' + import hashlib, json, pathlib, subprocess, sys + root = pathlib.Path('frontiers/local_pairing_20260930').resolve() + manifest = json.loads((root / 'SOURCES.json').read_text()) + names = [entry['path'] for entry in manifest['files']] + if len(names) != len(set(names)) or 'SOURCES.json' in names: + raise ValueError('invalid packet inventory') + for name in names: + p = pathlib.PurePosixPath(name) + if p.is_absolute() or str(p) != name or '..' in p.parts: + raise ValueError('unsafe packet path: ' + name) + present = list(root.rglob('*')) + if any(p.is_symlink() for p in present): + raise ValueError('symlink in packet inventory') + actual = {p.relative_to(root).as_posix() for p in present if p.is_file()} + if actual != set(names) | {'SOURCES.json'}: + raise ValueError('packet inventory drift') + for entry in manifest['files']: + path = root / entry['path'] + if path.is_symlink(): + raise ValueError('symlink: ' + entry['path']) + data = path.read_bytes() + if len(data) != entry['bytes'] or hashlib.sha256(data).hexdigest() != entry['sha256']: + raise ValueError('packet file identity mismatch: ' + entry['path']) + for entry in manifest['consumed'] + manifest['cited_only']: + data = pathlib.Path(entry['path']).read_bytes() + framed = b'blob ' + str(len(data)).encode() + b'\0' + data + if len(data) != entry['bytes'] or hashlib.sha256(data).hexdigest() != entry['sha256'] or hashlib.sha1(framed).hexdigest() != entry['git_blob']: + raise ValueError('merged source drifted: ' + entry['path']) + script = str(root / 'pairing_check.py') + expected = (root / 'RESULTS.json').read_bytes() + for flags in (['-B', '-S'], ['-B', '-O', '-S']): + out = subprocess.run([sys.executable, *flags, script], check=True, capture_output=True, timeout=600).stdout + if out != expected: + raise RuntimeError('output differs from RESULTS.json under ' + ' '.join(flags)) + for m in ('M1', 'M2', 'M3', 'M4'): + rc = subprocess.run([sys.executable, *flags, script, '--mutant', m], capture_output=True, timeout=600).returncode + if rc != 1: + raise RuntimeError('mutant ' + m + ' not rejected') + rc = subprocess.run([sys.executable, *flags, script, '--mutant', 'M9'], capture_output=True, timeout=600).returncode + if rc != 2: + raise RuntimeError('unknown mutant label not rejected with exit 2') + print(json.dumps({'scientific_effect': 'NONE', 'mathematical_acceptance': False})) + PY + git diff --exit-code diff --git a/.github/workflows/small-lifetime-shape.yml b/.github/workflows/small-lifetime-shape.yml new file mode 100644 index 000000000..6bac52cf4 --- /dev/null +++ b/.github/workflows/small-lifetime-shape.yml @@ -0,0 +1,37 @@ +name: Small-lifetime shape and moment crossover checks + +'on': + pull_request: + paths: + - 'frontiers/small_lifetime_shape_20260930/**' + - '.github/workflows/small-lifetime-shape.yml' + workflow_dispatch: + +permissions: + contents: read + +jobs: + exact-and-source: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 + with: + persist-credentials: false + fetch-depth: 0 + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 + with: + python-version: '3.11.16' + - name: Fetch exact public source commits + run: | + set -euo pipefail + git fetch --no-tags origin ae343a1c2a0070476fed4d31a15b6911831edd4d + git fetch --no-tags origin 56a7904f9ad7d409c31e23195c0e7eeab230613a + - name: Verify both sources, packet and exact controls + env: + PYTHONDONTWRITEBYTECODE: '1' + GIT_NO_REPLACE_OBJECTS: '1' + run: | + set -euo pipefail + python -B -S frontiers/small_lifetime_shape_20260930/verify.py + git diff --exit-code diff --git a/frontiers/local_pairing_20260930/LOCAL_PAIRING.md b/frontiers/local_pairing_20260930/LOCAL_PAIRING.md new file mode 100644 index 000000000..1f8c9455b --- /dev/null +++ b/frontiers/local_pairing_20260930/LOCAL_PAIRING.md @@ -0,0 +1,562 @@ +# Local pairing: the local landscape decides the elder pairing, and the selection loss is bounded below by the local cluster mass + +Object: CL-LOCAL-PAIRING-20260930-v1. +Author: Anthropic Claude (claude.ai session `session_01NMeKEismAyeqgdB4sy2NJU`), 30 September 2026. +Disposition: AUTHOR-SIDE PROOF CANDIDATE; NONAUTHOR REVIEW REQUIRED. Lemmas 2.1–2.2, Lemma P, Lemma P′ +and Proposition 3.3 are deterministic statements about the pinned cubic with complete written proofs +(reviewed twice by clean-context referee agents before landing; every blocking finding and amendment they +raised is applied below). Theorem LP (the lower bound with an identified functional) is conditional: it consumes exact +interfaces of [SC], [CUB] and [P] at their own review status. Conjecture LP= (equality) is stated with its +single remaining probabilistic obligation. **Relation to Math-#170 and Math-#175 (v1.1, added after landing).** +The OpenAI packet Math-#170 (`frontiers/local_elder_geometry_20260930/PROOF.md`, head `79f18f0`, blob +`ef2aa579`, opened before this packet; integrated into main at `fa2e990`) proves the same deterministic statement as Lemma P′ + Proposition 3.3 +(its Theorem E, by the cubic critical-chord identity and a normalized-gradient collar rather than the explicit +paths used here) and proves the **equality** `r⁻³(1 − p_r) → α₁ + α₂` at fixed planar marks (its Theorem S) by a +route this packet does not use: [P]'s cap implication `F_r ⊂ G_r^c` and a retained-tail integration of [P] §7. +Math-#175 (`frontiers/concave_fibre_elder_20260930/`, head `9c6a734`, proof blob `923d3236`; integrated into main at +`eb659bd`) lifts it to fixed `d ≥ 3` by a contained +hard-negative tube. So Conjecture LP= below is Math-#170 Theorem S (planar) / Math-#175 Theorem F (`d ≥ 3`), +conditional on their interfaces and review; what this packet adds is an independent same-account derivation +of the deterministic core with exact controls, and the cap-free lower bound Theorem LP. Scientific effect: +NONE — no register, graph, STATUS, prize or Boolean changes; no numerical constant is claimed. +**v1.2 (2 October 2026), answering the Slice C review.** Codex's Slice C review (C85, 5396856086) found +C-01: v1.1's optional §5 margin sketch confined `M`'s component at one level above `f(S)` only, and it gave an +exact falsifier. v1.2 withdraws that sketch as a proof. In its place §5 states Lemma 5.1, a common-radius +acceptance lemma that controls the component through the exact saddle level. It is consumed from QS-E (main#229 +5961415030; nonauthor review ACCEPT / PASS_TECHNICAL_SCOPED, 5961620598), with exhausting jet-scaled margin sets +`𝓜(η, R)`. §5 also records the review's notes on the weighted normalization and on Gaussian conditioning, and +now says that the reverse reduction (O1′) ⇒ (O1) is conditional on Lemma 5.1. Lemmas 2.1–2.2, P, P′, +Proposition 3.3, Theorem LP, the controls and the cap bypass are unchanged. + +## 0. What this packet answers, and what it does not + +The question put to the project on 2026-09-30 (input relayed by the owner) was: the account knows how many +extra window critical points there are near a short-lifetime pair (Theorem Q: `Θ(r³)`), but not *which +of them pair* and whether *the pairing is local*. Three sub-questions were asked. The answers, at the +scope stated below: + +1. **Mixed pairs are already local, conditionally.** For any cutoff `δ_r → 0` with `δ_r/r → ∞`, the + ordered-pair mass with a point outside the `δ_r` ball is `o(r³)` ([TSL] Theorem L, from [SC] (24) and + the [C6] moments; nonauthor-reviewed at conditional scope). Remote–remote pairs are `O_ρ(r⁵)` ([SC] (2)). + The only non-local piece of the *nonempty* event is a **remote singleton** of positive mass `β_far` + ([SC] (22); [TSL] Theorem T). So "the rare event is local" is true for pairs and false for singletons. + Nothing in this packet re-proves those statements. (The leading-mass localization residual of Math-#160 §5 + is bound to Theorem L as its direct statement by the declarative record [RES], Math-#173; that record proposes + register transitions and executes none.) +2. **Which witnesses pair.** On the limiting local landscape — the pinned planar cubic `P_θ` of [CUB] — + the elder rule is decided exactly: off the null tie set `{s ≤ B, D² = T}`, `(M,S)` is the elder pair **iff** + the cubic has no extra strict-window critical point (`n(θ) = 0`) (Lemmas P, P′); if `n(θ) ≥ 1`, `M` dies at + the highest extra window saddle (Proposition 3.3). + Transferred to the field, this gives the lower bound + `liminf r⁻³ (1 − p_r) ≥ a₁ + a₂ = ν₁ + ν₂ − β_far` (Theorem LP), where `a₁, a₂` are the local coefficients + of [SC] (20) and `β_far` its remote coefficient. Equality — the statement that **remote witnesses never + pair** — is Conjecture LP= with one obligation (§5); it is proved by Math-#170 Theorem S (planar) and + Math-#175 Theorem F (`d ≥ 3`) by the cap route described in the header, at their conditional scope. This is + the bridge from the count law to the lifetime law: it bounds the existential `Θ(r³)` selection loss of [P] + Theorem A / [ELDER] / [E_d] from below by an explicit functional of the cluster measure, and identifies it + under LP=. +3. **Cluster law.** Nothing new: [SC] (3) identifies `ν = ν₁δ₁ + ν₂δ₂`; this packet uses only its local part. + +What the bridge is worth for the lifetime density is stated without inflation in §6: it bounds from below +(and, under LP=, fixes) the coefficient of the `Θ(ℓ^{2/3})` compact-window selection loss — relative order +`ℓ` against the leading `ℓ^{−1/3}`; the leading law never needed it, and the unrestricted density's bounded +remainder is a different object. + +## 1. Setting and exact sources + +Fixed `d ≥ 2`, torus side `L`, birth `b`, gap mark `k > 0`, one orthonormal frame. Pins +`M = (−r/2, 0)`, `S = (r/2, 0)`, `f(M) = b`, `f(S) = b − k r³`, zero gradients; regression law `Q_r`; +typed determinant weight `W_r`, FULL normalizer `Z_r`, `Q_r^W = (W_r/Z_r) Q_r`. `p_r` is the `Q_r^W` +probability that the **global ordinary superlevel elder death partner** of `M` is `S` ([P] §1, [ELDER] §1). +On the generic locus its death height is the maximin + + d_f(M) = sup { min_t f(γ(t)) : γ(0) = M, f(γ(1)) > f(M) }, (E1) + +with the empty-supremum convention of [P] §8; `S` is the death partner iff `d_f(M) = f(S)` and `S` is the +critical point at that level ([ELDER] §1). A path from `M` to a point strictly above `b` whose values stay +strictly above `f(S)` therefore proves that `S` is **not** the death partner. Nothing here uses gradient +trajectories or separatrices. + +Sources (exact identities in `SOURCES.json`; none is revalidated here): + +| Tag | Source | What is consumed | +|---|---|---| +| [P] | `imports/lifetime_parent_20260925/UNIFORM_MATRIX_CAP_AND_LIFETIME.md` | §1 model and `p_r`; Theorem A upper bound `1 − p_r ≤ C r³`; §8 genericity; §§9–11 radial ledger and (E9)-type intensity. | +| [ELDER] | `frontiers/window_multiplicity_laws_20260928/ELDER_LOWER_AND_DENSITY_GAP.md` | (E1) maximin characterisation; §2 the stable-`C⁰`-connectivity transfer template; §4 (E9)–(E11) density gap in `d = 2`. | +| [CUB] | `frontiers/planar_cubic_cluster_20260929/PROOF.md` | (C1)–(C3) pinned cubic and shear; (C4) typed condition; Theorem C classifier `n(θ) ∈ {0,1,2}`; (C7)–(C13). Only the deterministic part. | +| [SC] | `frontiers/spectral_cluster_closure_20260929/PROOF.md` (Math-#162, reviewed at head `382c0f9`, merged at `358f256` with identical bytes; proof blob `16c56821`) | §2 spectral coordinates and (10); §5 normal form: `[f(rX,rZ,0) − b]/r³ → P_θ` in `C²` on bounded sets, the limit `W_r/r⁴ → ∏h_j² w`, and the rescaled typed-jet measure (17); (18)–(20): `a₁, a₂`; (22): `β_far`; (2), (24) as cited in §0. | +| [TSL] | `frontiers/two_scale_cluster_geometry_20260929/TWO_SCALE_LAW.md` (Math-#166, reviewed at head `7c82252`, merged at `ab13a08` with identical bytes; blob `a32fd5f7`) | Theorem L, Theorem T — cited in §0 only; not consumed by any proof below. | +| [E_d], [EDL] | `frontiers/elder_lower_all_d_20260929/PROOF.md`, `frontiers/elder_dimension_lift_20260928/PROOF.md` | The existential lower bound `1 − p_r ≥ c r³` in every `d` that Theorem LP sharpens; not consumed. | +| [C7] | `frontiers/c7_total_bounded_20260929/PROOF.md` (Theorem K / Corollary T), `frontiers/c7_zero_gap_limit_20260929/PROOF.md` (Theorem Z), `frontiers/unrestricted_selection_difference_20260929/PROOF.md` (Theorem U) | Cited in §6.3 only for the order of the unrestricted remainder; not consumed. | +| [RES], [NUM] | `reviews/c6_residual_closure_20260930/RECONCILIATION.md` (Math-#173), `frontiers/c6_cluster_coefficients_numerics_20260930/NOTE.md` (Math-#168) | Cited in §0 and §6.4 only (the residual-closure record; uncertified numerical values of the near coefficients); not consumed. | + +A defect in a consumed interface blocks the corresponding statement here. In particular Theorem LP is +conditional on [SC] at exactly the same scope as [TSL]. + +## 2. The pinned cubic and the elder rule on it + +In the sheared coordinates `(u, Z)` of [CUB] (C2)–(C3), with `B = β − a²/(12k)` and +`D = (c − aβ/(4k) + a³/(72k²))/2`, + + P(u, Z) = A(u) + (Z²/2)(s + Bu) + (D/3) Z³, A(u) = 2k (u − 1)(u + 1/2)². (2.1) + +`M = (−1/2, 0)` with `P = 0`, `S = (1/2, 0)` with `P = −k`. The typed domain is `s < −|B|/2` ([CUB] (C4)). +Elementary facts about (2.1) (the identities among them, and the shear (2.1) itself against [CUB] (C1)–(C3), +are checked exactly by `pairing_check.py`, I0–I3; the monotonicity statements are one-line calculus): + +* **Axis.** `A′(u) = 6ku² − 3k/2`, so `A` is decreasing on `(−1/2, 1/2)` from `0` to `−k` and increasing for + `|u| > 1/2`; `A(u) + k = (k/2)(u + 1)(2u − 1)²`, so `A(u) > −k` iff `u > −1` and `u ≠ 1/2`; `A(u) > 0` iff + `u > 1`; `A(u) → +∞` as `u → +∞`. Because (2.1) has no term linear in `Z`, `∇P(u, 0) = (A′(u), 0)`: the + sheared axis `{Z = 0}` is an invariant line of `∇P`. +* **Vertical lines.** At fixed `u`, `∂_Z P = Z (s + Bu + DZ)`. If `s + Bu < 0` and `D ≠ 0`, `P(u, ·)` decreases + from `A(u)` at `Z = 0` to a minimum at `Z₁(u) = −(s + Bu)/D` (on the side `sign Z = sign D`) and then + increases to `+∞`. If `s + Bu = 0` and `D ≠ 0`, `P(u, Z) = A(u) + DZ³/3` is monotone to `+∞` on the `D` side +(level if `D = 0`). +* **Extra critical points.** `(u₁, Z₁)`, `Z₁ ≠ 0`, is critical iff `A′(u₁) + (B/2)Z₁² = 0` (conic) and + `s + Bu₁ + DZ₁ = 0` (line); then `P(u₁, Z₁) = A(u₁) + Z₁²(s + Bu₁)/6` ([CUB] (C8) in this form), so + `P(S₁) < A(u₁)` iff `s + Bu₁ < 0`, and `D ≠ 0` unless `s + Bu₁ = 0`. [CUB] Theorem C: every strict-window + extra critical point is a nondegenerate saddle, there are at most two, and their number `n(θ)` is (C6). For + `B > 0` they satisfy `−1/2 < u₁ < u_w < 1/2`; for `B < 0`, `u_w < u₁ < −1/2` with `u_w = −1/2 − B/(2s)`; + for `B = 0`, `u₁ = −1/2`. +* **`M` is a strict local maximum.** `Hess P(M) = diag(−6k, s − B/2)` and `s − B/2 < 0` on the typed domain. + +**Lemma 2.1 (growth at infinity; older components).** For every typed `θ`: (a) `|∇P(x)| → ∞` as `|x| → ∞`, +and `P` has finitely many critical points; (b) for every `h ≥ −k`, every unbounded component of `{P > h}` +contains points with `P > 0`. + +*Proof.* (a) Suppose `|∇P| ≤ C` along a sequence with `|x| → ∞`. If `|Z|` stayed bounded, `∂_u P = 6ku² − 3k/2 ++ (B/2)Z²` would diverge; so `|Z| → ∞` and `|s + Bu + DZ| ≤ C/|Z| → 0`. If `B = 0` this forces `D = 0` and then +`|s| ≤ C/|Z| → 0`, impossible. If `B ≠ 0`, `u = −(DZ + s)/B + o(1)` and +`∂_u P = [6kD²/B² + B/2] Z² + (12kDs/B²) Z + O(1)`; the `Z²` coefficient vanishes only when `12kD² + B³ = 0`, +which needs `B < 0` and `D ≠ 0`, and then the linear term `12kDs/B²` is nonzero because `s < 0`; either way +`∂_u P` diverges. Critical points are the intersections of the conic `A′(u) + (B/2)Z² = 0` (irreducible for +`B ≠ 0`; the two lines `u = ±1/2` for `B = 0`) with `Z = 0` or the line `s + Bu + DZ = 0`, finitely many. +(b) Write `P(ρ cos φ, ρ sin φ) = c₃(φ)ρ³ + c₂(φ)ρ² + c₁(φ)ρ + c₀` with `c₃(φ) = 2k cos³φ + (B/2) cos φ sin²φ ++ (D/3) sin³φ`, `c₂(φ) = (s/2) sin²φ` (the only quadratic term of (2.1) is `sZ²/2`), `c₁(φ) = −(3k/2) cos φ`, +`c₀ = −k/2`. At a zero `φ₀` of `c₃`, `sin φ₀ ≠ 0` (since `c₃(0), c₃(π) = ±2k`), so by continuity and compactness +there are `η ∈ (0, 2k)` and `σ > 0` with `|sin φ| ≥ σ` on `{|c₃(φ)| ≤ η}`; put `μ = |s|σ²/2`, so that `|c₂| ≥ μ` +there, and note `|c₂| ≤ |s|/2` everywhere. Choose `ρ₀` so large that for all `ρ′ ≥ ρ₀`: +`ηρ′³ > |s|ρ′²/2 + (3k/2)ρ′ + 3k/2`, `(μ/4)ρ′² > (3k/2)ρ′ + 3k/2`, `(μ/4)ρ′ > 3k/2`, and `3ηρ′² > |s|ρ′ + 3k/2`. +For `ρ ≥ ρ₀` and any `φ` one of four cases holds: +(1) `c₃ ≤ −η`: `P ≤ −ηρ³ + |c₂|ρ² + |c₁|ρ + |c₀| < −k`; +(2) `|c₃| < η` and `c₃ρ ≤ (3/4)|c₂|`: `P ≤ (3/4)|c₂|ρ² − |c₂|ρ² + (3k/2)ρ + k/2 ≤ −(μ/4)ρ² + (3k/2)ρ + k/2 < −k`; +(3) `0 < c₃ < η` and `c₃ρ > (3/4)|c₂|`: for every `ρ′ ≥ ρ`, `∂_ρ P(ρ′) = 3c₃ρ′² + 2c₂ρ′ + c₁ ≥ 3c₃ρρ′ − 2|c₂|ρ′ − +3k/2 > (1/4)|c₂|ρ′ − 3k/2 ≥ (μ/4)ρ′ − 3k/2 > 0`; +(4) `c₃ ≥ η`: for every `ρ′ ≥ ρ`, `∂_ρ P(ρ′) ≥ 3ηρ′² − |s|ρ′ − 3k/2 > 0`. +So every point with `|x| ≥ ρ₀` and `P(x) > −k` is of type (3) or (4), and along its ray `P` increases strictly to +`+∞`: the point is connected outward, inside `{P > P(x)}`, to points with `P > 0`. An unbounded component of +`{P > h}`, `h ≥ −k`, contains points with `|x| ≥ ρ₀`, hence points with `P > 0`. ∎ + +**Lemma 2.2 (the death level is a critical value).** For every typed `θ`, `h* := d_P(M)` satisfies +`−k ≤ h* < 0`, and if `h* > −k` then `h*` is the value of an extra strict-window critical point of `P`, so +`n(θ) ≥ 1`. + +*Proof.* `h* ≥ −k` by the axis path `M → S → {u > 1}` (values `≥ −k`, endpoint `A(u) > 0` for `u > 1`); +`h* < 0` because `M` is a strict local maximum, so for `h` close to `0` the `M`-component of `{P > h}` is a +small disk containing no point with `P > 0`. Suppose `h* > −k` is not a critical value. By Lemma 2.1(a) the +critical values are finitely many, so there is `ε > 0` with no critical value in `[h* − ε, h* + ε]`, and +`|∇P| ≥ c > 0` on `P^{−1}[h* − ε, h* + ε]` (a Palais–Smale sequence there would be bounded by Lemma 2.1(a) and +converge to a critical point at a level in the interval). Let `φ_t` be the flow of `∇P/|∇P|²` on the slab +`P^{−1}[h* − ε, h* + ε]`, along which `P` increases at unit rate, and define `η(x) = φ_{h* + ε − P(x)}(x)` for +`x` in the slab and `η(x) = x` for `P(x) ≥ h* + ε`; `η` is continuous, maps `{P ≥ h* − ε}` into `{P ≥ h* + ε}`, +and fixes `{P ≥ h* + ε}`. Shrink `ε` so that `ε < |h*|`. By definition of `h*` there is a path from `M` to a +point `y` with `P(y) > 0` with values `> h* − ε`; `η` of it is a path with values `≥ h* + ε > h*` from `M` +(fixed, since `P(M) = 0 > h* + ε`) to `y` (fixed), contradicting the supremum. So `h*` is a critical value in +`(−k, 0)`. A critical point at a level in `(−k, 0)` is not a pin and is counted by `n` ([CUB] §2: `n` counts +all additional critical points with height strictly between `−k` and `0`), so `n ≥ 1`; by Theorem C it is a +nondegenerate saddle. ∎ + +## 3. Lemma P: every extra window saddle rejects the pair + +**Lemma P.** Let `θ = (s, a, β, c)` be typed with `n(θ) ≥ 1`, and let `(u₁, Z₁)` be an extra strict-window +critical point. Then there is an explicit path `γ` from `M` to a point with `P > 0` whose minimum exceeds +`−k`; consequently `d_P(M) > −k`, and `(M,S)` is **not** the elder pair of `P`. The path is one of: + +* **V (vertical descent at `u₁`)** — when `s + Bu₁ < 0` and `−1 < u₁ < 1/2`: along the axis from `M` to + `(u₁, 0)`, then along the vertical line through `S₁` past `S₁` to `+∞` on the `D` side. Its minimum is + `P(S₁) ∈ (−k, 0)`, attained at `S₁`. +* **U (vertical rise at `u₀`)** — when `B < 0` and `s > B` (equivalently `|B|/2 < |s| < |B|`): along the + axis from `M` to `(u₀, 0)`, `u₀ = −s/B ∈ (−1, −1/2)`, then along the vertical line at `u₀`, on which + `P = A(u₀) + DZ³/3`, to `+∞` on the `D` side. Its minimum is `A(u₀) ∈ (−k, 0)`. + +Let `S_V` be the extra strict-window root with the largest `u`-coordinate. The proof shows that path V +applies at `S_V` whenever `D ≠ 0` (in case (iv) `S_V` is the root on the side `u > u₀` of `u₀ = −s/B`, which +exists both for `n = 1` and for `n = 2`); path U is a second valid path in case (iv), and the `D = 0` subcase +of (iv) has its own path. The margin of Lemma P is `m(θ) := P(S_V) + k` for `D ≠ 0` and `A(u₀) + k` for +`D = 0` in case (iv); it is positive, and it is continuous on the typed `n ≥ 1` domain: `S_V` is a +nondegenerate root ([CUB] Theorem C), so it depends continuously on `θ` by the implicit function theorem; it +persists across `s = B` and across `D² = T` (the root that appears or disappears there is the other one, at +`u_w`); and as `D → 0` in case (iv) its value tends to `A(u₀)`. Theorem LP uses this continuity to make its +jet sets compact. + +*Proof.* Axis parts: by the monotonicity of `A` in §2, the values along the axis from `M` to `(u*, 0)` +lie in `[A(u*), 0]`, and `A(u*) > −k` because `−1 < u* < 1/2` in both cases. Vertical parts: by the +vertical-line fact in §2. It remains to see that every typed jet with `n ≥ 1` falls in V or U. + +(i) `B > 0`. Then `−1/2 < u₁ < 1/2` and `s + Bu₁ < −B/2 + Bu₁ = B(u₁ − 1/2) < 0` by the typed condition: V. + +(ii) `B = 0`. Then `u₁ = −1/2` and `s + Bu₁ = s < 0`: V (the axis part is empty; the vertical line starts at `M`). + +(iii) `B < 0`, `s ≤ B` (`|s| ≥ |B|`). Then `n = 1` by (C6) and `u_w = −1/2 − |B|/(2|s|) ≥ −1`, so +`−1 < u₁ < −1/2`. The linear function `s + Bu` vanishes at `u₀ = −s/B = −|s|/|B| ≤ −1 < u₁` and is +decreasing in `u` (`B < 0`), hence `s + Bu₁ < 0`: V. + +(iv) `B < 0`, `s > B` (`|B|/2 < |s| < |B|`). Then `u₀ = −|s|/|B| ∈ (−1, −1/2)` and `A(u₀) > −k`. If `D ≠ 0`: +in the proof of [CUB] Theorem C the extra roots are the solutions of `g(u) = D` on the `Z > 0` branch and of +`g(u) = −D` on the `Z < 0` branch of the window conic, where `g` is strictly increasing on `(u_w, −1/2)` +([CUB] (C12)) and vanishes at `u₀` (there the line `s + Bu + DZ = 0` reduces to `DZ = 0`). Hence for `n = 2` +the two roots lie on opposite sides of `u₀`, and for `n = 1` the single root solves `g(u) = |D| > 0 = g(u₀)`; +in both cases `S_V` has `u₁ > u₀`, so `s + Bu₁ < 0` (`s + Bu` decreases in `u` for `B < 0`) and +`−1 < u₀ < u₁ < −1/2`: V at `S_V`. Path U — along the axis to `(u₀, 0)`, then the vertical line +`P = A(u₀) + DZ³/3` to `+∞` on the `D` side, minimum `A(u₀)` — is a second valid path. If `D = 0`, +`P(u, Z) = A(u) + (Z²/2) B (u − u₀)` and the vertical line at `u₀` is level; take instead +`M → (u₀, 0) → (u₀, Z) → (u₀ − ε, Z)` with `Z` large: on the last segment `B(u − u₀) ≥ 0`, so +`P ≥ A(u) ≥ A(u₀ − ε) > −k` for small `ε`, and its endpoint value `A(u₀ − ε) + (Z²/2)|B|ε` exceeds `0` for +`Z` large. ([ELDER]'s witness `(−3k/2, 0, −2k, 0)` is this subcase with `u₀ = −3/4`; its polygonal path (E5) +has minimum `−7k/32`, and `pairing_check.py` P2 verifies that both extra saddles sit exactly at `−7k/32`.) + +In V the minimum along the whole path is `P(S₁)`, which lies in `(−k, 0)` by the strict-window hypothesis; +in U it is `A(u₀) > −k`; in the `D = 0` path it is `A(u₀ − ε) > −k`. In all of them the far end has `P > 0`. ∎ + +`pairing_check.py` P1 verifies, exactly, on `6840` rational chart points (three values of `k`), that every +chart point is a typed strict-window critical point with `n ≥ 1`, and the inequalities of the path through +the chart root: V when `s + Bu₁ < 0` and `−1 < u₁ < 1/2` (`4680` points: `A(u₁) > P(S₁) > −k`, +`sign Z₁ = sign D`, the rise past `0`), otherwise U (`2160` points, all in case (iv) with the chart root on the +side `u₁ < u₀`: `u₀ ∈ (−1, −1/2)`, `A(u₀) > −k`, the rise past `0`). For those `2160` points it also computes +the other root exactly (Vieta on [CUB] (C13)), and verifies that it is a strict-window root on the side +`u > u₀`, that V applies to it, and that it is the higher of the two — so the proof's assignment (V at `S_V`) +and the ordering claim of Proposition 3.3 are exercised on every chart point. Smallest margin `1/1200` +(absolute; attained at `k = 1/3`). + +**Lemma P′ (converse).** If `θ` is typed, `n(θ) = 0`, and `S` is the only critical point of `P` at level +`−k` (this excludes the null set `{s ≤ B, D² = T}` of [CUB] (C6)), then `(M,S)` is the elder pair of `P`: +`d_P(M) = −k` and the merge at level `−k` is through `S`. + +*Proof.* By Lemma 2.2 and `n = 0`, `d_P(M) = −k`. Let `C` be the component of `M` in `{P > −k}`. `C` contains +no point with `P > 0` (such a point would give `d_P(M) > −k`), so by Lemma 2.1(b) `C` is bounded. The sheared +axis is `∇P`-invariant with `∇P(u, 0) = (A′(u), 0)`: the segment `(−1/2, 1/2)` is the ascending branch of `S` +into `M` (`A` increases toward `M` on it, and its values lie in `(−k, 0)`, so it lies in `C`), and the ray +`u > 1/2` is the other ascending branch of `S`, on which `A` increases to `+∞` and exceeds `0` for `u > 1`. +So one upper sector of `S` lies in `C` and the other in a component `C′` of `{P > −k}` containing points with +`P > 0`; `C′ ≠ C`. At level `−k` the component of `M` in `{P ≥ −k}` therefore contains `C′` through `S`, and +through no other point, since `S` is the only critical point at that level. `M`, the younger, dies at `S`. ∎ + +**Proposition 3.3 (the death saddle).** If `θ` is typed with `n(θ) ≥ 1`, then `d_P(M) = max{P(S′) : S′ an +extra strict-window saddle}`. Off the additional null set `{D = 0}` the maximum is attained at exactly one +extra window saddle, and `M` dies there: the highest extra window saddle. (For `D = 0` in case (iv) the two +extra saddles `(u₀, ±Z₀)` have the same height `A(u₀)` — the [ELDER] witness is such a jet — so only the death +level, not a unique death saddle, is determined; on the Morse distinct-value locus of the field this tie +does not occur.) + +*Proof.* By Lemma P, `d_P(M) > −k`; by Lemma 2.2, `d_P(M)` is the value of an extra strict-window saddle. +If `n = 1` there is nothing more to show. `n = 2` occurs only in case (iv) of Lemma P (`B < 0`, `s > B`, +[CUB] (C6)). There, in [CUB]'s notation, the two saddles solve `g(u) = D` on the `Z > 0` branch and +`g(u) = −D` on the `Z < 0` branch of the window conic, with `g` strictly increasing on `(u_w, −1/2)` and +`g(u₀) = 0` at `u₀ = −s/B` (at `u = u₀` the line reduces to `DZ = 0`). So for `D ≠ 0` the two roots lie on +opposite sides of `u₀` (case (iv) of Lemma P); the one with `u₁ > u₀` has `s + Bu₁ < 0` and `−1 < u₀ < u₁`, +hence Lemma P's path V passes through it and `d_P(M) ≥ P(S₁)`. Along the window branch the +height of the root is [CUB] (C9), `P/k = −(u + 1/2)[1 + (2s/B)(u − 1/2)]`, whose derivative is +`−k(B + 4su)/B`; for `B < 0` this is positive by [CUB]'s `B + 4su > 0` on (C11). So the root with the larger +`u` is the higher saddle, and `d_P(M)` equals its value; for `D = 0` both saddles have the height `A(u₀)`, which +is then the death level. ∎ + +Together: **on the limiting local landscape, off the null tie set `{s ≤ B, D² = T}`, `(M,S)` is the elder +pair iff `n(θ) = 0`; otherwise `d_P(M)` is the highest extra window critical value, and off `{D = 0}` `M` dies +at the unique highest extra window saddle.** The exploration in `exploration/` (standard library only; not a +proof, not run in CI) computes the death level of `M` by the discretised elder rule on a grid — cells merged in +decreasing order of `P_θ`, death when `M`'s component first meets a point with `P_θ > 0` — for sampled jets, +and compares it with the closed-form critical points: see `exploration/RESULTS_EXPLORATION.json` (seed 7, +spacing `0.02`, `k ∈ {1, 1/2}`): for all 120 sampled jets with `n ≥ 1` (80 with `n = 1`, 40 with `n = 2`) the +grid death level agrees with the highest window critical value to within `1.5·10⁻³` and the merge cell lies at +that saddle; for all 40 sampled typed jets with `n = 0` the death level is `−k` to within `10⁻⁴`, with the merge +cell at `S` in 39 cases and, in one case with `s + B/2 ≈ −0.024` (a jet close to the typed boundary, where the +saddle at `S` is nearly degenerate in `Z`), displaced `0.18` along the flat valley of `S` at the correct level; +the [ELDER] witness dies at `−7/32`, a tie of its two saddles. + +## 4. Theorem LP: the identified lower bound for the selection loss + +Let `a₁, a₂` be the local coefficients of [SC] (20): `a_j = ∫ 1{n(θ) = j} dM(θ)`, with `M` the rescaled +typed-jet measure (17) (finite on `{n ≥ 1}` by (19)), so that `ν₁ = a₁ + β_far`, `ν₂ = a₂`. + +**Lemma 4.1 (pathwise normal form on the soft plane).** In the frame (axis, soft eigenvector `e_soft(O)`, +hard eigenvectors) of [SC] (7), with `s` the soft eigenvalue of the midpoint transverse Hessian divided by +`r`, `a = τ_xxz`, `β = τ_xzz`, `c = τ_zzz`, and `K ≥ 1` a bound for `‖f‖_{C⁴}`: for every `R ≥ 1` and +`|(X, Z)| ≤ R`, + + f(rX, rZ, 0) − b = r³ [ P_θ(X, Z) + ρ_r(X, Z) ], sup_{B(R)} |ρ_r| ≤ C_R K r, (4.0) + +with `C_R` depending only on `R` (and `d`); the same holds for the first two derivatives of `ρ_r` in `(X, Z)`. + +*Proof.* Write `g(x, z) = f(x, z, 0)` and expand `g` at the midpoint to third order with the Lagrange +remainder `|R₄| ≤ C K (|x| + |z|)⁴`. The six pin data — values `b`, `b − kr³` and vanishing `x`- and +`z`-derivatives at `(±r/2, 0)` — determine the coefficients: the axial cubic `g(x, 0)` is the Hermite +interpolant of `(b, 0)` and `(b − kr³, 0)` at `±r/2` up to `O(K r⁴)`, which in the scaled variable is +`r³(2kX³ − 3kX/2 − k/2)`; the two conditions `∂_z g(±r/2, 0) = 0` give `g_z(0) = −g_xxz r²/8 + O(K r³)` and +`g_xz(0) = O(K r²)`; and `g_zz(0) = rs`, `g_xxz = a`, `g_xzz = β`, `g_zzz = c` by the definition of the spectral +coordinates. Collecting the `z`-dependent terms in `x = rX`, `z = rZ`: +`g_z z + g_xz xz + g_zz z²/2 + g_xxz x²z/2 + g_xzz xz²/2 + g_zzz z³/6 = r³[(a/2)(X² − 1/4)Z + (s/2)Z² + (β/2)XZ² ++ (c/6)Z³] + O(K r⁴ R⁴)`, which with the axial cubic is `r³ P_θ(X, Z)` up to `O(K r⁴ R⁴)`. Differentiating +the same expansion gives the `C²` statement. ∎ + +This is the quantitative form of [SC] §5's `C²` convergence `[f(rX, rZ, 0) − b]/r³ → P_θ`; in `d = 2` it is +[ELDER] (E7) / [CUB] (G8). It uses no hard implicit function: the path of Lemma P lies in the soft plane. +(4.0) is stated in the unsheared coordinates `(X, Z)` of the frame; the vertical legs of the paths of Lemma P +are the lines `X = u₁ − aZ/(12k)` there, and "lies in `B(R)`" below is read in `(X, Z)`. + +**Lemma 4.2 (compact typed jets).** Let `K ⊂ {typed jets}` be compact in the spectral coordinates +`(s, h, O, τ)` with `h₂ ≥ δ > 0`. Then `r⁻³ Q_r^W(θ_r ∈ K) → M(K)` as `r → 0`. The same proof gives the +statement for bounded Borel `K` on which `M` charges no boundary. + +*Proof.* In the spectral coordinates the rescaled law `r⁻³ Q_r^W(θ_r ∈ dθ)` has density +`(c_m r²/Z_r) h_r(A, T) J_r 1{h₂ > −rs} E[W_r/r⁴ | jet]` ([SC] (7)–(9) and the disintegration below (16); the +finite-`r` type indicator is part of `W_r`). On `K`: `h_r → h₀` pointwise ([SC] §2), `J_r → J_0 = ∏h_j ∏(h_j − +h_i)`, `1{h₂ > −rs} → 1`, `Z_r/r² → z₀` ([SC] §1), and `E[W_r/r⁴ | jet] → ∏h_j² w(s, a, β)` ([SC] §5: the soft +`2×2` blocks of the endpoint Hessians divided by `r` converge to `M_M, M_S`, whose determinants multiply to +`9k²(4s² − B²)` on the typed domain, the hard block to `−diag(h)`, and the mixed soft–hard entries are `O(r)`, +so the determinants and the type indicator converge off the null typed boundary). Domination on `K` by [SC] +(10), (15) and (6) with the bounded prefactor `c_m r²/Z_r`; the exceptional branch of (14) plays no role +because `s` is bounded on `K`. Dominated convergence gives the claim. ∎ + +In `d = 2` this is [CUB] Theorem G summed over the count, which is not consumed here. [SC] displays only the +nonempty-count version (18) and stresses that there is no finite uncentered `n = 0` formula; Lemma 4.2 is +about compact jet sets, on which the total mass is finite whatever the count. + +**Theorem LP.** Conditional on [SC] §§1, 2, 4 (15), 5 and (17)–(20) at their stated fixed-`d, L, b, k`, frame +scope, on [P] §4 (4.1), §5 (5.5), §8 and the maximin characterisation (E1), and on [CUB] Theorem C, + + liminf_{r→0} r⁻³ (1 − p_r) ≥ a₁ + a₂ = ν₁ + ν₂ − β_far. (4.1) + +Combined with [P] Theorem A, `1 − p_r = Θ(r³)` with `a₁ + a₂ ≤ liminf r⁻³(1 − p_r) ≤ limsup r⁻³(1 − p_r) ≤ C`. + +*Proof.* Fix `δ > 0` and `R ≥ 4`. Let `K_{δ,R}` be the set of jets `θ` with `s ≤ −|B|/2 − δ` (typed with +margin), `n(θ) ≥ 1`, `|D| ≥ δ`, `h₂ ≥ δ`, `|s| + |h| + |τ| ≤ 1/δ`, whose path V at `S_V` has margin `m(θ) ≥ δ` +and, truncated at the first point where `P ≥ δ`, lies in `B(R)` in the `(X, Z)` coordinates. It is compact in +the spectral coordinates: it is bounded, and it is closed because along a convergent sequence in it the +roots `S_V` converge (Lemma P: `m` is continuous) to a point with `P ≥ −k + δ`, `Z ≠ 0` (`|D| ≥ δ` and +`s + Bu < 0`) and `u ∈ (−1, 1/2)`, which is again an extra strict-window root of the limit jet, and the +other conditions are closed. It is invariant under the reflection `e_soft → −e_soft` (`n` and `m` are). As +`δ → 0` and `R → ∞`, `K_{δ,R}` increases to `{n ≥ 1}` minus an `M`-null set (`M` is absolutely continuous in +`(s, h, τ)`; the excluded sets are `{D = 0}`, the typed boundary, and the set where the margin vanishes, +which lies on the window boundary), so `M(K_{δ,R}) → a₁ + a₂` by monotone convergence and (19)–(20). + +Transfer. On the event `E_r := {θ_r ∈ K_{δ,R}} ∩ {C_R K r < δ/2}`, Lemma 4.1 shows that the truncated path +`γ_θ`, scaled by `r` and placed in the soft plane of the actual frame, is a path in the torus from `M` along +which `f > b − k r³ + (δ/2) r³ > f(S)` and whose endpoint has `f > b + (δ/2) r³ > b`. By (E1), +`d_f(M) > f(S)`, so `S` is not the elder death partner: `E_r ⊂ {rejected}`. + +Measure. By Lemma 4.2, `r⁻³ Q_r^W(θ_r ∈ K_{δ,R}) → M(K_{δ,R})`. For the complementary event, [SC] §1 (from +[P] (5.3)) gives `W_r/r² ≤ C K^{2d}` and [P] §5 gives `Z_r ≥ z_* r²`, so `E_{Q_r^W}[K^p] ≤ (C/z_*) E_{Q_r}[K^{2d+p}]` +is bounded uniformly in `r` for every `p` (Gaussian moments of the `C⁴` norm under the regression law, [P] +§4); Markov then gives `Q_r^W(C_R K r ≥ δ/2) ≤ E_{Q_r^W}[K^p] (2 C_R r/δ)^p = O_p(r^p)`. Hence + + liminf r⁻³ (1 − p_r) ≥ liminf r⁻³ Q_r^W(E_r) = M(K_{δ,R}), + +and `δ → 0`, `R → ∞` give (4.1). ∎ + +Remarks. (a) The proof uses no window critical point of the field, no gradient trajectory, no near +count: only field values along an explicit path in the soft plane. It is the [ELDER] §2 mechanism run over +the whole `n ≥ 1` domain instead of one witness, with [SC]'s typed-jet measure replacing the one-point +positivity argument of [ELDER] §3. (b) In `d = 2` the soft plane is the whole space. (c) `a₁ + a₂ > 0` by [SC] +(20), so Theorem LP re-derives, conditionally on [SC], the existential lower bounds of [ELDER] / [EDL] / [E_d] +at fixed parameters, with a constant. It does not re-derive their uniformity on compact mark sets, which they +have and this statement does not claim. + +## 5. Conjecture LP= and its one obligation + +**Conjecture LP=.** `1 − p_r = (a₁ + a₂) r³ + o(r³)`. Equivalently: remote and mixed witnesses never change +the elder partner at leading order, and the entire selection loss is the local nonempty cluster mass. + +By Theorem LP it suffices to show `limsup r⁻³ (1 − p_r) ≤ a₁ + a₂`. Write, for fixed `R`, + + Q_r^W(rejected) ≤ Q_r^W(N_R ≥ 1) + Q_r^W(rejected, N_R = 0), + +where `N_R` counts strict-window critical points of `f` in `B(Rr)` other than the pins. The first term is +`(a₁^R + a₂^R) r³ + o(r³)` by [SC] (18) and `a₁^R + a₂^R → a₁ + a₂` as `R → ∞` by (20). The obligation is + + (O1) limsup_{r→0} r⁻³ Q_r^W(rejected, N_R = 0) → 0 as R → ∞. + +What is known toward (O1), and what is not (amended in v1.2). The v1.1 sketch here confined the +`M`-component of the rescaled field at the single level `−k + δ/2`. It did not control the levels between +`f(S)` and `f(S) + (δ/2)r³`, where a remote saddle can still kill `M` on `{N_R = 0}`. Codex's Slice C review +(C85, 5396856086, finding C-01) gives an exact falsifier of that finite-radius implication. +- *The construction.* Take `k = δ = 1` and `P = A(X + HZ) − σZ²/2`, with `H = 10⁹`, `σ = 10¹⁴` and `R = 125`. +- *Why the v1.1 margins hold.* The cubic is typed with `n = 0`, its component at `−3/4` lies in `B(124)`, and + `N_R = 0`. A bump placed outside `B(125)` leaves the actual `C²` error on `B(R)` equal to zero. +- *Why acceptance fails.* The sheared vertical path from `M` stays above `−7/8` and leaves `B(125)`. A bump + there, outside `B(125)`, makes the pair rejected. + +The v1.1 sketch is therefore withdrawn as a proof. What (O1) needs is a *common-radius acceptance lemma*: +one that controls the component through the exact saddle level and slightly below it. For the planar cubic, +QS-E supplies it. + +Notation for the lemma. +- *Coordinates.* Work in [CUB]'s sheared coordinates `(u, Z)`, normalized by `k`, so that `P_θ/k` has the + pins `0` and `−1`. These are the coordinates of main#229 5961415030, where `u = X + aZ/(12k)`. +- *The saddle margin.* `μ(θ) := 1 + max{P_θ(Y)/k : Y an extra nondegenerate saddle}`, and `μ = −∞` if there is + none. Every extra critical point lies below `0`, so `n(θ) = 0` iff `μ ≤ 0`. Off the tie set `Σ`, `n = 0` + forces `μ < 0`. +- *The QS sets* (QS §§1–4): + - the tolerances `m_S` and `ε_M`; + - the ellipses `E_S` and `E_M`; + - the cut trap `T_ℓ`: the `M`-component of `{P > ℓ}` cut along the stable curve of `S`; + - the axis segment `A = [M, (3/2, 0)]`. + +**Lemma 5.1 (common-radius acceptance; QS-E).** Let `θ` be typed, off `Δ ∪ Σ`, with `n(θ) = 0`. Let +`0 < η < min(|μ|, m_S, ε_M)`, and let `V_η(θ) := T̄_{−1−η} ∪ A ∪ E_S ∪ E_M`, taken in raw coordinates. +Suppose `V_η(θ) ⊂ B(R)`. Let `F` be a planar function with the exact pins of `P_θ/k` such that: +- `|F − P_θ/k| < η` on `T̄_{−1−η} ∪ A`; +- QS's rescaled `C²` bounds (E2) and (E3) hold on `E_S` and `E_M`. + +Then `d_F(M) = F(S)` (elder), whatever `F` is outside `B(R)`. + +Both of QS-E's bounds use only paths inside `V_η ⊂ B(R)`: +- the exit from the trap, for the upper bound; +- the axis `A`, for the lower bound. + +So the lemma applies to the torus field through the chart, exactly as in #170 §5. + +This is Theorem QS-E of main#229 5961415030, whose nonauthor review 5961620598 returned ACCEPT / PASS_TECHNICAL_SCOPED; +this packet consumes it at that reviewed scope. QS Remark 4 shows why the axis beyond `S` must be in `V_η`. The +lemma needs no `N_R = 0`. In the C-01 cubic, along the sheared vertical path, the level-`(−1 − η)` component +reaches `|X| ≈ H(2/σ)^{1/2} ≈ 142`, beyond `B(125)`. So the containment hypothesis fails there, as it must. +The exact C-01 cubic, with `B = D = 0`, also lies on `Δ`. + +The margin sets. Put + + 𝓜(η, R) := {θ typed : n(θ) = 0, θ ∉ Δ ∪ Σ, η < min(|μ|, m_S, ε_M), V_η(θ) ⊂ B(R − 1)}. + +These sets are jet-scaled, and they increase to `{n = 0} \ (Δ ∪ Σ)` as `η ↓ 0` and `R ↑ ∞`: QS Lemma 4 +makes the trap bounded at each such `θ`, although its size is not explicit. Two bounds hold on +`𝓜(η, R)`: +- `E_S ⊂ B(R − 1)` gives `κ_S ≥ r̃²/(R − 1)²`, and `η < m_S = (2/5)r̃²` then gives + `1/κ_S < 2(R − 1)²/(5η)`. +- In the same way, `1/κ_M < (R − 1)²/(2η)`. + +So the raw-coordinate thresholds of (E2) and (E3) are at least `c(η, R)/(1 + |a|/(12k))²`. + +The decomposition in `d = 2`. Lemma 4.1's planar `C²` error on the fixed ball `B(R)` is `O(C_R K r)`, so + + {rejected, N_R = 0} ⊂ {rejected, n(θ_r) = 0, θ_r ∉ 𝓜(η, R)} ∪ {θ_r ∈ 𝓜(η, R), error on B(R) above θ_r's thresholds} + ∪ {n(θ_r) ≥ 1, N_R = 0} ∪ {θ_r ∈ Δ ∪ Σ}, + +where untyped `θ_r` are placed in the first set. +- *The second set* is `O(r^p)`, as in Theorem LP, by the Gaussian moments of `a` and of `K`. +- *The third set* has `r⁻³`-limit `M(n ≥ 1, n_R = 0)` at fixed `R`, since its jets have all their extra roots + outside `B(R)`. This follows from three facts: + - Lemma 4.2, on compact subsets; + - [SC] §5's joint spectral-jet/count convergence in total variation; + - the tightness of `M` on `{n ≥ 1}` ([SC] (19): `|s| ≤ 2|B| + (48kD²)^{1/3}` there, with (10)/(15)/(6) + domination). + + This limit tends to `0` as `R → ∞`. +- *The last set* is null. + +Three conditions apply to these statements. +- Do not condition the Gaussian regression on `{N_R = 0}`; that would destroy its Gaussian structure. Keep + every intersection indicator under the original law `Q_r^W`, with positive majorants. +- In `d ≥ 3` the same conclusion needs the hard-direction slaving of the superlevel components: + - fiberwise concavity in the hard coordinates `w`; + - `f_ww ≤ −h₂/2` on the cylinder; + - the correspondence between the components of `{f > h}` and those of the reduced planar potential + `max_w f`. + + [SC] §5 carries this out for the critical points; this note does not carry it out for the superlevel sets. +- (O1) ⇒ (O1′) holds already. At fixed regular `R`, [SC] §5's nonempty joint convergence gives + `r⁻³Q_r^W(n(θ_r) = 0, N_R ≥ 1) → 0`. The converse direction is the decomposition above. So, granting + Lemma 5.1 (and, in `d ≥ 3`, the slaving step), (O1) is equivalent to + + (O1′) limsup_{r→0} r⁻³ Q_r^W(rejected, n(θ_r) = 0, θ_r ∉ 𝓜(η, R)) → 0 as η ↓ 0 and R ↑ ∞. + +At fixed planar marks, this equality is supplied on main by Math-#170 Theorem S (OpenAI; reviewed at head `79f18f0`, +proof blob `ef2aa57959ea9f721bbf2316ce94cf616c1c9113`), whose route avoids the margin set altogether: the failure event +is contained in the bad cap of [P] §8 (`F_r ⊂ G_r^c`), the bad cap's mass restricted to a large residual norm +is `o(r³)` by keeping the indicator inside [P]'s (7.5) scalar integral, and the remaining compact-jet part +converges by dominated convergence with the pointwise limit of the failure indicator (its Theorem E). The +`d ≥ 3` slaving step named above is Math-#175's H1. Read on its own, the margin set must be jet-scaled (a fixed `δ` fails: near +`M`, `P(M + Z e_Z) = (Z²/2)(s − B/2) + (D/3)Z³` exceeds any fixed `−δ` for `|Z|` slightly beyond `δ` once +`|s|` is large, so a fixed-margin set would exclude a region of infinite `M`-mass and (O1′) would restate +(O1)); the typed-jet measure is not finite on `{n = 0}` ([SC] after (17)), so its complement cannot be +handled by Lemma 4.2; and the events in the complement — a second soft eigenvalue, a large jet, a jet near +the typed boundary, a landscape whose `M`-component reaches far — are the ones [P] §§6–7 and [SC] §4 control +in unweighted or occurrence-weighted form, not in rejection-weighted form. C85's review records the +normalization: +- [P] §§6–7 keep the double soft factor `W_r ≲ r²λ₁(λ₁ + CrU)`. So the soft interval gives an `O(r⁵)` weighted + numerator, and one division by `Z_r ≥ z_*r²` gives `O(r³)`. +- Exhausting the margins needs more than that displayed bound: a written rejection-tail deduction that keeps + the residual and hard-spectrum tail indicators inside the same integral. +- [SC] §4's domination covers only the nonempty near-occurrence measure. + +What is needed is either a direct +argument that a long excursion of `M`'s window component without a window saddle inside `B(Rr)` has +weighted probability `o(r³)`, or the boundary-layer estimates of [P] §7 restated at `o(r³)` on the no-witness +event. That, together with the `d ≥ 3` slaving step, is what separates Theorem LP from LP=. + +Falsifiers. LP= is false if there is a configuration class of weighted probability `≍ r³` in which +`(M,S)` is rejected although no strict-window critical point lies within `O(r)` of the pair — for example +a mechanism where the far sector of `S` reconnects to `M`'s component (self-attachment) through a region +at distance `≫ r`. Lemma P′ and Lemma 5.1 show that no such class exists on the accurate planar cubic model with margins. +The margins must control the component down to the exact saddle level; C-01 shows that confinement at +one level above `f(S)` is not enough. A counterexample would have to live where the model is inaccurate +or unmargined, or where the hard-direction reduction fails. + +## 6. Consequences for the lifetime law, stated without inflation + +1. **Leading law.** Theorem 2.1 of the manuscript and [P] Theorems B, C need `1 − p_r = O(r³)` only; nothing + here changes the leading term `c ℓ^{−1/3}`. +2. **Compact-window selection loss, `d = 2`.** With [ELDER] (E9)–(E10) (compact `B`, `K`, `r_*`; `r³ = ℓ/k`), + Fatou's lemma and Theorem LP at every fixed `(b, k, u)` give + + liminf_{ℓ↓0} ℓ^{−2/3} [ν_cand(ℓ) − ν_eld(ℓ)] ≥ (1/3) ∫_B ∫_K ∫_{S¹} k^{−5/3} A₀(b,k,u) (a₁ + a₂)(b,k,u) dσ dk db, (6.1) + + using `A_r → A₀` uniformly on the compact parameters ([ELDER] (E9)). Under LP= the limit + `lim ℓ^{−2/3}[ν_cand − ν_eld]` exists and (6.1) is an equality, by dominated convergence with the uniform + constant of [P] Theorem A; (E11)'s existential two-sided bound would then carry an explicit limit. Without + LP=, (6.1) is a lower bound with an identified functional. The every-`d` version follows the same way from + [E_d]'s ledger once its (E9) analogue is cited. +3. **Ranking.** The loss (6.1) is `Θ(ℓ^{2/3})` ([ELDER] (E11), [P] Theorem B): relative order `ℓ` against the + leading `ℓ^{−1/3}`. For the unrestricted density the compact-window difference estimate is explicitly not + asserted ([P] Theorem C), and the rejected density there is bounded with a positive limit (`ρ_rej = O(1)` + by [C7] Theorem K / Corollary T, `ρ_rej → B_{d,L} > 0` by [C7] Theorem Z), so the selection coefficient + bounded here is a compact-window statement; neither [P] §11 nor [C7] claims a second-order expansion of + either density separately, and none is claimed here. What this packet adds is the structure on the local + landscape — which points pair — and a lower bound for its weight; locality of the decision for the field + is Conjecture LP=. +4. **Not claimed.** No numerical value of `a₁ + a₂` (uncertified floating-point values of the planar near + coefficients exist in [NUM], Math-#168, under its own conditions; this packet neither consumes nor confirms + them); no rate; no uniformity in marks or `d`; no statement about the joint law of several bars; no change + to the C6 / C7 / witness-collision registers. + +## 7. Finite controls + +`pairing_check.py` (standard library, exact rationals): I0–I3 — the shear (2.1) against [CUB] (C1)–(C3), +the conic identity, an exact central-difference check of `∂_Z P`, and `A(u) + k` — on rational points; P1 the +Lemma-P path inequalities on 6840 chart points under the assignment of §3 (path V at the chart root when +`s + Bu₁ < 0`; otherwise — case (iv) with the chart root on the side `u < u₀` — path U at `u₀` is verified +and, in addition, the partner root `S_V` is computed exactly by Vieta on [CUB] (C13), checked to be a +strict-window root with `u > u₀` and the higher of the two, and path V is verified there), with the minimal +margin reported; P2 the [ELDER] witness; N1 a typed `n = 0` grid on which the U hypothesis +`B < 0 < s − B` never holds (consistency of (C6) with case (iv)). +Deterministic JSON, byte-identical in `-O`; mutants `M1` (typed condition broken), `M2` (root pushed below +the window), `M3` (wrong conic identity), `M4` (margin sign) exit 1; unknown label exits 2. +`exploration/elder_grid.py` (standard library only; **not** run in CI, **not** a proof) and +`exploration/RESULTS_EXPLORATION.json` record the grid elder-rule computation of §3 (closed-form critical +points, discretised maximin by union-find, boundary treated by the ray criterion of Lemma 2.1(b); its +numerical limits are stated in the script header). None of this certifies the Gaussian steps of §4–§5. + +## 8. Non-claims + +No register, STATUS, GRAPH, PROOF_INDEX or catalog edit; no `lemma_closed`, prize or premise change; no +acceptance of [SC], [CUB], [TSL] or [P] beyond their own records; no numerical constant; no uniformity as +`k ↓ 0`, in `L`, or in `d`; no rate for the `o(r³)`; no claim about the finite-`r` spatial law of the +witnesses; no `d ≥ 3` hard-direction statement beyond what [SC] §5 supplies for the soft plane. + +## 9. Review division + +* **Slice A (deterministic, `d`-free):** §2, Lemma P and Lemma P′, and the exact controls. Any lane. +* **Slice B (Gaussian transfer):** §4 Theorem LP — the coupling identity, the compact-jet convergence read + from [SC] §5, and the `O(r^p)` tail. Best read by a lane not exposed to [SC]'s authorship. +* **Slice C (the obligation):** §5 — whether (O1) follows from [P] §§6–7 and [SC] §4 as stated, or needs + a new estimate. This is the lane where the next theorem is decided. + Reviewed by Codex (C85, 5396856086): the remaining weighted obligation and the cap bypass are sound at + their conditional scope. Finding C-01 is applied in v1.2: the v1.1 sketch is withdrawn, Lemma 5.1 is consumed + from QS-E, and the reverse reduction is marked conditional. diff --git a/frontiers/local_pairing_20260930/README.md b/frontiers/local_pairing_20260930/README.md new file mode 100644 index 000000000..958dea0ce --- /dev/null +++ b/frontiers/local_pairing_20260930/README.md @@ -0,0 +1,38 @@ +# Local pairing (CL-LOCAL-PAIRING-20260930-v1) + +Author-side proof candidate, Anthropic Claude, 30 September 2026. Scientific effect NONE. Nonauthor review required. + +**Question answered.** Near a short-lifetime candidate pair `(M, S)` the account knows how many extra +window critical points there are (`Θ(r³)`, Theorem Q) but not which of them change the elder pairing, nor +whether the decision is local. This packet shows: + +* On the limiting local landscape (the pinned planar cubic of [CUB]), off a null tie set, `(M,S)` is the + elder pair **iff** there is no extra strict-window critical point; otherwise `M` dies at the highest extra + window saddle (Lemmas 2.1–2.2, P, P′, Proposition 3.3 — elementary written proofs, explicit paths; reviewed + twice by clean-context referee agents before landing). +* **Theorem LP** (conditional on [SC] and [P] at their scope): `liminf r⁻³(1 − p_r) ≥ a₁ + a₂ = ν₁ + ν₂ − β_far`, + the local nonempty cluster mass — a lower bound for the `Θ(r³)` selection loss of [P] Theorem A / [ELDER] / + [E_d] by an explicit functional of the cluster measure. +* **Conjecture LP=** (`1 − p_r = (a₁ + a₂) r³ + o(r³)`, i.e. remote witnesses never pair) with its remaining + obligation (O1) stated precisely in §5. That obligation is discharged, at the packets' conditional scope, by + the OpenAI packets Math-#170 (planar, Theorem S: cap implication + retained-tail integration) and Math-#175 + (`d ≥ 3`, hard-negative-fibre barrier), both opened before this packet, reviewed by this author on 30 September, + and now on main (#170 at `fa2e990`, #175 at `eb659bd`); this packet's own contribution is the cap-free lower bound + and the exact controls. +* §6 says what this is worth for the lifetime law: a lower bound for the coefficient of the `Θ(ℓ^{2/3})` + compact-window selection loss (relative order `ℓ`); nothing for the leading term; nothing about the + unrestricted density's remainder. + +Files: `LOCAL_PAIRING.md` (the note), `pairing_check.py` (stdlib exact controls; `RESULTS.json` its output, +`-O` identical; mutants `M1`–`M4` exit 1, unknown label exit 2), `SOURCES.json` (exact identities of every +source; [SC] and [TSL] are consumed at their merged bytes, identical to the reviewed PR heads), `exploration/` (standard-library grid +elder-rule computation — evidence, not proof, not run in CI). + +Review slices (§9): A deterministic (§§2–3); B the Gaussian transfer (§4); C the obligation (§5). + +**v1.2 (2 October 2026).** Codex's Slice C review (C85, 5396856086) found C-01: v1.1's optional §5 margin sketch +confined `M`'s component at one level above `f(S)` only. v1.2 withdraws that sketch as a proof and states +Lemma 5.1 instead. It is a common-radius acceptance lemma, consumed from QS-E (main#229 5961415030; nonauthor +review ACCEPT / PASS_TECHNICAL_SCOPED, 5961620598), with exhausting jet-scaled margin sets. §5 also records the review's notes on normalization and +conditioning, and marks (O1′) ⇒ (O1) as conditional on Lemma 5.1. Nothing else changes: not the deterministic +lemmas, not Theorem LP, and not the controls. diff --git a/frontiers/local_pairing_20260930/RESULTS.json b/frontiers/local_pairing_20260930/RESULTS.json new file mode 100644 index 000000000..e8e76f78a --- /dev/null +++ b/frontiers/local_pairing_20260930/RESULTS.json @@ -0,0 +1,40 @@ +{ + "checks": { + "I0_I3_identities": { + "info": 144, + "passed": true + }, + "N1_n0_grid": { + "info": { + "n0_points_with_U_hypothesis": 0, + "n0_typed_grid_points": 135 + }, + "passed": true + }, + "P1_path_cases": { + "info": { + "cases": { + "U": 2160, + "V": 4680, + "V_at_other_root": 2160 + }, + "min_margin": "1/1200", + "samples": 6840 + }, + "passed": true + }, + "P2_elder_witness": { + "info": { + "Z1_squared": "15/8", + "n": 2, + "saddle_height": "-7/32", + "u0": "-3/4", + "vertical_line_constant": true + }, + "passed": true + } + }, + "object": "CL-LOCAL-PAIRING-20260930-v1", + "passed": true, + "scientific_effect": "NONE" +} diff --git a/frontiers/local_pairing_20260930/SOURCES.json b/frontiers/local_pairing_20260930/SOURCES.json new file mode 100644 index 000000000..1a18cbf64 --- /dev/null +++ b/frontiers/local_pairing_20260930/SOURCES.json @@ -0,0 +1,177 @@ +{ + "schema": 1, + "scientific_effect": "NONE", + "object": "CL-LOCAL-PAIRING-20260930-v1", + "kind": "author-side proof candidate (deterministic lemmas complete; Theorem LP conditional; Conjecture LP= = Math-#170 Theorem S / Math-#175 Theorem F at their scope); nonauthor analytic review required", + "author": "Anthropic Claude", + "session": "https://claude.ai/code/session_01NMeKEismAyeqgdB4sy2NJU", + "answers": "the 2026-09-30 question relayed by the owner: which window witnesses pair, and whether the pairing is local", + "consumed": [ + { + "path": "imports/lifetime_parent_20260925/UNIFORM_MATRIX_CAP_AND_LIFETIME.md", + "git_blob": "dfed3b8d318a3ab1950957f393307733a4bef3f2", + "bytes": 40261, + "sha256": "9350ad6eaba6626b93c3dedeef9e2ff816e5cdf1c8318e85fb27499141c84bc7", + "tag": "P", + "use": "\u00a71 p_r and Theorem A; \u00a74 moments; \u00a75 Z_r >= z_* r^2 and (5.3); \u00a78 genericity; \u00a7\u00a79-11 ledger" + }, + { + "path": "frontiers/window_multiplicity_laws_20260928/ELDER_LOWER_AND_DENSITY_GAP.md", + "git_blob": "aaefc8da9668e819591dd9db0b34442394f2362e", + "bytes": 10229, + "sha256": "8ce05a43bde8e0d718f09e2da1ffe75d3ec5893489254afdbf5b58b602cdba0c", + "tag": "ELDER", + "use": "(E1) maximin; \u00a72 path (E5) and C0-stability template; \u00a74 (E9)-(E11)" + }, + { + "path": "frontiers/planar_cubic_cluster_20260929/PROOF.md", + "git_blob": "bb446d08db8a944537a743ad550b88c1c2ad5758", + "bytes": 19889, + "sha256": "117e9299a71e6139270266889eb772ed97518e402d9af029bbdb67caf9d4a0f0", + "tag": "CUB", + "use": "(C1)-(C4), Theorem C, (C6)-(C13); deterministic part only" + }, + { + "path": "frontiers/spectral_cluster_closure_20260929/PROOF.md", + "pr": "d6g8k5htny-coder/Math-#162", + "commit": "382c0f9ff2281f43651ddbdf2e9b36dd52e2c6bf", + "git_blob": "16c56821b52fd76b0be791622b9c3809eafde75a", + "bytes": 25006, + "sha256": "e971b2cbe50a8a06b47c1219191201e0d1037c9adac23e5e3b7d2051bb70c2eb", + "tag": "SC", + "use": "\u00a71, \u00a72 (7)-(10), \u00a74 (14)-(16), \u00a75 normal form and (17)-(18), \u00a76 (19)-(20), \u00a77 (2), (21)-(24)", + "merged": "358f2562efbccc59f9549e5a79650e2e936395c3", + "note": "reviewed at PR head 382c0f9; merged with identical bytes" + }, + { + "path": "frontiers/two_scale_cluster_geometry_20260929/TWO_SCALE_LAW.md", + "pr": "d6g8k5htny-coder/Math-#166", + "commit": "7c82252533c3fe14ee262f7f87c0549c10968592", + "git_blob": "a32fd5f7d941bbe1fe943df045b1e0fbec8d691c", + "bytes": 17139, + "sha256": "e81d7fe09d25c3266eb8e62922756f54761d7f74d692fb35d9a8071fffd73769", + "tag": "TSL", + "use": "cited in \u00a70 only (Theorems L, T); not consumed by any proof", + "merged": "ab13a08f5e5b0adc7a7d80cf643d9b5a0618507f", + "note": "reviewed at PR head 7c82252 (custody repaired in Math-#172, proof bytes unchanged); merged with identical bytes" + } + ], + "cited_only": [ + { + "path": "frontiers/elder_lower_all_d_20260929/PROOF.md", + "git_blob": "7f41c9e315be0a7985d4c770a11a2cdf717bd46a", + "bytes": 16485, + "sha256": "88c6bfc7973fe832918f91e2ed1f47da3e51987ed9efc1a99648e82b2eb119e5", + "tag": "E_d" + }, + { + "path": "frontiers/elder_dimension_lift_20260928/PROOF.md", + "git_blob": "7303bd791a68a1139251f0f6e403a9f7cc89b006", + "bytes": 23971, + "sha256": "b529fe3780e1909014b3cb144b9a74156d976bbdc19b6711d0c5b1a1da9e5669", + "tag": "EDL" + }, + { + "path": "frontiers/c7_total_bounded_20260929/PROOF.md", + "git_blob": "28748b086ec6761ef467dc67cba475fbdf8b7455", + "bytes": 14982, + "sha256": "16c0efe372c1b1f26460aaa109287fed78e6fbd2dd00a0530998db296278dd01", + "tag": "C7-K" + }, + { + "path": "frontiers/c7_zero_gap_limit_20260929/PROOF.md", + "git_blob": "5b6328ea3d6afcbeb731698b3834e536f72d1bcb", + "bytes": 17592, + "sha256": "f0e563c45c41333f2bb6e5bf5cb98f0d3b592e2abf2af1c1b098c21ad77cb777", + "tag": "C7-Z" + }, + { + "path": "frontiers/unrestricted_selection_difference_20260929/PROOF.md", + "git_blob": "5a55b179a974a90c65d257f3f93765cc6fb30bb8", + "bytes": 13028, + "sha256": "93a63002d32fd5c35ae994fe28b1205d8098026d6ddde19c67d4977dcf5817a9", + "tag": "C7-U" + }, + { + "path": "reviews/c6_residual_closure_20260930/RECONCILIATION.md", + "git_blob": "9668d06a41e14057fe6e03ac1bf469aa1ed18580", + "bytes": 36574, + "sha256": "60ed9ca2df666bc31cf50dc1fc7f3f8e8527d5efe4b16c265c205e1e9d1e6b34", + "tag": "RES", + "use": "cited in \u00a70 only: the leading-mass localization residual bound to [TSL] Theorem L (Math-#173, merged 30106e1; declarative)", + "note": "re-pinned 2026-10-03 from blob 3cfd17c5ef0356dbd3e8f98a2d08cb404ddd982c (34758 bytes) to the bytes landed on main by Math-#183 (merge a4c3199, record v1.6): the change adds the v1.6 history entry, the installed-state LIVE/mutant rules and a fifteenth mutant (partial-install) for the record's own checker; the Theorem L direct-statement binding cited in \u00a70 and the declarative-only, executed=false status are unchanged" + }, + { + "path": "frontiers/c6_cluster_coefficients_numerics_20260930/NOTE.md", + "git_blob": "845881d40520d4acbe15ee196a1ba0d5412eafa1", + "bytes": 11018, + "sha256": "f20c1ac96b00edc071e428bd2e5dc4c91b8546a3ee0693367b783109b26aa518", + "tag": "NUM", + "use": "cited in \u00a76 only: uncertified numerical values of the planar near coefficients (Math-#168, merged 02772ec); not consumed" + }, + { + "path": "frontiers/local_elder_geometry_20260930/PROOF.md", + "bytes": 39722, + "sha256": "f68038be79b46124b0f9b31205aa6e3682b34b6f5ef81f4a5697ae81f07cc46b", + "git_blob": "ef2aa57959ea9f721bbf2316ce94cf616c1c9113", + "tag": "LEG", + "use": "cited in the header, \u00a70 and \u00a75 only: Theorem E (same deterministic statement as Lemma P\u2032 + Proposition 3.3, different proof) and Theorem S (planar equality by the cap route); not consumed; merged as Math-#170 (fa2e990) at the identical blob, now verified by the workflow" + }, + { + "path": "frontiers/concave_fibre_elder_20260930/PROOF.md", + "bytes": 23416, + "sha256": "5681896a6808f48fb7508914d0860ec508af7646e9e706fc260d935dd951c75e", + "git_blob": "923d3236b5291a29bd162937f172190db84dcef5", + "tag": "CFE", + "use": "cited in the header, \u00a70 and \u00a75 only: H1 (the d >= 3 hard-direction slaving named in \u00a75) and Theorem F; not consumed and not a premise of Theorem LP; merged as Math-#175 (eb659bd) at the identical blob, now verified by the workflow" + } + ], + "referee": { + "kind": "two clean-context Anthropic Claude subagent passes before landing (same provider, same account; not a nonauthor review)", + "pass_1": "two blocking (mountain-pass step of Lemma P\u2032; the highest-saddle claim unproved) and seventeen amendments; all applied (Lemmas 2.1, 2.2, 4.1, 4.2, Proposition 3.3 added; V-first assignment; D = 0 subcase; tail bound; \u00a75 margins; \u00a76 wording)", + "pass_2": "Lemma 2.1(b) contained two false inequalities (replaced by the four-case polar argument); Lemma 2.2 flow wording made an explicit deformation; the S_V assignment in Lemma P made definite and continuous; K_{\u03b4,R} closed by adding s <= -|B|/2 - \u03b4; \u00a75 obligation restated in jet-scaled margins as (O1\u2032) with the d >= 3 slaving named; checker: shear identity (I0), exact central-difference derivative (I2) and Vieta other-root check added, min_margin key; title and README overclaims removed" + }, + "files": [ + { + "path": "LOCAL_PAIRING.md", + "bytes": 46742, + "sha256": "e01e1d097fb087fee013559f508ad58849da06f9a764eed1464286946d78331a" + }, + { + "path": "pairing_check.py", + "bytes": 13611, + "sha256": "ff30e7850bd650a9d264ec7537ef955d38a000b085e50834f0ca6c8a933b3cc5" + }, + { + "path": "RESULTS.json", + "bytes": 796, + "sha256": "c012b374ac07c9d51dbab6e2168194b6b27afed6c8f489da5c376230044546b4" + }, + { + "path": "README.md", + "bytes": 3130, + "sha256": "745ef6547c7e93993649f5cb7a978af87b175a908f202d2e398e4eeca2e460ae" + }, + { + "path": "exploration/elder_grid.py", + "bytes": 11600, + "sha256": "cfba37fdb9042260e04b31ac8c937a3c9cfd1b3ab23157e3b3c53020919313fe" + }, + { + "path": "exploration/RESULTS_EXPLORATION.json", + "bytes": 89311, + "sha256": "a1b8e0ab19dd75f4f595925eeade8bd396b2dc3b82e49cfb542ca18b8e6f85f3" + }, + { + "path": "exploration/test_elder_grid.py", + "bytes": 1368, + "sha256": "e456bd02172f243848c7b9f166c5b37be2d730d395c9f2dde69879a0c5e58275" + } + ], + "read_at": { + "branch_base": "30106e1be251e8c18759b6fa4de6176b76380c12", + "note": "Math- main after Math-#173 merged; every consumed source verified at these bytes by the workflow" + }, + "cited_unmerged": [], + "revision": "v1.1 (30 September 2026): Codex review 5364265784 on Math-#180 applied \u2014 exploration rewritten in the standard library (elder_grid.py), Proposition 3.3 tie set extended by {D = 0}; relation to Math-#170/#175 recorded | v1.1+sources (2026-09-30 14:15 UTC): LEG (#170) moved from cited_unmerged to cited_only after its integration at the identical blob ef2aa579; no other change; branch merged with main 3e0a91b | status repair (2026-10-01): \u00a75's stale 'not a corollary of anything merged' / 'unmerged' sentence replaced by the attribution to Math-#170 Theorem S on main (requested in comments 5930621629 and 5930668120); #175 (CFE) moved from cited_unmerged to cited_only after its integration at eb659bd with the identical blob 923d3236; header and README status updated; mathematics, checker and RESULTS unchanged; branch merged with main 124c37d | v1.2 (2026-10-02): Slice C review C85 5396856086 finding C-01 applied \u2014 the v1.1 \u00a75 single-level margin sketch is withdrawn as a proof; Lemma 5.1 (common-radius acceptance, consumed from QS-E, main#229 comment 5961415030, author-side candidate) with exhausting jet-scaled margin sets M(eta, R) replaces it; the review's normalization and Gaussian-conditioning notes are recorded; (O1') => (O1) marked conditional on Lemma 5.1; LOCAL_PAIRING.md and README.md only; checker, RESULTS, exploration and workflow unchanged | status refresh (2026-10-02): QS-E's consumed status updated from 'author-side candidate, nonauthor review requested' to its delivered nonauthor review 5961620598 (ACCEPT / PASS_TECHNICAL_SCOPED), as requested by the v1.2 delta review 5397276533 (item 8); three status phrases in LOCAL_PAIRING.md and README.md only; Lemma 5.1, all mathematics, checker, RESULTS, exploration and workflow unchanged | source re-pin (2026-10-03, integration lane): after the source-preserving merge of main 7858329 (head 8ec18cc), the cited-only [RES] record changed under Math-#183 (a4c3199) from blob 3cfd17c5 to 9668d06a; non-substantive for this packet (record v1.6 checker procedure only; Theorem L binding and declarative status unchanged), so its identity is re-pinned; no other source changed; LOCAL_PAIRING.md, README.md, checker, RESULTS, exploration and workflow unchanged" +} diff --git a/frontiers/local_pairing_20260930/exploration/RESULTS_EXPLORATION.json b/frontiers/local_pairing_20260930/exploration/RESULTS_EXPLORATION.json new file mode 100644 index 000000000..bbdc28a6d --- /dev/null +++ b/frontiers/local_pairing_20260930/exploration/RESULTS_EXPLORATION.json @@ -0,0 +1,4406 @@ +{ + "k_values": [ + 1.0, + 0.5 + ], + "kind": "exploration (stdlib grid maximin); not proof; not CI", + "n0_per_k": 20, + "n1_per_k": 60, + "object": "CL-LOCAL-PAIRING-20260930-v1", + "rows": [ + { + "B": -45.94879609420099, + "D": 20.19224075543786, + "R": 3, + "cells": 90601, + "death": -0.05549737014489131, + "h_star": -0.05533533856881635, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00016203157607495855, + "level_match": true, + "merge_cell": [ + -0.6200000000000001, + 0.18000000000000016 + ], + "merge_distance": 0.013356045336164832, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -31.45708605824798, + "status": "ok", + "target": [ + -0.6072296912974191, + 0.17608807430253678 + ], + "tie_within_tol": false + }, + { + "B": 0.3251833527278954, + "D": -0.7481663376006015, + "R": 4, + "cells": 160801, + "death": -0.46105738108352223, + "h_star": -0.46089219997137765, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00016518111214458564, + "level_match": true, + "merge_cell": [ + -0.43999999999999995, + -1.54 + ], + "merge_distance": 0.012072162007310776, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.0051087676740416, + "status": "ok", + "target": [ + -0.43182419181729054, + -1.5311178124265303 + ], + "tie_within_tol": false + }, + { + "B": -86.7732312118632, + "D": -124.61689805856265, + "R": 3, + "cells": 90601, + "death": -0.0009032774923053159, + "h_star": -0.0008651923758250751, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 3.80851164802408e-05, + "level_match": true, + "merge_cell": [ + -0.52, + -0.040000000000000036 + ], + "merge_distance": 0.014731604647539242, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -48.054294377112186, + "status": "ok", + "target": [ + -0.5074679084131428, + -0.032256173042350296 + ], + "tie_within_tol": false + }, + { + "B": -6.180833406956526, + "D": 2.700867226536165, + "R": 4, + "cells": 160801, + "death": -0.0012712236304987553, + "h_star": -0.0010316142011835704, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00023960942931518497, + "level_match": true, + "merge_cell": [ + -0.5, + 0.13999999999999968 + ], + "merge_distance": 0.018234096198557946, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -3.4722143416113074, + "status": "ok", + "target": [ + -0.5077973544537647, + 0.12351717476581665 + ], + "tie_within_tol": false + }, + { + "B": 3.145454885618798, + "D": -6.047899715385371, + "R": 3, + "cells": 90601, + "death": -0.7595974491214947, + "h_star": -0.759610606399006, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 1.3157277511277599e-05, + "level_match": true, + "merge_cell": [ + -0.2599999999999998, + -0.8399999999999999 + ], + "merge_distance": 0.0089915796147635, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.310630993034894, + "status": "ok", + "target": [ + -0.25181076010969966, + -0.8437127959798172 + ], + "tie_within_tol": false + }, + { + "B": -4.259694437135033, + "D": -8.927227757924642, + "R": 3, + "cells": 90601, + "death": -0.9311917004669024, + "h_star": -0.9313799589880638, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00018825852116144404, + "level_match": true, + "merge_cell": [ + -0.6999999999999997, + -0.8199999999999998 + ], + "merge_distance": 0.007584859964260126, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -10.227238035235153, + "status": "ok", + "target": [ + -0.6963070981635178, + -0.8133748527032566 + ], + "tie_within_tol": false + }, + { + "B": -20.384998897623674, + "D": 14.75826569232329, + "R": 3, + "cells": 90601, + "death": -0.0037244479989709933, + "h_star": -0.003704660129108317, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 1.978786986267609e-05, + "level_match": true, + "merge_cell": [ + -0.52, + 0.10000000000000009 + ], + "merge_distance": 0.0041358428734774655, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -12.085773406046728, + "status": "ok", + "target": [ + -0.5178990282748213, + 0.10356245899402286 + ], + "tie_within_tol": false + }, + { + "B": 1.6817060877940404, + "D": -6.826551710830552, + "R": 3, + "cells": 90601, + "death": -0.7362100871775623, + "h_star": -0.736377382726455, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0001672955488927208, + "level_match": true, + "merge_cell": [ + -0.3799999999999999, + -0.8399999999999999 + ], + "merge_distance": 0.011892860582300251, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -5.15793086912957, + "status": "ok", + "target": [ + -0.38551117367565585, + -0.8505388375804348 + ], + "tie_within_tol": false + }, + { + "B": 3.4278730290870896, + "D": -5.291904556303018, + "R": 3, + "cells": 90601, + "death": -0.6668066852292809, + "h_star": -0.6668841375672165, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 7.745233793565731e-05, + "level_match": true, + "merge_cell": [ + -0.23999999999999977, + -0.8199999999999998 + ], + "merge_distance": 0.006114383513091894, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -3.5549258677122615, + "status": "ok", + "target": [ + -0.23606440904025042, + -0.8246794026908044 + ], + "tie_within_tol": false + }, + { + "B": 1.4399447871263513, + "D": 1.9364337915897945, + "R": 3, + "cells": 90601, + "death": -0.6985350438320079, + "h_star": -0.6986209003367425, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 8.585650473458273e-05, + "level_match": true, + "merge_cell": [ + -0.2799999999999998, + 1.2000000000000002 + ], + "merge_distance": 0.009756010788728295, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.944061164865357, + "status": "ok", + "target": [ + -0.27388177297024763, + 1.2075991476181342 + ], + "tie_within_tol": false + }, + { + "B": -3.17098390935534, + "D": 38.51512257821411, + "R": 3, + "cells": 90601, + "death": -0.8813154205261993, + "h_star": -0.881605134372597, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00028971384639775444, + "level_match": true, + "merge_cell": [ + -0.56, + 0.52 + ], + "merge_distance": 0.008565004396975207, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -21.563188408016423, + "status": "ok", + "target": [ + -0.5653564549046195, + 0.5133166108017726 + ], + "tie_within_tol": false + }, + { + "B": 24.509308378691465, + "D": -49.965655827994965, + "R": 3, + "cells": 90601, + "death": -0.9361929966236795, + "h_star": -0.937680899233456, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0014879026097764925, + "level_match": true, + "merge_cell": [ + 0.06000000000000005, + -0.3599999999999999 + ], + "merge_distance": 0.012628649276331748, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -18.811467083904468, + "status": "ok", + "target": [ + 0.05932101489273321, + -0.3473896169063463 + ], + "tie_within_tol": false + }, + { + "B": -5.11297437737228, + "D": 0.11805950320308886, + "R": 3, + "cells": 90601, + "death": -0.5682772815600443, + "h_star": -0.5682580698246971, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 1.9211735347246517e-05, + "level_match": true, + "merge_cell": [ + -0.8799999999999999, + 1.0999999999999996 + ], + "merge_distance": 0.008524181286166024, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -4.627867613764436, + "status": "ok", + "target": [ + -0.8795266747633128, + 1.1085110298918364 + ], + "tie_within_tol": false + }, + { + "B": -12.03554306829775, + "D": -4.613329434672322, + "R": 3, + "cells": 90601, + "death": -0.9431718275913078, + "h_star": -0.9431711477057104, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 6.798855973766393e-07, + "level_match": true, + "merge_cell": [ + -0.9199999999999999, + -0.7599999999999998 + ], + "merge_distance": 0.01943610756734551, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -14.330465533139378, + "status": "ok", + "target": [ + -0.9029182467086453, + -0.7507276765661068 + ], + "tie_within_tol": false + }, + { + "B": -30.65004979859838, + "D": -25.64770069395056, + "R": 3, + "cells": 90601, + "death": -0.005256410462770431, + "h_star": -0.005228023297495952, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.8387165274478508e-05, + "level_match": true, + "merge_cell": [ + -0.52, + -0.10000000000000009 + ], + "merge_distance": 0.005551279454801374, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -18.45595470075528, + "status": "ok", + "target": [ + -0.5225833562351873, + -0.09508644994454944 + ], + "tie_within_tol": false + }, + { + "B": 4.226309464028329, + "D": 0.9995314146611061, + "R": 3, + "cells": 90601, + "death": -0.986481607236425, + "h_star": -0.9868647850988689, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0003831778624439064, + "level_match": true, + "merge_cell": [ + 0.3799999999999999, + 0.5800000000000001 + ], + "merge_distance": 0.02827503394569172, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.148402263565471, + "status": "ok", + "target": [ + 0.37783625848300834, + 0.5518078775669929 + ], + "tie_within_tol": false + }, + { + "B": -38.11004092283907, + "D": 38.16402548849758, + "R": 3, + "cells": 90601, + "death": -0.5379050928949618, + "h_star": -0.5377657792103031, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00013931368465869287, + "level_match": true, + "merge_cell": [ + -0.7799999999999998, + 0.33999999999999986 + ], + "merge_distance": 0.004708199305269471, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -42.85387192261029, + "status": "ok", + "target": [ + -0.7846610633335803, + 0.33933544804680793 + ], + "tie_within_tol": false + }, + { + "B": -146.80306658600924, + "D": 319.9643814158838, + "R": 4, + "cells": 160801, + "death": -0.00041565647845158275, + "h_star": -0.00035878623522437886, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 5.687024322720388e-05, + "level_match": true, + "merge_cell": [ + -0.5, + 0.020000000000000462 + ], + "merge_distance": 0.004424908990466361, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -79.74600743747432, + "status": "ok", + "target": [ + -0.5039543800201018, + 0.018014377117746793 + ], + "tie_within_tol": false + }, + { + "B": 11.361478577924984, + "D": 25.630020827349316, + "R": 3, + "cells": 90601, + "death": -0.8600015102596905, + "h_star": -0.8599898766809966, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 1.1633578693936997e-05, + "level_match": true, + "merge_cell": [ + -0.1200000000000001, + 0.5 + ], + "merge_distance": 0.0028702155455177522, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -11.47232692850963, + "status": "ok", + "target": [ + -0.11716515952159462, + 0.4995507598195558 + ], + "tie_within_tol": false + }, + { + "B": -1.2098917371380267, + "D": -0.716893255909586, + "R": 4, + "cells": 160801, + "death": -0.6682118920423934, + "h_star": -0.6681838600334642, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.803200892920188e-05, + "level_match": true, + "merge_cell": [ + -0.7199999999999998, + -1.62 + ], + "merge_distance": 0.0033993789425360997, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.0277138880197607, + "status": "ok", + "target": [ + -0.7169962593512493, + -1.618408359553793 + ], + "tie_within_tol": false + }, + { + "B": -37.783069953079874, + "D": 58.651340695739215, + "R": 3, + "cells": 90601, + "death": -0.629262923040842, + "h_star": -0.6300066520493711, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0007437290085291481, + "level_match": true, + "merge_cell": [ + -0.7799999999999998, + 0.33999999999999986 + ], + "merge_distance": 0.0084975951810333, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -48.82321130981441, + "status": "ok", + "target": [ + -0.7746181918733421, + 0.33342388677495866 + ], + "tie_within_tol": false + }, + { + "B": 8.006966990782207, + "D": -7.462954845314378, + "R": 3, + "cells": 90601, + "death": -0.7989968887877226, + "h_star": -0.7995621180477377, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.000565229260015121, + "level_match": true, + "merge_cell": [ + 0.020000000000000018, + -0.6200000000000001 + ], + "merge_distance": 0.013091991663706308, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.644478168704394, + "status": "ok", + "target": [ + 0.009642678097789311, + -0.6119921208340448 + ], + "tie_within_tol": false + }, + { + "B": 4.39269922478193, + "D": -1.7895084659893847, + "R": 3, + "cells": 90601, + "death": -0.9778396206420557, + "h_star": -0.97822168630467, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0003820656626143393, + "level_match": true, + "merge_cell": [ + 0.30000000000000027, + -0.6800000000000002 + ], + "merge_distance": 0.012149963796574686, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.4830312032825335, + "status": "ok", + "target": [ + 0.2919508297421167, + -0.6708987650059085 + ], + "tie_within_tol": false + }, + { + "B": 0.5132249590041522, + "D": 1.8123375243792392, + "R": 4, + "cells": 160801, + "death": -0.8727802461224221, + "h_star": -0.872789703027139, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 9.45690471687577e-06, + "level_match": true, + "merge_cell": [ + -0.3999999999999999, + 1.4000000000000004 + ], + "merge_distance": 0.01229099309348801, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.34824569846089, + "status": "ok", + "target": [ + -0.40606417262632893, + 1.4106908522383512 + ], + "tie_within_tol": false + }, + { + "B": -6.907028937622724, + "D": -0.8780196550268838, + "R": 3, + "cells": 90601, + "death": -0.1893592911397055, + "h_star": -0.18911373860756495, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00024555253214056383, + "level_match": true, + "merge_cell": [ + -0.6999999999999997, + -0.6600000000000001 + ], + "merge_distance": 0.007527809678527897, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -5.466241058540874, + "status": "ok", + "target": [ + -0.7075257917222876, + -0.6598257085518966 + ], + "tie_within_tol": false + }, + { + "B": -19.76638095995714, + "D": -10.146246088557602, + "R": 3, + "cells": 90601, + "death": -0.29563909816590256, + "h_star": -0.2959820095094691, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0003429113435665654, + "level_match": true, + "merge_cell": [ + -0.7399999999999998, + -0.41999999999999993 + ], + "merge_distance": 0.015462729369123763, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -18.547334966705257, + "status": "ok", + "target": [ + -0.7271615295135282, + -0.4113820144400932 + ], + "tie_within_tol": false + }, + { + "B": -5.214761063945927, + "D": -1.5057394863723594, + "R": 4, + "cells": 160801, + "death": -0.011384415563764318, + "h_star": -0.011368505180083676, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 1.5910383680642e-05, + "level_match": true, + "merge_cell": [ + -0.54, + -0.2999999999999998 + ], + "merge_distance": 0.002588871317004027, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -3.260594773222257, + "status": "ok", + "target": [ + -0.5381237810204097, + -0.3017838321212016 + ], + "tie_within_tol": false + }, + { + "B": -28.75580719640097, + "D": 22.79558942249045, + "R": 3, + "cells": 90601, + "death": -0.005084956213839331, + "h_star": -0.005058232619854531, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.6723593984799912e-05, + "level_match": true, + "merge_cell": [ + -0.52, + 0.10000000000000009 + ], + "merge_distance": 0.003324750396415622, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -17.246516946395733, + "status": "ok", + "target": [ + -0.52234951900089, + 0.0976476127736016 + ], + "tie_within_tol": false + }, + { + "B": -3.4822925791625754, + "D": -2.0152684407955492, + "R": 3, + "cells": 90601, + "death": -0.587183374245866, + "h_star": -0.58687828401739, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00030509022847602374, + "level_match": true, + "merge_cell": [ + -0.7599999999999998, + -1.04 + ], + "merge_distance": 0.013144501762485186, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.689563219461291, + "status": "ok", + "target": [ + -0.7484182115000217, + -1.0337838837104063 + ], + "tie_within_tol": false + }, + { + "B": 0.7415379179260414, + "D": -11.952273182140154, + "R": 3, + "cells": 90601, + "death": -0.6289488609256668, + "h_star": -0.6286955671743579, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00025329375130889176, + "level_match": true, + "merge_cell": [ + -0.48, + -0.6800000000000002 + ], + "merge_distance": 0.00943404471450279, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -7.7776715802255065, + "status": "ok", + "target": [ + -0.4705662771655212, + -0.6799220695343827 + ], + "tie_within_tol": false + }, + { + "B": 6.661192947821412, + "D": 5.276945922054855, + "R": 3, + "cells": 90601, + "death": -0.9913683699921367, + "h_star": -0.9918727078733227, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0005043378811859789, + "level_match": true, + "merge_cell": [ + 0.20000000000000018, + 0.6000000000000001 + ], + "merge_distance": 0.01311485205103395, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.5950634583425405, + "status": "ok", + "target": [ + 0.2048610521997664, + 0.6121807026000826 + ], + "tie_within_tol": false + }, + { + "B": -25.777153233386805, + "D": 58.29720854386328, + "R": 3, + "cells": 90601, + "death": -0.5041223345587845, + "h_star": -0.5042786141119552, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00015627955317065734, + "level_match": true, + "merge_cell": [ + -0.6999999999999997, + 0.33999999999999986 + ], + "merge_distance": 0.004749629466650975, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -37.62693972175805, + "status": "ok", + "target": [ + -0.7011719696468083, + 0.3353972326566032 + ], + "tie_within_tol": false + }, + { + "B": -134.68137382500808, + "D": 293.57335221125294, + "R": 4, + "cells": 160801, + "death": 0.0, + "h_star": -7.409048251794185e-05, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 7.409048251794185e-05, + "level_match": true, + "merge_cell": [ + -0.5, + 0.0 + ], + "merge_distance": 0.011258592198511334, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -70.80868501097943, + "status": "ok", + "target": [ + -0.5013987239076682, + 0.011171368301264523 + ], + "tie_within_tol": false + }, + { + "B": 3.016073138368097, + "D": -4.2622989275259755, + "R": 3, + "cells": 90601, + "death": -0.43915853673042815, + "h_star": -0.4390778133655041, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 8.07233649240402e-05, + "level_match": true, + "merge_cell": [ + -0.31999999999999984, + -0.7799999999999998 + ], + "merge_distance": 0.012305839888180273, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.4137192856702594, + "status": "ok", + "target": [ + -0.3086182050414857, + -0.784678508189142 + ], + "tie_within_tol": false + }, + { + "B": 0.7285728417375964, + "D": -0.1008377740155849, + "R": 4, + "cells": 160801, + "death": -0.9910957767972519, + "h_star": -0.9914077824406794, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00031200564342748205, + "level_match": true, + "merge_cell": [ + 0.3600000000000003, + -1.46 + ], + "merge_distance": 0.02395439258899967, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.40210113422385907, + "status": "ok", + "target": [ + 0.353002641281924, + -1.43709039731295 + ], + "tie_within_tol": false + }, + { + "B": 0.7375195656881193, + "D": 0.4948908682225369, + "R": 4, + "cells": 160801, + "death": -0.49921317513014396, + "h_star": -0.49918881922712277, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.4355903021189285e-05, + "level_match": true, + "merge_cell": [ + -0.2799999999999998, + 1.6600000000000001 + ], + "merge_distance": 0.0038101631939134774, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.6135711762590201, + "status": "ok", + "target": [ + -0.2832689232018903, + 1.6619574178563596 + ], + "tie_within_tol": false + }, + { + "B": 0.9964004076036754, + "D": -1.3017059413906416, + "R": 4, + "cells": 160801, + "death": -0.6603195012188154, + "h_star": -0.6603477593684766, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.8258149661120058e-05, + "level_match": true, + "merge_cell": [ + -0.31999999999999984, + -1.3599999999999999 + ], + "merge_distance": 0.01945938445215785, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.482887208437637, + "status": "ok", + "target": [ + -0.30566954097218435, + -1.373164557998998 + ], + "tie_within_tol": false + }, + { + "B": 2.5784326584083432, + "D": 0.38789454943523144, + "R": 3, + "cells": 90601, + "death": -0.9975741962555837, + "h_star": -0.9978869966011389, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.000312800345555142, + "level_match": true, + "merge_cell": [ + 0.43999999999999995, + 0.56 + ], + "merge_distance": 0.03558253947382479, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.3299760966562362, + "status": "ok", + "target": [ + 0.43689517123895566, + 0.5245531785096197 + ], + "tie_within_tol": false + }, + { + "B": -27.191819690414537, + "D": -19.32581398265829, + "R": 3, + "cells": 90601, + "death": -0.024361285794966343, + "h_star": -0.024314698403472973, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 4.6587391493369684e-05, + "level_match": true, + "merge_cell": [ + -0.56, + -0.16000000000000014 + ], + "merge_distance": 0.004435377460389904, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -18.314564637514103, + "status": "ok", + "target": [ + -0.5573101941967149, + -0.16352668654075597 + ], + "tie_within_tol": false + }, + { + "B": 1.0231456629997437, + "D": -0.6720937900319341, + "R": 4, + "cells": 160801, + "death": -0.8041653447872369, + "h_star": -0.8042585455310562, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 9.320074381935495e-05, + "level_match": true, + "merge_cell": [ + -0.14000000000000012, + -1.6400000000000001 + ], + "merge_distance": 0.00995655980439146, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.9698371664057771, + "status": "ok", + "target": [ + -0.1350921391939123, + -1.6486629086019935 + ], + "tie_within_tol": false + }, + { + "B": 0.447670567282709, + "D": -0.9781029683199527, + "R": 3, + "cells": 90601, + "death": -0.2675270105015257, + "h_star": -0.26742570614347927, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0001013043580464501, + "level_match": true, + "merge_cell": [ + -0.43999999999999995, + -1.16 + ], + "merge_distance": 0.009425445120219743, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.941646651913304, + "status": "ok", + "target": [ + -0.4463109494199629, + -1.1670007808945104 + ], + "tie_within_tol": false + }, + { + "B": -5.839529733508192, + "D": -0.6786157836843364, + "R": 3, + "cells": 90601, + "death": -0.6832468596032527, + "h_star": -0.6832811934088714, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 3.433380561868038e-05, + "level_match": true, + "merge_cell": [ + -0.8799999999999999, + -1.04 + ], + "merge_distance": 0.005705318168033343, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -5.868728869942371, + "status": "ok", + "target": [ + -0.8836295883420692, + -1.0444019023007793 + ], + "tie_within_tol": false + }, + { + "B": -24.594552182582863, + "D": 9.76336897664496, + "R": 3, + "cells": 90601, + "death": -0.07975913493133549, + "h_star": -0.07972861450975233, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 3.052042158316337e-05, + "level_match": true, + "merge_cell": [ + -0.6200000000000001, + 0.26000000000000023 + ], + "merge_distance": 0.005039159120988891, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -17.920322332762698, + "status": "ok", + "target": [ + -0.624758284866697, + 0.2616588700292697 + ], + "tie_within_tol": false + }, + { + "B": -10.958539669337936, + "D": -3.3309770379391814, + "R": 3, + "cells": 90601, + "death": -0.08208437414112744, + "h_star": -0.08197619639427425, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00010817774685319137, + "level_match": true, + "merge_cell": [ + -0.6200000000000001, + -0.3999999999999999 + ], + "merge_distance": 0.011248735951942321, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -8.125409815204062, + "status": "ok", + "target": [ + -0.6231646799833901, + -0.3892056097384219 + ], + "tie_within_tol": false + }, + { + "B": 1.2529698927472466, + "D": -2.138500850908731, + "R": 4, + "cells": 160801, + "death": -0.8518194590381758, + "h_star": -0.851884890299808, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 6.543126163216506e-05, + "level_match": true, + "merge_cell": [ + -0.2999999999999998, + -1.2599999999999998 + ], + "merge_distance": 0.019106834255697713, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.362525155150518, + "status": "ok", + "target": [ + -0.2848663766542723, + -1.271663814114789 + ], + "tie_within_tol": false + }, + { + "B": 15.567618592686761, + "D": -22.814210264117836, + "R": 3, + "cells": 90601, + "death": -0.9549133130068984, + "h_star": -0.9556334865398387, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0007201735329402936, + "level_match": true, + "merge_cell": [ + 0.10000000000000009, + -0.41999999999999993 + ], + "merge_distance": 0.01041649380605469, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -11.42448351107766, + "status": "ok", + "target": [ + 0.10483259231820885, + -0.4292276429654362 + ], + "tie_within_tol": false + }, + { + "B": -0.10923900054061474, + "D": -2.248852372161334, + "R": 3, + "cells": 90601, + "death": -0.7080527145123783, + "h_star": -0.7079585329014715, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 9.418161090679611e-05, + "level_match": true, + "merge_cell": [ + -0.52, + -1.24 + ], + "merge_distance": 0.007557437726869302, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.835258168920066, + "status": "ok", + "target": [ + -0.5137144984635054, + -1.2358038904411073 + ], + "tie_within_tol": false + }, + { + "B": -1.4907746328393372, + "D": 4.3733224088016085, + "R": 3, + "cells": 90601, + "death": -0.22656934954084973, + "h_star": -0.2264384388183821, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00013091072246762536, + "level_match": true, + "merge_cell": [ + -0.56, + 0.6600000000000001 + ], + "merge_distance": 0.011211813380585852, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -3.7477887191885846, + "status": "ok", + "target": [ + -0.5527438812521749, + 0.6685471340224982 + ], + "tie_within_tol": false + }, + { + "B": 14.074465073142543, + "D": 10.78677340261175, + "R": 3, + "cells": 90601, + "death": -0.9976332159037123, + "h_star": -0.9982508932130834, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.000617677309371012, + "level_match": true, + "merge_cell": [ + 0.3200000000000003, + 0.33999999999999986 + ], + "merge_distance": 0.012251457275782031, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -8.3877445646247, + "status": "ok", + "target": [ + 0.3303402824248604, + 0.3465709028873085 + ], + "tie_within_tol": false + }, + { + "B": -85.0819140347385, + "D": -133.6237862000735, + "R": 4, + "cells": 160801, + "death": -0.0022031054264280317, + "h_star": -0.001969638166572213, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0002334672598558185, + "level_match": true, + "merge_cell": [ + -0.52, + -0.040000000000000036 + ], + "merge_distance": 0.008237595602491961, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -49.03977804643436, + "status": "ok", + "target": [ + -0.5118360287789293, + -0.041098888170709016 + ], + "tie_within_tol": false + }, + { + "B": 4.309132161895051, + "D": -13.133880638375174, + "R": 3, + "cells": 90601, + "death": -0.9180706092395337, + "h_star": -0.9183860627759355, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00031545353640183293, + "level_match": true, + "merge_cell": [ + -0.2799999999999998, + -0.6999999999999997 + ], + "merge_distance": 0.017787292656035396, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -8.164083656820795, + "status": "ok", + "target": [ + -0.2642738448681455, + -0.7083111867263525 + ], + "tie_within_tol": false + }, + { + "B": 1.3810548072158213, + "D": -1.7009967870225413, + "R": 4, + "cells": 160801, + "death": -0.8841891652150546, + "h_star": -0.8841105652111749, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 7.860000387971411e-05, + "level_match": true, + "merge_cell": [ + -0.19999999999999973, + -1.3399999999999999 + ], + "merge_distance": 0.009468370081150429, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.9875978559947394, + "status": "ok", + "target": [ + -0.20934171860208298, + -1.3384565216058795 + ], + "tie_within_tol": false + }, + { + "B": -29.902109412709212, + "D": 27.312697969924237, + "R": 3, + "cells": 90601, + "death": -0.0021712948085350374, + "h_star": -0.0020662266703592924, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00010506813817574498, + "level_match": true, + "merge_cell": [ + -0.5, + 0.06000000000000005 + ], + "merge_distance": 0.016302358499410627, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -17.24983751878215, + "status": "ok", + "target": [ + -0.5123027583498464, + 0.07069621566857137 + ], + "tie_within_tol": false + }, + { + "B": -96.13442465611588, + "D": -101.1166514350657, + "R": 3, + "cells": 90601, + "death": -0.07218079290882028, + "h_star": -0.07240119509205985, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00022040218323957084, + "level_match": true, + "merge_cell": [ + -0.6000000000000001, + -0.1200000000000001 + ], + "merge_distance": 0.012216027033787977, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -71.35065259025538, + "status": "ok", + "target": [ + -0.611422705012318, + -0.1243304880431433 + ], + "tie_within_tol": false + }, + { + "B": 4.084777428871123, + "D": 1.4269406354528966, + "R": 3, + "cells": 90601, + "death": -0.9925788100499014, + "h_star": -0.9930344101472792, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00045560009737777296, + "level_match": true, + "merge_cell": [ + 0.3599999999999999, + 0.6200000000000001 + ], + "merge_distance": 0.012974207511597582, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.2990879248894798, + "status": "ok", + "target": [ + 0.347714156256235, + 0.6158300954378083 + ], + "tie_within_tol": false + }, + { + "B": 0.4869032508582499, + "D": -0.058492096803164736, + "R": 4, + "cells": 160801, + "death": -0.9929246959179705, + "h_star": -0.9932048654499543, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.00028016953198384265, + "level_match": true, + "merge_cell": [ + 0.3600000000000003, + -1.7799999999999998 + ], + "merge_distance": 0.011278635475335539, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.273881940010555, + "status": "ok", + "target": [ + 0.3489143122832967, + -1.7779227070420316 + ], + "tie_within_tol": false + }, + { + "B": -12.621354197886419, + "D": -8.573670985692258, + "R": 4, + "cells": 160801, + "death": -0.0001519332669327923, + "h_star": -0.00014984559002626413, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 2.0876769065281532e-06, + "level_match": true, + "merge_cell": [ + -0.5, + -0.040000000000000036 + ], + "merge_distance": 0.006014654870380089, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -6.729224908894326, + "status": "ok", + "target": [ + -0.5021827080250897, + -0.04560462834512659 + ], + "tie_within_tol": false + }, + { + "B": -14.219342143554034, + "D": -6.9891916299220345, + "R": 3, + "cells": 90601, + "death": -0.03382791336377879, + "h_star": -0.03386459768714118, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 3.668432336238758e-05, + "level_match": true, + "merge_cell": [ + -0.5800000000000001, + -0.2599999999999998 + ], + "merge_distance": 0.013256023082132277, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -9.86116096967994, + "status": "ok", + "target": [ + -0.5699617997439459, + -0.25134224719841336 + ], + "tie_within_tol": false + }, + { + "B": -45.075836049609926, + "D": -57.913000025778075, + "R": 3, + "cells": 90601, + "death": -0.5793393159369628, + "h_star": -0.5806483022558644, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0013089863189016393, + "level_match": true, + "merge_cell": [ + -0.7999999999999998, + -0.31999999999999984 + ], + "merge_distance": 0.01781318649357168, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -53.4025381929144, + "status": "ok", + "target": [ + -0.7842257269007447, + -0.31172461957098757 + ], + "tie_within_tol": false + }, + { + "B": 4.955220183242291, + "D": -4.487781233081824, + "R": 3, + "cells": 90601, + "death": -0.9443262476211387, + "h_star": -0.9449085281359564, + "k": 1.0, + "kind": "chart_n>=1", + "level_error": 0.0005822805148176791, + "level_match": true, + "merge_cell": [ + 0.06000000000000005, + -0.7599999999999998 + ], + "merge_distance": 0.013834079409694437, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -3.7995096530960417, + "status": "ok", + "target": [ + 0.06877832222499938, + -0.7706921846237245 + ], + "tie_within_tol": false + }, + { + "B": 2.60174883034456, + "D": 2.2304575679364245, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.613626536709587, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.460102337893339, + "D": -0.2510340811695979, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.304327560327381, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 0.5000926322510999, + "D": -0.476230375745609, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.9648507042608285, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.506326506055986, + "D": 0.19094977461560259, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.768077097566283, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 0.3388537494132793, + "D": 0.11009227621822104, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.1608536848322546, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.6335665925329295, + "D": 0.370376319938857, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.34977099180758, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.5599588555400992, + "D": -0.34050963853536675, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.5191937760328895, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 0.6751673060667622, + "D": 0.07296883461191639, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.8641319829700216, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.1563860152893746, + "D": 0.19971262547502544, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.9461834685941182, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -0.13178209180749123, + "D": 1.195307293081715, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.8915644059684773, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.2592128906835605, + "D": -1.4424462352938558, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.9573045984864357, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 0.35708283898628945, + "D": 2.0399987003592344, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.0094771808533265, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.0168328718593749, + "D": 2.3821585972726007, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.8645457671056898, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -1.682473015188482, + "D": -0.6104587516963687, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.6996988117728202, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -0.07643535005471902, + "D": 1.9946680168976858, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.0080346101653337, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.0312036407147254, + "D": 0.09363034682615456, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.3215368379903265, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.9104994648045963, + "D": 2.830175751882445, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.824571639573089, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.654840925354322, + "D": -0.448097755225664, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.3982730652958346, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.565515431660857, + "D": 0.8066370377793572, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -4.099039848770113, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.600264790753231, + "D": -0.2773588741624504, + "R": 3, + "cells": 90601, + "death": -1.0, + "h_star": -1.0, + "k": 1.0, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.8912018031570774, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.866381389700569, + "D": 0.9932266860232377, + "R": 3, + "cells": 90601, + "death": -0.29514712174522917, + "h_star": -0.2949982211327277, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00014890061250144582, + "level_match": true, + "merge_cell": [ + -0.7999999999999998, + 0.9199999999999999 + ], + "merge_distance": 0.008285626700565108, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -3.2169039987498618, + "status": "ok", + "target": [ + -0.8056116231591912, + 0.9139039934924292 + ], + "tie_within_tol": false + }, + { + "B": -3.35235850471322, + "D": 1.6049604037128533, + "R": 4, + "cells": 160801, + "death": -0.000343317702430452, + "h_star": -0.000296966331388681, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.6351371041771015e-05, + "level_match": true, + "merge_cell": [ + -0.5, + 0.09999999999999964 + ], + "merge_distance": 0.00564398346719083, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -1.851840153090224, + "status": "ok", + "target": [ + -0.5053640535561985, + 0.0982445858539482 + ], + "tie_within_tol": false + }, + { + "B": -4.603772445282494, + "D": -1.6092483773705373, + "R": 3, + "cells": 90601, + "death": -0.006874231038988699, + "h_star": -0.006836039197891324, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 3.819184109737483e-05, + "level_match": true, + "merge_cell": [ + -0.54, + -0.2599999999999998 + ], + "merge_distance": 0.016599717559886495, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -2.895453714117543, + "status": "ok", + "target": [ + -0.5437038393041295, + -0.24381877021122322 + ], + "tie_within_tol": false + }, + { + "B": 0.6173000428222927, + "D": 2.3644184394987113, + "R": 3, + "cells": 90601, + "death": -0.16145170302004108, + "h_star": -0.16147483106562643, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.3128045585352197e-05, + "level_match": true, + "merge_cell": [ + -0.43999999999999995, + 0.7400000000000002 + ], + "merge_distance": 0.005122814521568102, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.4655710914425217, + "status": "ok", + "target": [ + -0.4409369048249223, + 0.7349635887805478 + ], + "tie_within_tol": false + }, + { + "B": -1.8632638934399293, + "D": 0.519708539511823, + "R": 4, + "cells": 160801, + "death": -0.003928187660541034, + "h_star": -0.003811541027781428, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00011664663275960576, + "level_match": true, + "merge_cell": [ + -0.54, + 0.3200000000000003 + ], + "merge_distance": 0.0159667967654871, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -1.1456310727983594, + "status": "ok", + "target": [ + -0.5287589187835751, + 0.3086608337151226 + ], + "tie_within_tol": false + }, + { + "B": -17.462102562062206, + "D": 20.274655066772826, + "R": 4, + "cells": 160801, + "death": 0.0, + "h_star": -2.002930486411969e-07, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.002930486411969e-07, + "level_match": true, + "merge_cell": [ + -0.5, + 0.0 + ], + "merge_distance": 0.0038804812287462657, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -8.810486819601508, + "status": "ok", + "target": [ + -0.5000438169407891, + 0.0038802338386174627 + ], + "tie_within_tol": false + }, + { + "B": -4.544841269792834, + "D": -1.1275048260711158, + "R": 3, + "cells": 90601, + "death": -0.04493889619142339, + "h_star": -0.04476953149987666, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00016936469154672784, + "level_match": true, + "merge_cell": [ + -0.6200000000000001, + -0.43999999999999995 + ], + "merge_distance": 0.012388994220400504, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -3.371789396081172, + "status": "ok", + "target": [ + -0.6318007287271331, + -0.44377226447929286 + ], + "tie_within_tol": false + }, + { + "B": 0.4514038057449023, + "D": 2.3518662241161965, + "R": 3, + "cells": 90601, + "death": -0.4373990729369619, + "h_star": -0.4374516251078745, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 5.255217091260089e-05, + "level_match": true, + "merge_cell": [ + -0.41999999999999993, + 1.04 + ], + "merge_distance": 0.013411435401922227, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.2330329774840387, + "status": "ok", + "target": [ + -0.4127781213390347, + 1.02869906781959 + ], + "tie_within_tol": false + }, + { + "B": 1.1946681259830396, + "D": -0.19219342824959987, + "R": 3, + "cells": 90601, + "death": -0.49766047657109436, + "h_star": -0.49777075590037884, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00011027932928447948, + "level_match": true, + "merge_cell": [ + 0.3999999999999999, + -0.6400000000000001 + ], + "merge_distance": 0.026405989170287313, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.6168057005370083, + "status": "ok", + "target": [ + 0.4166370267881144, + -0.6194942543731546 + ], + "tie_within_tol": false + }, + { + "B": -23.66303345247695, + "D": 12.941508330941815, + "R": 3, + "cells": 90601, + "death": -0.008611349826780185, + "h_star": -0.008552387849152795, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 5.8961977627390236e-05, + "level_match": true, + "merge_cell": [ + -0.56, + 0.1200000000000001 + ], + "merge_distance": 0.005167123783320893, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -14.702640209137462, + "status": "ok", + "target": [ + -0.5549973624265603, + 0.1212933620919794 + ], + "tie_within_tol": false + }, + { + "B": 6.742494889768344, + "D": 35.34100340000974, + "R": 3, + "cells": 90601, + "death": -0.4541177561865012, + "h_star": -0.45413342692862113, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.5670742119944236e-05, + "level_match": true, + "merge_cell": [ + -0.2599999999999998, + 0.3999999999999999 + ], + "merge_distance": 0.0025389314405092536, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -12.440490854327427, + "status": "ok", + "target": [ + -0.2616482026302111, + 0.4019312174785276 + ], + "tie_within_tol": false + }, + { + "B": -11.017812629189821, + "D": -8.565074155562373, + "R": 4, + "cells": 160801, + "death": -0.0026249151136458647, + "h_star": -0.0026435250686801907, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.8609955034326088e-05, + "level_match": true, + "merge_cell": [ + -0.52, + -0.1200000000000001 + ], + "merge_distance": 0.009871335946103859, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -6.694595598741178, + "status": "ok", + "target": [ + -0.5218651537483577, + -0.11030647252772102 + ], + "tie_within_tol": false + }, + { + "B": 8.797546221912517, + "D": -15.75430198707306, + "R": 3, + "cells": 90601, + "death": -0.31726725950174023, + "h_star": -0.31731254153347155, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.5282031731319616e-05, + "level_match": true, + "merge_cell": [ + -0.1200000000000001, + -0.3999999999999999 + ], + "merge_distance": 0.0140647589447067, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -5.089682393695067, + "status": "ok", + "target": [ + -0.13389751794329938, + -0.39783749238420246 + ], + "tie_within_tol": false + }, + { + "B": -0.2319092256557435, + "D": 0.15525071162457268, + "R": 4, + "cells": 160801, + "death": -0.14725468754975513, + "h_star": -0.14723701814734586, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.7669402409270507e-05, + "level_match": true, + "merge_cell": [ + -0.6000000000000001, + 1.7199999999999998 + ], + "merge_distance": 0.0068270612415791175, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.40589991517393537, + "status": "ok", + "target": [ + -0.6029332443558935, + 1.7138351932110654 + ], + "tie_within_tol": false + }, + { + "B": 2.4870318184907982, + "D": 12.820599154537089, + "R": 3, + "cells": 90601, + "death": -0.1974186274958829, + "h_star": -0.19737175058291878, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.687691296412222e-05, + "level_match": true, + "merge_cell": [ + -0.41999999999999993, + 0.43999999999999995 + ], + "merge_distance": 0.009984930396654443, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.661720055199898, + "status": "ok", + "target": [ + -0.410560589174074, + 0.4432552047993062 + ], + "tie_within_tol": false + }, + { + "B": -11.745073795617055, + "D": 8.133342520141467, + "R": 3, + "cells": 90601, + "death": -0.004050539352582482, + "h_star": -0.003982880779838278, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 6.765857274420358e-05, + "level_match": true, + "merge_cell": [ + -0.52, + 0.1200000000000001 + ], + "merge_distance": 0.01079861536792387, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -7.236236240968641, + "status": "ok", + "target": [ + -0.5296410779538189, + 0.12486412476739142 + ], + "tie_within_tol": false + }, + { + "B": 0.2514906852992932, + "D": -16.285671315091832, + "R": 3, + "cells": 90601, + "death": -0.11937259214627172, + "h_star": -0.11946952762379817, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 9.693547752645526e-05, + "level_match": true, + "merge_cell": [ + -0.5, + -0.3599999999999999 + ], + "merge_distance": 0.008723091684136942, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -5.624985404859303, + "status": "ok", + "target": [ + -0.49474838788484077, + -0.3530348798487195 + ], + "tie_within_tol": false + }, + { + "B": 3.891311768710658, + "D": -2.9253211037624958, + "R": 3, + "cells": 90601, + "death": -0.4350411388883229, + "h_star": -0.43513845142477653, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 9.731253645361981e-05, + "level_match": true, + "merge_cell": [ + 0.10000000000000009, + -0.6000000000000001 + ], + "merge_distance": 0.008069995262719034, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.1761548344223027, + "status": "ok", + "target": [ + 0.10238413416245169, + -0.6077097813092033 + ], + "tie_within_tol": false + }, + { + "B": -4.297403878882924, + "D": -0.6069815367763441, + "R": 3, + "cells": 90601, + "death": -0.3361301252352176, + "h_star": -0.33612353226359304, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 6.5929716245860526e-06, + "level_match": true, + "merge_cell": [ + -0.8799999999999999, + -0.8599999999999999 + ], + "merge_distance": 0.0034357855214303882, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.30456436245381, + "status": "ok", + "target": [ + -0.8806724870349126, + -0.856630670194661 + ], + "tie_within_tol": false + }, + { + "B": 0.22574094906232753, + "D": 1.362593026518504, + "R": 3, + "cells": 90601, + "death": -0.37757301567517465, + "h_star": -0.3775456595240544, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.735615112026135e-05, + "level_match": true, + "merge_cell": [ + -0.43999999999999995, + 1.1799999999999997 + ], + "merge_distance": 0.004539955249652984, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.5074684823514222, + "status": "ok", + "target": [ + -0.44453985824309106, + 1.179970321700025 + ], + "tie_within_tol": false + }, + { + "B": 1.2116472264280014, + "D": 1.018861939406349, + "R": 3, + "cells": 90601, + "death": -0.41480763767436957, + "h_star": -0.4148114816417211, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 3.843967351535582e-06, + "level_match": true, + "merge_cell": [ + -0.08000000000000007, + 1.0999999999999996 + ], + "merge_distance": 0.002071913045378065, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.0209702353143875, + "status": "ok", + "target": [ + -0.08071318439405234, + 1.0980547001034058 + ], + "tie_within_tol": false + }, + { + "B": 0.9519848810509739, + "D": 0.7220738420812587, + "R": 3, + "cells": 90601, + "death": -0.2587946283917092, + "h_star": -0.25877826267793963, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.636571376956164e-05, + "level_match": true, + "merge_cell": [ + -0.21999999999999975, + 1.12 + ], + "merge_distance": 0.008333108510322927, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.5898307815167163, + "status": "ok", + "target": [ + -0.2278830455613943, + 1.1172984652284685 + ], + "tie_within_tol": false + }, + { + "B": 0.832420749758583, + "D": -0.29470505406727027, + "R": 4, + "cells": 160801, + "death": -0.4317434768522508, + "h_star": -0.43177345468933437, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.997783708358348e-05, + "level_match": true, + "merge_cell": [ + 0.08000000000000007, + -1.3199999999999998 + ], + "merge_distance": 0.013266634895435286, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.4662640855812927, + "status": "ok", + "target": [ + 0.09321593985354851, + -1.3188413217719437 + ], + "tie_within_tol": false + }, + { + "B": 6.595637406440402, + "D": -58.24476863040153, + "R": 3, + "cells": 90601, + "death": -0.44739427978040625, + "h_star": -0.4482964626455518, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0009021828651455399, + "level_match": true, + "merge_cell": [ + -0.3599999999999999, + -0.33999999999999986 + ], + "merge_distance": 0.0218473258230447, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -18.106927082646397, + "status": "ok", + "target": [ + -0.3402831180681465, + -0.34941011224713214 + ], + "tie_within_tol": false + }, + { + "B": -28.14981242023599, + "D": 39.37815770004518, + "R": 4, + "cells": 160801, + "death": -0.00020454492975135292, + "h_star": -0.0002065335661432531, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.9886363919001913e-06, + "level_match": true, + "merge_cell": [ + -0.5, + 0.040000000000000036 + ], + "merge_distance": 0.010744116602990338, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -15.380671577641724, + "status": "ok", + "target": [ + -0.504240646444478, + 0.030128173456163834 + ], + "tie_within_tol": false + }, + { + "B": -0.7131691710394428, + "D": -0.2924703311431905, + "R": 3, + "cells": 90601, + "death": -0.0518191422493636, + "h_star": -0.05170866168668903, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00011048056267456974, + "level_match": true, + "merge_cell": [ + -0.6000000000000001, + -0.9199999999999999 + ], + "merge_distance": 0.007750544017360743, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.691922110661882, + "status": "ok", + "target": [ + -0.5923662575989832, + -0.9213404885377963 + ], + "tie_within_tol": false + }, + { + "B": 2.9226475402348213, + "D": -4.836732666830006, + "R": 3, + "cells": 90601, + "death": -0.3900989350212938, + "h_star": -0.390095941906461, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.9931148327611012e-06, + "level_match": true, + "merge_cell": [ + -0.16000000000000014, + -0.6800000000000002 + ], + "merge_distance": 0.0032751119822768226, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.8323076665736364, + "status": "ok", + "target": [ + -0.15673806544644098, + -0.6802934986622629 + ], + "tie_within_tol": false + }, + { + "B": -9.31650378315751, + "D": 6.833596316009131, + "R": 4, + "cells": 160801, + "death": -0.0020443130507170346, + "h_star": -0.002066741123494885, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.242807277785027e-05, + "level_match": true, + "merge_cell": [ + -0.52, + 0.09999999999999964 + ], + "merge_distance": 0.010652915577443297, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -5.587417665119254, + "status": "ok", + "target": [ + -0.5186345539220464, + 0.11056504459566203 + ], + "tie_within_tol": false + }, + { + "B": -5.518961497368136, + "D": -3.230710922183906, + "R": 4, + "cells": 160801, + "death": -0.0010173393846756183, + "h_star": -0.0009163131295918407, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0001010262550837776, + "level_match": true, + "merge_cell": [ + -0.5, + -0.10000000000000009 + ], + "merge_distance": 0.0153911492419103, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -3.178329353764785, + "status": "ok", + "target": [ + -0.5111332481452998, + -0.11062724144460528 + ], + "tie_within_tol": false + }, + { + "B": 6.565628673368964, + "D": -5.939789688282877, + "R": 3, + "cells": 90601, + "death": -0.45655920132016437, + "h_star": -0.4567122776931415, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0001530763729771234, + "level_match": true, + "merge_cell": [ + 0.16000000000000014, + -0.43999999999999995 + ], + "merge_distance": 0.013796569311292703, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -3.7293595710970973, + "status": "ok", + "target": [ + 0.15765389505446423, + -0.45359562857487046 + ], + "tie_within_tol": false + }, + { + "B": 10.315997266286832, + "D": 38.897454684097156, + "R": 3, + "cells": 90601, + "death": -0.3628452569646351, + "h_star": -0.363020645141684, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0001753881770488741, + "level_match": true, + "merge_cell": [ + -0.21999999999999975, + 0.33999999999999986 + ], + "merge_distance": 0.006445218219691883, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -11.170026909361878, + "status": "ok", + "target": [ + -0.2151286679961037, + 0.34422030359183614 + ], + "tie_within_tol": false + }, + { + "B": 1.254262385324717, + "D": -0.364933404852399, + "R": 3, + "cells": 90601, + "death": -0.4831426308331771, + "h_star": -0.4832505662002988, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00010793536712172536, + "level_match": true, + "merge_cell": [ + 0.28000000000000025, + -0.8799999999999999 + ], + "merge_distance": 0.026192522147724738, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.6817511381484151, + "status": "ok", + "target": [ + 0.2798866562472539, + -0.9061922769085232 + ], + "tie_within_tol": false + }, + { + "B": 4.013448091988638, + "D": -6.567670165114285, + "R": 3, + "cells": 90601, + "death": -0.26622961579224974, + "h_star": -0.2662529707766088, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.3354984359069686e-05, + "level_match": true, + "merge_cell": [ + -0.23999999999999977, + -0.54 + ], + "merge_distance": 0.011815966002917004, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.652201041041851, + "status": "ok", + "target": [ + -0.2287503467742262, + -0.5436141879975913 + ], + "tie_within_tol": false + }, + { + "B": 13.070712445347898, + "D": -65.82994567342477, + "R": 3, + "cells": 90601, + "death": -0.4165567700204186, + "h_star": -0.4172465799382047, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0006898099177861106, + "level_match": true, + "merge_cell": [ + -0.23999999999999977, + -0.2999999999999998 + ], + "merge_distance": 0.02872636985659525, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -17.42307970381076, + "status": "ok", + "target": [ + -0.21208471274291898, + -0.30677798365980363 + ], + "tie_within_tol": false + }, + { + "B": -8.546495407448898, + "D": 6.641964300888287, + "R": 4, + "cells": 160801, + "death": -5.585571877740332e-05, + "h_star": -5.176385304943545e-05, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.091865727967869e-06, + "level_match": true, + "merge_cell": [ + -0.5, + 0.040000000000000036 + ], + "merge_distance": 0.0053455297259414475, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -4.520186400219891, + "status": "ok", + "target": [ + -0.5017363483457754, + 0.03494433164922319 + ], + "tie_within_tol": false + }, + { + "B": 2.804611141735248, + "D": 3.973391833369454, + "R": 3, + "cells": 90601, + "death": -0.34704542799178933, + "h_star": -0.34729464984844566, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0002492218566563231, + "level_match": true, + "merge_cell": [ + -0.16000000000000014, + 0.7000000000000002 + ], + "merge_distance": 0.011946011869261445, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.2746930783034363, + "status": "ok", + "target": [ + -0.16615545205572843, + 0.6897619528439178 + ], + "tie_within_tol": false + }, + { + "B": -1.4847413951990094, + "D": -3.0647403217651794, + "R": 3, + "cells": 90601, + "death": -0.08004865352847093, + "h_star": -0.08005106848311314, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 2.4149546422047585e-06, + "level_match": true, + "merge_cell": [ + -0.56, + -0.52 + ], + "merge_distance": 0.0059064267504630105, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.4444358710258713, + "status": "ok", + "target": [ + -0.5639556068359126, + -0.5243862343209486 + ], + "tie_within_tol": false + }, + { + "B": -18.097256183451297, + "D": -19.149532376104403, + "R": 4, + "cells": 160801, + "death": -0.0006760299357879867, + "h_star": -0.0005798731646707353, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 9.615677111725134e-05, + "level_match": true, + "merge_cell": [ + -0.52, + -0.06000000000000005 + ], + "merge_distance": 0.013586567887964494, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -10.214348919209954, + "status": "ok", + "target": [ + -0.5083860406187816, + -0.05294941318288505 + ], + "tie_within_tol": false + }, + { + "B": 0.45108828900035364, + "D": 0.17465309598318637, + "R": 4, + "cells": 160801, + "death": -0.4939034922451646, + "h_star": -0.4939471253686033, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.363312343869108e-05, + "level_match": true, + "merge_cell": [ + 0.1200000000000001, + 1.7800000000000002 + ], + "merge_distance": 0.012211548034229816, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.3596254025984158, + "status": "ok", + "target": [ + 0.10780561612974941, + 1.7806472305750443 + ], + "tie_within_tol": false + }, + { + "B": -13.328310179574705, + "D": -53.72835976887181, + "R": 3, + "cells": 90601, + "death": -0.44038350460555975, + "h_star": -0.4403407212349082, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.2783370651555686e-05, + "level_match": true, + "merge_cell": [ + -0.7199999999999998, + -0.33999999999999986 + ], + "merge_distance": 0.005795890928937374, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -27.953626502145095, + "status": "ok", + "target": [ + -0.7149881407716073, + -0.3429109480817966 + ], + "tie_within_tol": false + }, + { + "B": -3.0367441073027552, + "D": -1.2404402947352107, + "R": 4, + "cells": 160801, + "death": -0.0023327997955883794, + "h_star": -0.00233363940087483, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 8.3960528645061e-07, + "level_match": true, + "merge_cell": [ + -0.52, + -0.19999999999999973 + ], + "merge_distance": 0.002195950487976777, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -1.8307389648748797, + "status": "ok", + "target": [ + -0.5202772100194482, + -0.20217838315058712 + ], + "tie_within_tol": false + }, + { + "B": -3.29245817759849, + "D": -1.1818804712736235, + "R": 4, + "cells": 160801, + "death": -0.011329309054479488, + "h_star": -0.01125948051737444, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 6.982853710504715e-05, + "level_match": true, + "merge_cell": [ + -0.56, + -0.31999999999999984 + ], + "merge_distance": 0.006509546376418834, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -2.20749914746383, + "status": "ok", + "target": [ + -0.5544068535286146, + -0.3233303012741155 + ], + "tie_within_tol": false + }, + { + "B": 3.8503294330330733, + "D": 5.186535248386145, + "R": 3, + "cells": 90601, + "death": -0.3601387674491729, + "h_star": -0.3603356877233716, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0001969202741987086, + "level_match": true, + "merge_cell": [ + -0.1200000000000001, + 0.6000000000000001 + ], + "merge_distance": 0.010067972647157239, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -2.7148566087747827, + "status": "ok", + "target": [ + -0.11365962629125868, + 0.6078207246759753 + ], + "tie_within_tol": false + }, + { + "B": -16.644725628308624, + "D": -10.780154549319317, + "R": 3, + "cells": 90601, + "death": -0.0358668587496765, + "h_star": -0.036129328721447085, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00026246997177058196, + "level_match": true, + "merge_cell": [ + -0.6000000000000001, + -0.19999999999999973 + ], + "merge_distance": 0.014134042702956116, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -12.417532254378242, + "status": "ok", + "target": [ + -0.6100940197361256, + -0.20989352963788402 + ], + "tie_within_tol": false + }, + { + "B": 5.269175155237582, + "D": 8.452626323892689, + "R": 3, + "cells": 90601, + "death": -0.40665326155563697, + "h_star": -0.4070597910856814, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0004065295300444416, + "level_match": true, + "merge_cell": [ + -0.08000000000000007, + 0.52 + ], + "merge_distance": 0.014442598622962906, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.107387749949865, + "status": "ok", + "target": [ + -0.06835273826611261, + 0.528539903341744 + ], + "tie_within_tol": false + }, + { + "B": 0.7533389739638584, + "D": 0.2052882251045339, + "R": 4, + "cells": 160801, + "death": -0.4406307674776049, + "h_star": -0.4407203890119177, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 8.96215343128004e-05, + "level_match": true, + "merge_cell": [ + 0.13999999999999968, + 1.3399999999999999 + ], + "merge_distance": 0.011229529367107043, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.3872930752788779, + "status": "ok", + "target": [ + 0.14643896393117528, + 1.3492001126786435 + ], + "tie_within_tol": false + }, + { + "B": -3.2756818720478003, + "D": 1.1976734811485217, + "R": 4, + "cells": 160801, + "death": -0.011017831400396756, + "h_star": -0.010938211660685888, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 7.961973971086847e-05, + "level_match": true, + "merge_cell": [ + -0.56, + 0.3200000000000003 + ], + "merge_distance": 0.006859198120553081, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -2.1953900438641187, + "status": "ok", + "target": [ + -0.5531431215879804, + 0.32017837404457455 + ], + "tie_within_tol": false + }, + { + "B": -9.20310834042542, + "D": -1.6733742734545105, + "R": 3, + "cells": 90601, + "death": -0.09839535861763224, + "h_star": -0.0985139141722467, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00011855555461445788, + "level_match": true, + "merge_cell": [ + -0.7199999999999998, + -0.41999999999999993 + ], + "merge_distance": 0.009439709980312962, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -7.2665215615106655, + "status": "ok", + "target": [ + -0.7146148590704009, + -0.41224704045665267 + ], + "tie_within_tol": false + }, + { + "B": 0.9281872856808384, + "D": 0.2573669300443406, + "R": 3, + "cells": 90601, + "death": -0.46097524778153676, + "h_star": -0.46111941687444985, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00014416909291309343, + "level_match": true, + "merge_cell": [ + 0.20000000000000018, + 1.1399999999999997 + ], + "merge_distance": 0.022011103542651216, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.4873847508420376, + "status": "ok", + "target": [ + 0.20294666304763898, + 1.1618129744887986 + ], + "tie_within_tol": false + }, + { + "B": 0.7368942335657372, + "D": -0.22042856575777525, + "R": 4, + "cells": 160801, + "death": -0.4626639501383578, + "h_star": -0.46273184813778745, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 6.789799942963359e-05, + "level_match": true, + "merge_cell": [ + 0.16000000000000014, + -1.3399999999999999 + ], + "merge_distance": 0.013168246296526496, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.42259376727885656, + "status": "ok", + "target": [ + 0.17308500700972515, + -1.3385217232730535 + ], + "tie_within_tol": false + }, + { + "B": -1.1776112766599434, + "D": -0.16653514064616395, + "R": 4, + "cells": 160801, + "death": -0.45511212589428546, + "h_star": -0.45497182533045666, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00014030056382879907, + "level_match": true, + "merge_cell": [ + -0.9199999999999999, + -1.7199999999999998 + ], + "merge_distance": 0.0168046887281831, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.353070163654953, + "status": "ok", + "target": [ + -0.9073159388718709, + -1.7089767447390067 + ], + "tie_within_tol": false + }, + { + "B": -0.543183944446863, + "D": 0.4836270943925817, + "R": 3, + "cells": 90601, + "death": -0.1718990877678208, + "h_star": -0.17190726536293427, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 8.177595113456615e-06, + "level_match": true, + "merge_cell": [ + -0.6200000000000001, + 1.2199999999999998 + ], + "merge_distance": 0.004977561231271738, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -0.9297627382928981, + "status": "ok", + "target": [ + -0.6211425865379746, + 1.2248446477492483 + ], + "tie_within_tol": false + }, + { + "B": -0.394291785498645, + "D": 0.02606028079808017, + "R": 6, + "cells": 361201, + "death": -0.04680864173735143, + "h_star": -0.0467607479272179, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 4.7893810133529946e-05, + "level_match": true, + "merge_cell": [ + -0.6399999999999997, + 1.5 + ], + "merge_distance": 0.04144622585001994, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -0.29144226061708095, + "status": "ok", + "target": [ + -0.637279491274756, + 1.5413568430793108 + ], + "tie_within_tol": false + }, + { + "B": 7.6052947592269025, + "D": -5.000691045879973, + "R": 3, + "cells": 90601, + "death": -0.4937559414094837, + "h_star": -0.4939707123801919, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00021477097070821127, + "level_match": true, + "merge_cell": [ + 0.33999999999999986, + -0.33999999999999986 + ], + "merge_distance": 0.01248008238016494, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -4.204756302887537, + "status": "ok", + "target": [ + 0.3373286668426592, + -0.3278091659277062 + ], + "tie_within_tol": false + }, + { + "B": 1.632427394709854, + "D": -1.452128181216091, + "R": 3, + "cells": 90601, + "death": -0.41498737877275776, + "h_star": -0.41511274719806185, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.00012536842530408432, + "level_match": true, + "merge_cell": [ + -0.06000000000000005, + -0.94 + ], + "merge_distance": 0.012080000841935492, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.2868654092715803, + "status": "ok", + "target": [ + -0.0585303099402531, + -0.9519902640283457 + ], + "tie_within_tol": false + }, + { + "B": -20.651088684769697, + "D": 17.10567349901761, + "R": 3, + "cells": 90601, + "death": -0.0011890171832423376, + "h_star": -0.0011199407807290659, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 6.907640251327179e-05, + "level_match": true, + "merge_cell": [ + -0.52, + 0.06000000000000005 + ], + "merge_distance": 0.007725118493825762, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -11.745580380064467, + "status": "ok", + "target": [ + -0.5145385924323446, + 0.0654635595653022 + ], + "tie_within_tol": false + }, + { + "B": -0.8865798605806948, + "D": 0.4912304404769807, + "R": 3, + "cells": 90601, + "death": -0.1608821061475406, + "h_star": -0.1608964486250213, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.4342477480722149e-05, + "level_match": true, + "merge_cell": [ + -0.6600000000000001, + 1.1399999999999997 + ], + "merge_distance": 0.012407010827577938, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.140666371750905, + "status": "ok", + "target": [ + -0.6617533627677009, + 1.1277175069028929 + ], + "tie_within_tol": false + }, + { + "B": 1.950927334756272, + "D": -0.41710914846213143, + "R": 3, + "cells": 90601, + "death": -0.49664565199022254, + "h_star": -0.49676720186150314, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 0.0001215498712806018, + "level_match": true, + "merge_cell": [ + 0.3999999999999999, + -0.5 + ], + "merge_distance": 0.015137638072592087, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.004572532645, + "status": "ok", + "target": [ + 0.40496273517872283, + -0.5143010260458002 + ], + "tie_within_tol": false + }, + { + "B": 0.6454770259114538, + "D": -1.7313432600833896, + "R": 3, + "cells": 90601, + "death": -0.26373297377020644, + "h_star": -0.2637459472805825, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 1.2973510376046438e-05, + "level_match": true, + "merge_cell": [ + -0.3799999999999999, + -0.96 + ], + "merge_distance": 0.015066705638640437, + "merge_match": true, + "n": 1, + "n_classifier": 1, + "s": -1.391990599268055, + "status": "ok", + "target": [ + -0.3910887653316233, + -0.9497997596978489 + ], + "tie_within_tol": false + }, + { + "B": -13.530360904931054, + "D": -12.573345807821454, + "R": 4, + "cells": 160801, + "death": -0.000550807103574564, + "h_star": -0.0004578901207710045, + "k": 0.5, + "kind": "chart_n>=1", + "level_error": 9.291698280355953e-05, + "level_match": true, + "merge_cell": [ + -0.5, + -0.06000000000000005 + ], + "merge_distance": 0.00793484347682105, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -7.574118231208699, + "status": "ok", + "target": [ + -0.5071764926217768, + -0.05661478292406045 + ], + "tie_within_tol": false + }, + { + "B": -0.7901679906983277, + "D": -1.7871489426232225, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.826972160208137, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.8795096390102386, + "D": -0.702972721432884, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -4.05418901041982, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.5126660195913688, + "D": 0.445684610352751, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.2608077777413813, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -0.839128592943827, + "D": 0.17535418106437772, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.4860887725837375, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.7418713657346965, + "D": -2.4444110570391624, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.419859870315747, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.3807408026659633, + "D": 0.8747502764698143, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.3563614642369544, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.808242307088248, + "D": -0.4488007258097033, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.8033172756546518, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.582144613371633, + "D": 2.8096875959862686, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.2077351248072756, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.5689642649407327, + "D": -0.19109147911185964, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.8775091499540686, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -0.30629748485392616, + "D": -1.6571975132355816, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.506808152791569, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.0875905667678, + "D": -2.3466575171877198, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.960020090233437, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.9523721063912785, + "D": 2.079051096653962, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.085177117245668, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 0.7588364147451792, + "D": -0.3754168287553532, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.9736125729346965, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.6612427495222226, + "D": -1.4347087193913894, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.921892635264673, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 1.7429231822964955, + "D": 0.22485791004544264, + "R": 3, + "cells": 90601, + "death": -0.49991519843253907, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 8.480156746093481e-05, + "level_match": true, + "merge_cell": [ + 0.48, + 0.18000000000000016 + ], + "merge_distance": 0.18110770276274848, + "merge_match": false, + "n": 0, + "n_classifier": 0, + "s": -0.8948946219262359, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.9782443103502967, + "D": -1.1018578271012474, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.3393610331394745, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.0364672340649674, + "D": 0.15766624665713724, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.7604592659155176, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.309091151109185, + "D": -2.5134475861226266, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -3.103107277415969, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -0.042339293624576335, + "D": 1.3099934497724552, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -2.114721547105174, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": 2.3360032571077127, + "D": 0.7415820879831037, + "R": 3, + "cells": 90601, + "death": -0.5, + "h_star": -0.5, + "k": 0.5, + "kind": "typed_n=0", + "level_error": 0.0, + "level_match": true, + "merge_cell": [ + 0.5, + 0.0 + ], + "merge_distance": 0.0, + "merge_match": true, + "n": 0, + "n_classifier": 0, + "s": -1.5128456652279243, + "status": "ok", + "target": [ + 0.5, + 0.0 + ], + "tie_within_tol": false + }, + { + "B": -2.0, + "D": 0.0, + "R": 4, + "cells": 160801, + "death": -0.218944, + "h_star": -0.21875, + "k": 1.0, + "kind": "elder_witness", + "level_error": 0.00019399999999999973, + "level_match": true, + "merge_cell": [ + -0.7399999999999998, + -1.3599999999999999 + ], + "merge_distance": 2.7293247133741945, + "merge_match": true, + "n": 2, + "n_classifier": 2, + "s": -1.5, + "status": "ok", + "target": [ + -0.75, + 1.3693063937629153 + ], + "tie_within_tol": true + } + ], + "scientific_effect": "NONE", + "seed": 7, + "spacing": 0.02, + "summary": { + "chart_n>=1": { + "by_n": { + "0": 0, + "1": 80, + "2": 40 + }, + "classifier_agrees_with_closed_form_count": 120, + "death_found": 120, + "level_match": 120, + "max_level_error": 0.0014879026097764925, + "merge_match": 120, + "samples": 120, + "ties_within_tol": 0 + }, + "elder_witness": { + "by_n": { + "0": 0, + "1": 0, + "2": 1 + }, + "classifier_agrees_with_closed_form_count": 1, + "death_found": 1, + "level_match": 1, + "max_level_error": 0.00019399999999999973, + "merge_match": 1, + "samples": 1, + "ties_within_tol": 1 + }, + "typed_n=0": { + "by_n": { + "0": 40, + "1": 0, + "2": 0 + }, + "classifier_agrees_with_closed_form_count": 40, + "death_found": 40, + "level_match": 40, + "max_level_error": 8.480156746093481e-05, + "merge_match": 39, + "samples": 40, + "ties_within_tol": 0 + } + } +} diff --git a/frontiers/local_pairing_20260930/exploration/elder_grid.py b/frontiers/local_pairing_20260930/exploration/elder_grid.py new file mode 100644 index 000000000..a4776aae3 --- /dev/null +++ b/frontiers/local_pairing_20260930/exploration/elder_grid.py @@ -0,0 +1,290 @@ +#!/usr/bin/env python3 +"""Grid maximin (the elder rule, discretised) on sampled pinned cubics. Standard library only. + +EXPLORATION, NOT PROOF, NOT RUN IN CI. Scientific effect: NONE. + +What it does. For sampled typed jets theta = (s, B, D) of the sheared pinned cubic (LOCAL_PAIRING.md (2.1)) + + P(u, Z) = 2k(u-1)(u+1/2)^2 + (Z^2/2)(s + B u) + (D/3) Z^3, M = (-1/2, 0), S = (1/2, 0), + +it (i) computes every critical point in closed form ([CUB] (C7), (C13): the extra roots lie on the line +s + Bu + DZ = 0 and their u-coordinates solve (12kD^2 + B^3)u^2 + 2B^2 s u + Bs^2 - 3kD^2 = 0; for D = 0 they +sit at u0 = -s/B with Z^2 = (3k - 12k u0^2)/B), counts the strict-window ones (n) and cross-checks n with the +[CUB] classifier; (ii) computes the ordinary superlevel maximin death level of M on a square grid by the +literal elder rule: cells are processed in decreasing order of P and merged with 8-neighbours by union-find; +the death level is the value at which M's component first joins a component containing a point older than +M (P > 0), and the merge cell is recorded; (iii) compares the grid death level with h_* = max window critical +value (or -k when n = 0) and the merge cell with the position of the highest extra window saddle (or S). + +Boundary. The grid covers the box |u|, |Z| <= R with R chosen from the window critical points (R <= 6). A boundary cell +with P > -k is marked "older" only when the quadratic derivative of t -> P(tu,tZ) is strictly positive +throughout [1,3] and P(3u,3Z) > 0. Endpoints and any interior quadratic minimum are checked with exact +rational arithmetic on the binary64 input values. Such a cell has an outward path, above its value +after departure, to a positive point. Other boundary cells are ordinary cells. + +Limits. Grid error near a nondegenerate saddle is of order h^2 (h the spacing) plus one cell of +8-connectivity; ties of the two extra saddle heights closer than the tolerance are reported as ties. Close to +the typed boundary s = -|B|/2 the saddle at S is nearly degenerate in Z (P ~ -k + (Z^2/2)(s + B/2) there), so +the merge cell can sit some distance along that flat valley while the death level is still exact; the level +comparison is the primary check, the merge-cell comparison the secondary one. Runtime about two minutes +for the default sample sizes (pure Python union-find on up to 361k cells per jet). +Nothing here certifies the Gaussian steps of LOCAL_PAIRING.md. + +Usage: python3 elder_grid.py [SEED] [N_SAMPLES] [N0_SAMPLES] [SPACING] +Output: RESULTS_EXPLORATION.json next to this file. +""" +import json +import math +import os +import random +import sys +from fractions import Fraction + + +def A(k, u): + return 2*k*(u - 1)*(u + 0.5)**2 + + +def P(k, s, B, D, u, Z): + return A(k, u) + (Z*Z/2)*(s + B*u) + (D/3)*Z**3 + + +def grad(k, s, B, D, u, Z): + return (6*k*u*u - 1.5*k + (B/2)*Z*Z, Z*(s + B*u + D*Z)) + + +def classifier_n(k, s, B, D): + """[CUB] Theorem C in the sheared parameters (typed domain s < -|B|/2), else None.""" + if not (s < -abs(B)/2): + return None + T = -(s - B)**2*(B + 2*s)/(12*k) + if s > B: + return 2 if D*D < T else 1 + return 1 if D*D > T else 0 + + +def quadratic_roots(a2, a1, a0): + if abs(a2) < 1e-14: + return [-a0/a1] if abs(a1) > 1e-14 else [] + disc = a1*a1 - 4*a2*a0 + if disc < 0: + return [] + q = math.sqrt(disc) + return [(-a1 + q)/(2*a2), (-a1 - q)/(2*a2)] + + +def critical_points(k, s, B, D): + """All critical points of P: the pins and the extra roots (closed form).""" + extra = [] + if abs(D) > 1e-12: + for u in quadratic_roots(12*k*D*D + B**3, 2*B*B*s, B*s*s - 3*k*D*D): + Z = -(s + B*u)/D + if abs(Z) > 1e-9: + extra.append((u, Z)) + elif abs(B) > 1e-12: + u = -s/B + Z2 = (3*k - 12*k*u*u)/B + if Z2 > 0: + extra += [(u, math.sqrt(Z2)), (u, -math.sqrt(Z2))] + out = [] + for (u, Z) in extra: + gu, gz = grad(k, s, B, D, u, Z) + if abs(gu) < 1e-7*max(1.0, k) and abs(gz) < 1e-7*max(1.0, k): + out.append((u, Z, P(k, s, B, D, u, Z))) + return out + + +def window_roots(k, cps): + return [(u, Z, val) for (u, Z, val) in cps if -k < val < 0] + + +def outward_ray_older(k, s, B, D, u, Z): + """Conservative full-segment ray test for the supplied (rounded) jet.""" + k, s, B, D, u, Z = map(Fraction, (k, s, B, D, u, Z)) + # P(tu,tZ) = a*t^3 + b*t^2 + c*t - k/2. + a = 2*k*u**3 + B*u*Z**2/2 + D*Z**3/3 + b, c = s*Z**2/2, -3*k*u/2 + derivative = lambda t: 3*a*t*t + 2*b*t + c + values = [derivative(1), derivative(3)] + if a > 0: + vertex = -b/(3*a) + if 1 < vertex < 3: + values.append(derivative(vertex)) + return min(values) > 0 and 27*a + 9*b + 3*c - k/2 > 0 + + +def grid_death(k, s, B, D, cps, spacing): + """Discrete elder rule on the box |u|,|Z| <= R. Returns (death, merge_u, merge_Z, R, ncells).""" + reach = 1.0 + for (u, Z, val) in cps: + if -k <= val <= 0: # only the window geometry sets the box; Lemma 2.1(b) handles the outside + reach = max(reach, abs(u), abs(Z)) + R = min(6, int(math.ceil(1.6*reach + 1.0))) + nper = int(round(1.0/spacing)) + N = 2*R*nper + 1 # nodes per axis; M and S are exact nodes since 1/2 is a multiple of h + h = 2.0*R/(N - 1) + W = N + 2 # padded width: a never-processed border removes all bounds checks + + def coord(i): + return -R + i*h + + total = W*W + vals = [0.0]*total + older = bytearray(total) + for i in range(N): + u = coord(i) + base = (i + 1)*W + 1 + boundary_i = (i == 0 or i == N - 1) + for j in range(N): + Z = coord(j) + v = P(k, s, B, D, u, Z) + idx = base + j + vals[idx] = v + if v > 0: + older[idx] = 1 + elif v > -k and (boundary_i or j == 0 or j == N - 1): + if outward_ray_older(k, s, B, D, u, Z): + older[idx] = 1 + iM = int(round((-0.5 + R)/h)); jM = int(round(R/h)) + idxM = (iM + 1)*W + (jM + 1) + vals[idxM] = 0.0 # exact pin value + older[idxM] = 0 + + parent = list(range(total)) + comp_older = bytearray(older) + processed = bytearray(total) + interior = [(i + 1)*W + (j + 1) for i in range(N) for j in range(N)] + order = sorted(interior, key=vals.__getitem__, reverse=True) + offsets = (-W - 1, -W, -W + 1, -1, 1, W - 1, W, W + 1) + m_seen = False + for idx in order: + processed[idx] = 1 + ra = idx + while parent[ra] != ra: + parent[ra] = parent[parent[ra]] + ra = parent[ra] + for d in offsets: + nb = idx + d + if not processed[nb]: + continue + rb = nb + while parent[rb] != rb: + parent[rb] = parent[parent[rb]] + rb = parent[rb] + if ra != rb: + parent[rb] = ra + if comp_older[rb]: + comp_older[ra] = 1 + if idx == idxM: + m_seen = True + if m_seen: + rM = idxM + while parent[rM] != rM: + parent[rM] = parent[parent[rM]] + rM = parent[rM] + if comp_older[rM]: + i, j = divmod(idx, W) + return vals[idx], coord(i - 1), coord(j - 1), R, N*N + return None, None, None, R, N*N + + +def sample_n1(rng, k): + """Chart sampler: a typed jet with a prescribed extra strict-window root (u1, Z1).""" + while True: + u1 = rng.uniform(-1.45, 0.45) + b0 = 3 - 12*u1*u1 + lo, hi = abs(b0)/2, 3 - 6*u1 + if lo < hi: + break + v = lo + rng.uniform(0.05, 0.95)*(hi - lo) + Z1 = rng.choice((-1.0, 1.0))*math.exp(rng.uniform(math.log(0.3), math.log(1.8))) + s = -k*v/Z1**2 + B = k*b0/Z1**2 + D = k*(v - b0*u1)/Z1**3 + return s, B, D + + +def sample_n0(rng, k): + while True: + B = rng.uniform(-3, 3) + s = -abs(B)/2 - rng.uniform(0.02, 3) + D = rng.uniform(-3, 3) + if classifier_n(k, s, B, D) == 0: + return s, B, D + + +def run_one(k, s, B, D, spacing, tol): + cps = critical_points(k, s, B, D) + win = window_roots(k, cps) + n = len(win) + n_cls = classifier_n(k, s, B, D) + if win: + top = max(win, key=lambda t: t[2]) + h_star = top[2] + target = (top[0], top[1]) + heights = sorted([t[2] for t in win], reverse=True) + tie = len(heights) >= 2 and heights[0] - heights[1] < tol + else: + h_star = -k + target = (0.5, 0.0) + tie = False + death, mu, mz, R, ncells = grid_death(k, s, B, D, cps, spacing) + row = {'s': s, 'B': B, 'D': D, 'n': n, 'n_classifier': n_cls, 'h_star': h_star, + 'death': death, 'R': R, 'cells': ncells, 'tie_within_tol': tie} + if death is None: + row['status'] = 'no_death_found' + return row + row['merge_cell'] = [mu, mz] + row['target'] = list(target) + row['level_error'] = abs(death - h_star) + row['merge_distance'] = math.hypot(mu - target[0], mz - target[1]) + row['level_match'] = row['level_error'] <= tol + row['merge_match'] = row['merge_distance'] <= 3*spacing or tie + row['status'] = 'ok' + return row + + +def main(): + seed = int(sys.argv[1]) if len(sys.argv) > 1 else 7 + n1 = int(sys.argv[2]) if len(sys.argv) > 2 else 40 + n0 = int(sys.argv[3]) if len(sys.argv) > 3 else 15 + spacing = float(sys.argv[4]) if len(sys.argv) > 4 else 0.02 + rng = random.Random(seed) + rows = [] + for k in (1.0, 0.5): + tol = 0.01*max(1.0, k) + for _ in range(n1): + s, B, D = sample_n1(rng, k) + rows.append(dict(k=k, kind='chart_n>=1', **run_one(k, s, B, D, spacing, tol))) + sys.stderr.write('.'); sys.stderr.flush() + for _ in range(n0): + s, B, D = sample_n0(rng, k) + rows.append(dict(k=k, kind='typed_n=0', **run_one(k, s, B, D, spacing, tol))) + sys.stderr.write('o'); sys.stderr.flush() + # the [ELDER] witness (s, B, D) = (-3k/2, -2k, 0), k = 1: both extra saddles at -7/32 (a tie by construction) + rows.append(dict(k=1.0, kind='elder_witness', **run_one(1.0, -1.5, -2.0, 0.0, spacing, 0.01))) + summary = {} + for kind in ('chart_n>=1', 'typed_n=0', 'elder_witness'): + sub = [r for r in rows if r['kind'] == kind] + summary[kind] = { + 'samples': len(sub), + 'classifier_agrees_with_closed_form_count': sum(1 for r in sub if r['n'] == r['n_classifier']), + 'death_found': sum(1 for r in sub if r['status'] == 'ok'), + 'level_match': sum(1 for r in sub if r.get('level_match')), + 'merge_match': sum(1 for r in sub if r.get('merge_match')), + 'ties_within_tol': sum(1 for r in sub if r['tie_within_tol']), + 'by_n': {str(m): sum(1 for r in sub if r['n'] == m) for m in (0, 1, 2)}, + 'max_level_error': max([r.get('level_error', 0.0) for r in sub] or [0.0]), + } + out = {'object': 'CL-LOCAL-PAIRING-20260930-v1', 'kind': 'exploration (stdlib grid maximin); not proof; not CI', + 'scientific_effect': 'NONE', 'seed': seed, 'spacing': spacing, 'n1_per_k': n1, 'n0_per_k': n0, + 'k_values': [1.0, 0.5], 'summary': summary, 'rows': rows} + path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'RESULTS_EXPLORATION.json') + with open(path, 'w') as fh: + json.dump(out, fh, indent=1, sort_keys=True) + fh.write('\n') + print(json.dumps(summary, indent=1, sort_keys=True)) + + +if __name__ == '__main__': + main() diff --git a/frontiers/local_pairing_20260930/exploration/test_elder_grid.py b/frontiers/local_pairing_20260930/exploration/test_elder_grid.py new file mode 100644 index 000000000..2db04a168 --- /dev/null +++ b/frontiers/local_pairing_20260930/exploration/test_elder_grid.py @@ -0,0 +1,33 @@ +"""Boundary-ray controls only; no grid simulation or Gaussian claim.""" +import unittest +import elder_grid as G + + +class OutwardRayTests(unittest.TestCase): + def test_three_increasing_samples_do_not_establish_connection(self): + # P(tu,tZ) = .2 t^3 - .25 t^2 - .15 t - .5. + # P'(1) = -.05, although P(1),P(1.5),P(2),P(3) increase. + args = (1.0, -1/18, 0.0, 0.022, 0.1, 3.0) + k, s, B, D, u, z = args + vals = [G.P(k,s,B,D,t*u,t*z) for t in (1,1.5,2,3)] + self.assertTrue(-k < vals[0] < vals[1] < vals[2] < vals[3]) + self.assertGreater(vals[-1], 0) + self.assertFalse(G.outward_ray_older(*args)) + + def test_monotone_ray_to_positive_value_is_accepted(self): + self.assertTrue(G.outward_ray_older(1.0, -1.0, 0.0, 0.0, 1.0, 0.0)) + + def test_decreasing_ray_is_rejected(self): + self.assertFalse(G.outward_ray_older(1.0, -1.0, 0.0, 0.0, -1.0, 0.0)) + + def test_interior_derivative_minimum_is_checked(self): + # Derivative .9*t^2 - 3.6*t + 3 is positive at 1 and 3, + # but negative at 2. The endpoint P(3) is positive. + self.assertFalse(G.outward_ray_older(1.0, -3.6, 0.0, 48.9, -2.0, 1.0)) + + def test_increasing_ray_must_reach_positive_value(self): + self.assertFalse(G.outward_ray_older(1.0, -0.0001, 0.0, 0.03, 0.0, 1.0)) + + +if __name__ == '__main__': + unittest.main() diff --git a/frontiers/local_pairing_20260930/pairing_check.py b/frontiers/local_pairing_20260930/pairing_check.py new file mode 100644 index 000000000..6a3aec4d4 --- /dev/null +++ b/frontiers/local_pairing_20260930/pairing_check.py @@ -0,0 +1,273 @@ +#!/usr/bin/env python3 +"""Exact finite controls for LOCAL_PAIRING.md (standard library only; exact rationals). + +Checked here, exactly: + I0 the shear: [CUB] (C1) evaluated at X = u - aZ/(12k) equals (2.1) with B, D from (C2), at rational points; + I1 the pinned cubic identities: P(u,Z) = A(u) + (Z^2/2)(s+Bu) + (D/3)Z^3 with A(u) = 2k(u-1)(u+1/2)^2, + and A(u) + (B u/6) Z^2 = -k(u+1/2) on the conic 6k(u^2-1/4) + (B/2)Z^2 = 0 (CUB (C8)/(C9) consistency); + I2 at an extra critical point (u1,Z1): P(S1) = A(u1) + Z1^2 (s+Bu1)/6; and the vertical-line derivative + d/dZ P(u1,Z) = Z (s+Bu1+DZ), checked by exact differentiation of the cubic in Z (a central difference + of a cubic equals its derivative plus exactly (D/3) h^2, which is subtracted); + I3 A(u) + k = (k/2)(u+1)(2u-1)^2 and A'(u) = 6ku^2 - 3k/2 at rational points; + P1 the path cases of Lemma P on a rational grid of the chart (u1, v, Z1, a): every sample is a typed jet + with an extra strict-window root (n >= 1 by the [CUB] classifier), at least one of the paths V, U applies + under the V-first assignment (V and U may both apply in case (iv); V is taken first), and the displayed + path has minimum value > -k with the stated margin, rising past 0 at its far end (sampled at 2Z1, 4Z1, + resp. 3, 6, 12 on the D side; the monotonicity itself is the one-line calculus of the text, not a check); + for every chart point whose own root is not V-admissible (case (iv), root on the side u < u0) the OTHER + root is computed exactly by Vieta on [CUB] (C13) and verified to be a strict-window root on the side + u > u0, V-admissible, and higher than the chart root (Lemma P's assignment and Proposition 3.3); + P2 the [ELDER] witness (s,a,beta,c) = (-3k/2,0,-2k,0): both extra saddles at height -7k/32, and the vertical + line at u = -3/4 is constant (D = 0), so the polygonal path of [ELDER] (E5) is needed there (null case); + N1 on a rational grid of typed jets with n = 0, the U hypothesis (B < 0 and s > B) never holds: consistency + of the [CUB] classifier with Lemma P's case (iv), which always has n >= 1; + M semantic mutants (--mutant M1|M2|M3|M4) must fail; an unknown label exits 2. + +The controls certify algebra, case coverage on the grid and the path minima; they do not prove the Gaussian +transfer (Theorem LP) or the weak convergence consumed from [SC]. Scientific effect: NONE. +""" +import argparse +import json +import sys +from fractions import Fraction as F + +K_VALUES = [F(1), F(2), F(1, 3)] + + +def A(k, u): + return 2*k*(u - 1)*(u + F(1, 2))**2 + + +def P(k, s, B, D, u, Z): + return A(k, u) + (Z*Z/2)*(s + B*u) + (D/3)*Z**3 + + +def cub_n(k, s, a, beta, c): + """[CUB] Theorem C classifier on the typed domain; None if not typed.""" + B = beta - a*a/(12*k) + D = (c - a*beta/(4*k) + a**3/(72*k*k))/2 + if not (s < -abs(B)/2): + return None + T = -(s - B)**2*(B + 2*s)/(12*k) + if s > B: + return 2 if D*D < T else 1 + return 1 if D*D > T else 0 + + +def chart(k, u1, v, Z1, a): + b0 = 3 - 12*u1*u1 + s = -k*v/Z1**2 + B = k*b0/Z1**2 + D = k*(v - b0*u1)/Z1**3 + beta = B + a*a/(12*k) + c = 2*D + a*B/(4*k) + a**3/(144*k*k) + return s, B, D, beta, c + + +def chart_grid(): + us = [F(n, 10) for n in range(-14, 5)] # -1.4 .. 0.4 + out = [] + for u1 in us: + b0 = 3 - 12*u1*u1 + lo, hi = abs(b0)/2, 3 - 6*u1 + if not lo < hi: + continue + for t in (F(1, 4), F(1, 2), F(3, 4)): + v = lo + t*(hi - lo) + for Z1 in (F(-2), F(-1), F(-1, 2), F(-1, 4), F(1, 4), F(1, 2), F(1), F(2)): + for a in (F(-2), F(-1, 2), F(0), F(1, 2), F(2)): + out.append((u1, v, Z1, a)) + return out + + +def cub_C1(k, s, a, beta, c, X, Z): + """[CUB] (C1): the unsheared pinned cubic.""" + return 2*k*X**3 - 3*k*X/2 - k/2 + (s/2)*Z*Z + (a/2)*(X*X - F(1, 4))*Z + (beta/2)*X*Z*Z + (c/6)*Z**3 + + +def check_identities(k, mutant): + rows = 0 + # I0: shear (C2) turns (C1) into (2.1) + for (s, a, beta, c) in ((F(-3, 2), F(0), F(-2), F(0)), (F(-2), F(1), F(1, 3), F(-5, 7)), (F(-7, 5), F(-3, 2), F(2), F(4))): + B = beta - a*a/(12*k); D = (c - a*beta/(4*k) + a**3/(72*k*k))/2 + for u in (F(-1), F(-1, 3), F(1, 2), F(5, 4)): + for Z in (F(-2), F(1, 3), F(3)): + X = u - a*Z/(12*k) + if cub_C1(k, s, a, beta, c, X, Z) != P(k, s, B, D, u, Z): + return False, 'I0 shear identity fails' + for u in (F(-3), F(-1), F(-1, 2), F(0), F(1, 2), F(2), F(7, 3)): + lhs = A(k, u) + k + rhs = (k/2)*(u + 1)*(2*u - 1)**2 + dA = 6*k*u*u - 3*k/2 + exact_dA = (A(k, u + F(1, 10**6)) - A(k, u - F(1, 10**6)))/(F(2, 10**6)) # central difference of a cubic: exact up to h^2 term + if lhs != rhs or abs(exact_dA - dA) > F(1, 10**11): + return False, 'I3 axis identity fails at u=%s' % u + for u in (F(-3, 2), F(-1), F(-3, 4), F(-1, 2), F(-1, 5), F(0), F(1, 3), F(1, 2), F(2)): + for Z in (F(-2), F(-1, 3), F(1, 2), F(3)): + for s in (F(-3), F(-1, 2)): + for D in (F(-1), F(2, 5)): + B = -12*k*(u*u - F(1, 4))/(Z*Z) # conic through (u,Z) + lhs = A(k, u) + (B*u/6)*Z*Z + rhs = -k*(u + F(1, 2)) if mutant != 'M3' else -k*(u - F(1, 2)) + if lhs != rhs: + return False, 'I1 conic identity fails at u=%s Z=%s' % (u, Z) + # I2: P at a critical point on the line s + Bu + DZ = 0 -> solve for D given (s,B,u,Z) + Dc = -(s + B*u)/Z + if P(k, s, B, Dc, u, Z) != A(k, u) + Z*Z*(s + B*u)/6: + return False, 'I2 critical value formula fails' + # derivative identity in Z by exact differentiation: for a cubic q(Z) the central + # difference (q(Z+h)-q(Z-h))/(2h) equals q'(Z) + (leading coefficient) h^2 exactly + h = F(1, 7) + central = (P(k, s, B, D, u, Z + h) - P(k, s, B, D, u, Z - h))/(2*h) - (D/3)*h*h + if central != Z*(s + B*u + D*Z): + return False, 'I2 derivative identity fails' + rows += 1 + return True, rows + + +def path_case(k, s, B, D, u1, Z1): + """Return (case, margin, message) for the explicit path of Lemma P at the extra root (u1, Z1). + + V: vertical descent at u1 (needs s + B u1 < 0 and -1 < u1 < 1/2): the path is M -> axis -> (u1,0) + -> straight down the vertical line to S1 -> on to P -> +infinity; minimum P(S1). + U: vertical rise at u0 = -s/B (needs B < 0, s > B, D != 0): M -> axis -> (u0,0) -> vertical line, on + which P = A(u0) + D Z^3/3; minimum A(u0). + Lemma P: every typed jet with a strict-window extra root admits V or U (B = 0 is included in V; D = 0 + with B < 0 < ... is the [ELDER] null case handled by its polygonal path). + """ + P1 = P(k, s, B, D, u1, Z1) + if s + B*u1 < 0 and -1 < u1 < F(1, 2): + if not (A(k, u1) > P1 > -k): + return 'V', None, 'ordering A(u1) > P(S1) > -k fails' + if not ((D > 0) == (Z1 > 0)): + return 'V', None, 'root not on the D side' + far1 = P(k, s, B, D, u1, 2*Z1); far2 = P(k, s, B, D, u1, 4*Z1) + if not (far1 > P1 and far2 > far1 and far2 > 0): + return 'V', None, 'vertical line does not rise past 0' + return 'V', P1 + k, 'ok' + if B < 0 and s > B: + u0 = -s/B + if not (-1 < u0 < -F(1, 2)): + return 'U', None, 'u0 outside (-1,-1/2)' + if D == 0: + return 'U', None, 'D = 0 (null case, [ELDER] path)' + if not (A(k, u0) > -k): + return 'U', None, 'A(u0) <= -k' + Zf = F(3) if D > 0 else F(-3) + if not (P(k, s, B, D, u0, Zf) == A(k, u0) + D*Zf**3/3 and P(k, s, B, D, u0, 2*Zf) > P(k, s, B, D, u0, Zf) > A(k, u0)): + return 'U', None, 'vertical line at u0 not monotone' + if not (P(k, s, B, D, u0, 4*Zf) > 0): + return 'U', None, 'vertical line at u0 does not pass 0 by |Z|=12' + return 'U', A(k, u0) + k, 'ok' + return 'none', None, 'no path case applies (would contradict Lemma P)' + + +def check_paths(mutant): + counts = {'V': 0, 'U': 0, 'V_at_other_root': 0} + total = 0 + min_margin = None + for k in K_VALUES: + for (u1, v, Z1, a) in chart_grid(): + s, B, D, beta, c = chart(k, u1, v, Z1, a) + if mutant == 'M1': + s = -abs(B)/2 + F(1, 100) # break the typed condition + n = cub_n(k, s, a, beta, c) + if n is None or n < 1: + return False, 'chart sample not typed/n>=1 at %s' % ((k, u1, v, Z1, a),) + # (u1,Z1) is a critical point in the strict window + P1 = P(k, s, B, D, u1, Z1) + if mutant == 'M2': + P1 = P1 - k # pretend the root sits below the window + if not (-k < P1 < 0): + return False, 'root not in the strict window' + gu = 6*k*u1*u1 - 3*k/2 + (B/2)*Z1*Z1 # d/du of the sheared cubic + gz = Z1*(s + B*u1 + D*Z1) + if not (gu == 0 and gz == 0): + return False, 'chart point is not a critical point' + case, margin, msg = path_case(k, s, B, D, u1, Z1) + if margin is None: + return False, 'case %s: %s at %s' % (case, msg, (k, u1, v, Z1, a)) + if mutant == 'M4': + margin = -margin + if not margin > 0: + return False, 'nonpositive margin' + counts[case] += 1; total += 1 + min_margin = margin if min_margin is None else min(min_margin, margin) + if case == 'U': + # the chart root is on the side u1 < u0; Lemma P assigns V at the other root S_V (u > u0). + # [CUB] (C13): (12kD^2+B^3) u^2 + 2B^2 s u + B s^2 - 3kD^2 = 0 has the two roots' u-coordinates. + lead = 12*k*D*D + B**3 + if lead == 0: + return False, 'U sample with a single finite root (leading coefficient of (C13) zero)' + u2 = -2*B*B*s/lead - u1 + Z2 = -(s + B*u2)/D + gu2 = 6*k*u2*u2 - 3*k/2 + (B/2)*Z2*Z2 + if gu2 != 0 or not (-k < P(k, s, B, D, u2, Z2) < 0): + return False, 'other root is not a strict-window critical point' + u0 = -s/B + case2, margin2, msg2 = path_case(k, s, B, D, u2, Z2) + if not (u2 > u0 and case2 == 'V' and margin2 is not None): + return False, 'other root is not V-admissible on the side u > u0: %s' % msg2 + if not (P(k, s, B, D, u2, Z2) > P(k, s, B, D, u1, Z1)): + return False, 'other root is not the higher saddle' + counts['V_at_other_root'] += 1 + return True, {'samples': total, 'cases': counts, 'min_margin': str(min_margin)} + + +def check_elder_witness(mutant): + k = F(1) + s, a, beta, c = F(-3, 2), F(0), F(-2), F(0) + B = beta - a*a/(12*k); D = (c - a*beta/(4*k) + a**3/(72*k*k))/2 + n = cub_n(k, s, a, beta, c) + u0 = -s/B # = -3/4 + # the two extra saddles: line s + Bu = 0 (D = 0) and conic + Z2 = -12*k*(u0*u0 - F(1, 4))/B + h = A(k, u0) + Z2*(s + B*u0)/6 + const = all(P(k, s, B, D, u0, Z) == A(k, u0) for Z in (F(0), F(1), F(9, 4), F(-3))) + ok = (n == 2 and u0 == F(-3, 4) and Z2 == F(15, 8) and h == F(-7, 32) and const and D == 0) + if mutant == 'M3': + ok = ok and h == F(-1, 4) + return ok, {'n': n, 'u0': str(u0), 'Z1_squared': str(Z2), 'saddle_height': str(h), 'vertical_line_constant': const} + + +def check_n0(mutant): + """On typed grid jets with n = 0 the U hypothesis (B < 0 and s > B) never holds ([CUB] (C6): s > B gives n >= 1).""" + k = F(1); found = 0; u_hypothesis = 0 + for s in (F(-3), F(-5, 2), F(-2), F(-3, 2), F(-1), F(-1, 2)): + for a in (F(-1), F(0), F(1)): + for beta in (F(-3), F(-1), F(0), F(1), F(2)): + for c in (F(-2), F(0), F(2)): + n = cub_n(k, s, a, beta, c) + if n == 0: + found += 1 + B = beta - a*a/(12*k) + if B < 0 and s > B: + u_hypothesis += 1 + if mutant == 'M4': + u_hypothesis += 1 + return found > 0 and u_hypothesis == 0, {'n0_typed_grid_points': found, 'n0_points_with_U_hypothesis': u_hypothesis} + + +def main(argv=None): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument('--mutant', default=None) + args = parser.parse_args(argv) + if args.mutant is not None and args.mutant not in ('M1', 'M2', 'M3', 'M4'): + print('unknown mutant label', file=sys.stderr) + return 2 + report = {'object': 'CL-LOCAL-PAIRING-20260930-v1', 'scientific_effect': 'NONE', 'checks': {}} + ok_all = True + for name, fn in (('I0_I3_identities', lambda: check_identities(F(1), args.mutant)), + ('P1_path_cases', lambda: check_paths(args.mutant)), + ('P2_elder_witness', lambda: check_elder_witness(args.mutant)), + ('N1_n0_grid', lambda: check_n0(args.mutant))): + ok, info = fn() + report['checks'][name] = {'passed': bool(ok), 'info': info} + ok_all = ok_all and bool(ok) + report['passed'] = ok_all + print(json.dumps(report, indent=2, sort_keys=True)) + return 0 if ok_all else 1 + + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/frontiers/small_lifetime_shape_20260930/MANIFEST.json b/frontiers/small_lifetime_shape_20260930/MANIFEST.json new file mode 100644 index 000000000..dcad2d5d7 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/MANIFEST.json @@ -0,0 +1,79 @@ +{ + "schema": 1, + "scientific_effect": "NONE", + "review_status": "NONAUTHOR_REVIEW_OPEN", + "files": [ + { + "path": "PLAN.md", + "bytes": 1990, + "sha256": "57197b803f766fbb499b8036db59b169a34c0eed4bbe883c69064bff0714bd94", + "git_blob": "3a21113120bd24e783ba1a647797f56df5d2ee34" + }, + { + "path": "PROOF.md", + "bytes": 17932, + "sha256": "70aec4a9cf0ea0aed1dae04f7345481a32f42f2707dca89d31a086fd451d9b64", + "git_blob": "71906304451abc7a422c65a76b297874bdcb8cfe" + }, + { + "path": "README.md", + "bytes": 3749, + "sha256": "52dd2c3050eb34c46364cdf0ec47d1178650d7116a3be6209b47f59a5ab6bc31", + "git_blob": "d0886a4bac606f87731c275fe3243c2a444b168f" + }, + { + "path": "RECONNAISSANCE.md", + "bytes": 2127, + "sha256": "d23d28c62e8a90b25c07d7013d5de2eb8240aa3ef8a8f89f2eb6a98cd96050f1", + "git_blob": "533cef3ce59bc1976e32c0c7077c4d8b54d0317c" + }, + { + "path": "RESULTS.json", + "bytes": 800, + "sha256": "a733f8baf3a4d409d8b3bff6768a609e3efd36d235d4c04dc76f6ce208e72e39", + "git_blob": "7083aeb451578d29e071303e78451692947e7d2a" + }, + { + "path": "SOURCES.json", + "bytes": 1118, + "sha256": "a594d88ce35716bd3f8ef659cf43ee9267b1d1b186b5b19edc0813f327182651", + "git_blob": "bde07b2fc5ed653185713c6d011f0ab2bd441b48" + }, + { + "path": "VALIDATION.md", + "bytes": 3507, + "sha256": "c6035d317c3e5b677f0657113ef5641072e7a0abf97d91f0fc14dd6887ee8940", + "git_blob": "1cc9569f49e2ccf27173cbae2cfe1dd1ecc28372" + }, + { + "path": "shape.py", + "bytes": 8811, + "sha256": "fa7d46f74b74ca7ab5e52edb0285e60fc0b6db320cd004e1f6bd3dce16ea9226", + "git_blob": "d44da81c9faf7428998cf484290db59d89bbf55f" + }, + { + "path": "test_jacobian.py", + "bytes": 1849, + "sha256": "eb7569f5ec0eb8a4d29cdfe2e0ea2a19e4b7518f44159af02576ae0d45f03682", + "git_blob": "4fbd7f0a4f0976c3fa01663f37ec0d1c643dfbf9" + }, + { + "path": "test_shape.py", + "bytes": 8137, + "sha256": "ce20396e5659af4361d4102a528496793df532bd83d00c1b0f5fa5a664a73e7d", + "git_blob": "a47c361f0cc820a06e1c6e89b80e7844a9da5051" + }, + { + "path": "test_verify.py", + "bytes": 6746, + "sha256": "5ae0bd70f64e1f481405a2ac3be15d420310a1eda764d0e51e22cc96aa6b63d9", + "git_blob": "acc836c2c2719f4788cf1e6651d25e20df7dfb15" + }, + { + "path": "verify.py", + "bytes": 5379, + "sha256": "484320913f4f196c0b4113a6af02e245527542825270ad2ee32ad90caa50d0dd", + "git_blob": "3403814d2f27574be63faa5f89d3635f7b6d3316" + } + ] +} diff --git a/frontiers/small_lifetime_shape_20260930/PLAN.md b/frontiers/small_lifetime_shape_20260930/PLAN.md new file mode 100644 index 000000000..3a2111312 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/PLAN.md @@ -0,0 +1,31 @@ +# Small-lifetime recovery and implementation plan + +Goal: recover the specific unfinished calculation from the user's interruption +screenshot, test it and publish an additive conditional consumer. Do not redo +PR182's fixed-r inverse moment proof, alter PR181 or count source-exposed work +as independent review. The new direct September30 Continue authorizes this +foreground work; it does not restart a stopped agent, timer, watch or loop. + +Design: start from PR181's explicit normalized shape density and exact companion +map. Solve the singleton boundary before scaling. Blow up the selected lifetime +and shape coordinate, derive the normalized limiting law, then compare it against +the exact finite-cutoff doublet square density. The square corner analysis is +needed to justify unbounded moments rather than infer them from weak convergence. + +Implementation is inline in a new isolated packet directory. A complete local +upstream checkout could not be obtained, so GitHub Git-data writes are additive +on a new branch and actual historical-source verification is hosted. + +Completed author-side tasks: +1. Read live main#95 claims, PR181 exact interface and PR182's delivered reviews. +2. Claim only the unfinished small-lifetime consumer, not an overlapping source. +3. Write eight failing exact tests; implement shape and ratio algebra. +4. Expand independent checks, including the direct inner-root square Jacobian. +5. Write16 hostile Git/inventory tests and observe29 failures before implementation. +6. Implement verification; run46 tests per mode and all six semantic mutants. +7. Write full proof, immutable source pins, exact results and bounded reconnaissance. + +Publication tasks: authenticate the full remote packet tree against local bytes; +create an additive PR/workflow; request bounded nonauthor A/B/C reviews; inspect +current hosted source and existing downstream/formal checks, without anticipating +success or acceptance. The author will not self-merge or change scientific status. diff --git a/frontiers/small_lifetime_shape_20260930/PROOF.md b/frontiers/small_lifetime_shape_20260930/PROOF.md new file mode 100644 index 000000000..719063044 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/PROOF.md @@ -0,0 +1,389 @@ +# Small-lifetime doublets: an exact shape limit and a singular companion-moment crossover + +Object: OA-SMALL-LIFETIME-SHAPE-20260930-v1. +Author: OpenAI / GPT-6 Astra Pro, foreground continuation after the owner's +new September 30 instruction and interrupted-session screenshot. +Disposition: AUTHOR-SIDE CONDITIONAL CANDIDATE; NONAUTHOR REVIEW OPEN. +Scientific effect NONE. No source proof, register, Boolean, prize or existing +review changes. This conversation authored the source cluster calculations; +its reconstruction here is not an independent review of those premises. + +## 1. Precisely which law is being conditioned + +This paper studies an EXPLICIT, finite-dimensional probability measure. Its +interpretation as an actual Gaussian elder-partner law is conditional on [E]. +The original field separation r tends to zero first, and the selected partner's +microscopic radius threshold tends to infinity second, as in [E]. We then +condition the resulting lifetime fraction e to be at most epsilon and take +epsilon to zero. A further large companion-ratio limit is taken only afterward. +This is NOT the fixed-r small-lifetime problem of PR182, and that theorem is +neither consumed nor re-proved here. + +Immutable sources (full identities in SOURCES.json): +[E] PR181 PROOF.md at ae343a1c2a0070476fed4d31a15b6911831edd4d, +blob 91f88e392fb8aa947dac4fc81c2b45f783fa66cd: its explicit selected shape law, +(4)-(7), (15)-(17), and its doublet square density and heights (20)-(23). +[C] PR169 PROOF.md at 56a7904f9ad7d409c31e23195c0e7eeab230613a, +blob 19a6044f2066643b5baab34ce5b6b6efb431e84a: deterministic companion-root +involution and strict doublet classifier E12-E17. No new Gaussian or +actual-pairing conclusion is inferred from polynomial roots alone. + +Put E0=888807/280. In the coordinates of [E], x=-u-1/2 and +v=6(e+x), the selected shape probability Pi has density + + dPi(e,x)=E0^-1 K(e,x) de dx, + K(e,x)=10368(e-x^2)(e+x^2+2x)(e+2ex+x^2), (1) + +on 00 solves 3b^2+2b^3=e. (2) + +The root b(e) is unique in (0,1/2). K is strictly positive on the interior. +The mass is one: integrate e first on the two polynomial strips +-11. +On singletons define V=1 and the other marks by a sentinel; their mass will +vanish in the new limit. None of the claims concern the global torus count. + +Write Pi_epsilon=Pi(. | e<=epsilon), and let Pi_epsilon,2 additionally condition +on n=2. The parameter epsilon is a lifetime cutoff, not r or the radius cutoff. +Total variation is half the full L1 distance of probability densities. + +## 2. Exact singleton boundary, before taking a limit + +**Lemma 1.** Let c(e)>0 be the unique root of + + 2c^3+3e c^2=e^2. (3) + +On the support of (1), n=1 exactly for x<=c(e), and n=2 exactly for x>c(e), +up to tie null sets. In particular 0=-1/2 lies on the singleton side of the cubic classifier. +For x>0 set p=x+1/2, A=12p^2-3=12x(1+x) and v=6(e+x). +The source doublet inequalities are v0. + +Direct expansion gives + + (v-A)^2(2v+A)-12(v-Ap)^2 + =432(1-e)(2x^3+3e x^2-e^2). (4) + +The second inequality therefore reduces to the positive sign in (3). +It implies the first: if e>=x+2x^2 (equivalently v>=A), the expression +2x^3+3e x^2-e^2 is decreasing in e on that range, and at e=x+2x^2 it equals +x^2(2x-1)(x+1)<0 for 00, negative at zero, and at x=b(e) is 2b(e)^3(1-e)>0. +This proves the unique boundary and the classification. At equality the +companion lies at the excluded window height; treating it as one root rather +than two has no effect on the absolutely continuous measure. QED. + +Two DIFFERENT scales appear as e decreases: + + b(e)=sqrt(e)[1/sqrt(3)+O(sqrt(e))], + c(e)=e^(2/3)[2^(-1/3)+O(e^(1/3))], + a(e)=-e/2+O(e^2). (5) + +For b, divide its equation by e. For c, set c=e^(2/3)z and obtain +2z^3+3e^(1/3)z^2=1. The implicit-function theorem at the respective positive +roots gives both estimates, with bounded derivatives on a small fixed interval. + +## 3. Normalized shape limit and a sharp singleton probability + +Define, under Pi_epsilon, + + Y=e/epsilon, W=x/sqrt(e). (6) + +**Theorem 1 (shape and multiplicity).** The law of (Y,W) converges in total +variation at O(sqrt(epsilon)) to independent variables with densities + + f_Y(y)=4y^3, 00. (8) + +Consequently doublets tend to probability one. For the TAGGED joint law, + + dTV(Law_Pi_epsilon(n,Y,W), delta_2 x Law(Y,W in (7))) + =C_s epsilon^(1/3)+O(epsilon^(1/2)). (9) + +No rate is asserted for physical marks obtained through epsilon-dependent +singular maps; their convergence below is weak. + +Proof of (7). Put delta=sqrt(e). From (1), after x=delta w, + + K(e,x)dx=10368 e^3 Phi_delta(w) dw, + Phi_delta(w)=(1-w^2)[2w+delta(1+w^2)] + [1+w^2+2delta w]. (10) + +Its interval is l(delta)=0, +l,h are smooth and all interval endpoints and coefficients are bounded. +Therefore the L1 difference between the interval-extended Phi_delta and +Phi_0(w)=2w(1-w^4)1_(0,1/sqrt(3)) is O(delta). This includes the moving +boundary contribution; Phi_0 does not vanish at its upper endpoint. + +Its integral is A0=26/81. Hence, writing unnormalized shape masses, + + A_epsilon=integral_(e<=epsilon) K de dx + =832 epsilon^4[1+O(sqrt(epsilon))]. (11) + +The normalized density of (Y,W) is proportional to +y^3 Phi_(sqrt(epsilon y))(w), with the same interval restrictions. The L1 +estimate, integrated over y, is O(sqrt(epsilon)), and the normalizing constant +tends to A0/4. This gives exactly (7). Both densities integrate to one. + +Proof of (8). The unnormalized singleton density at e is +S(e)=integral_(a(e))^(c(e)) K(e,x)dx. Put tau=e^(1/3), x=e^(2/3)z. Then + + S(e)=10368 e^(10/3) integral + (1-tau z^2)(2z+tau+tau^2 z^2)(1+tau z^2+2tau^2z) dz. (12) + +The lower endpoint is -tau/(1+sqrt(1-tau^3)); the upper endpoint solves +2z^3+3tau z^2=1. They converge to 0 and 2^(-1/3), smoothly in tau. Thus + + S(e)=10368*2^(-2/3)e^(10/3)[1+O(e^(1/3))]. (13) + +Integrate from zero to epsilon and divide by (11). The coefficient is +10368*(3/13)/832 times 2^(-2/3), namely C_s. The relative error is +O(epsilon^(1/3)); the smaller normalization error O(sqrt(epsilon)) does not +change it. This proves (8). + +Finally replace n by 2 without changing (Y,W). The TV distance between the +original tagged law and this replacement is exactly Pi_epsilon(n=1). +The replacement is O(sqrt(epsilon)) from the limit in (7). The triangle and +reverse-triangle inequalities give (9). QED. + +The nonzero singleton error is not an artifact of numerics: its e^(2/3) +spatial-jet boundary (3) is thinner than, but sits inside, the main sqrt(e) +shape scale. Conditioning only on an exact e gives the analogous singleton +probability (81/26)2^(-2/3)e^(1/3)[1+O(e^(1/3))]. + +## 4. Limiting companion geometry and a tail of exponent ONE + +**Theorem 2.** Under Pi_epsilon, the companion ratio, defined on doublets, +converges in distribution to + + V0=(1-W^2)/(2W^2)>1. (14) + +It is independent of Y in (7). Its exact density and survival function are + + g(v)=(81/13)[(2v+1)^(-2)-(2v+1)^(-4)], v>1, + P(V0>t)=81/[26(2t+1)]-27/[26(2t+1)^3], t>=1. (15) + +In particular P(V0>t)~(81/52)t^-1. Its nonnegative moments are finite exactly +below 1; E[min(V0,T)]~(81/52)log T. The reciprocal rho0 has density + + (324/13)(1+rho)/(2+rho)^4, 0 (Y, H(V0), Y H(V0)), + H(v)=v^3(v+2)/(2v+1). (17) + +This convergence is weak, including sentinel removal using (8). + +Proof. Write delta=sqrt(e), u=-1/2-delta w, v_shape=6(delta^2+delta w). +Substituting in the exact companion involution yields the following rational +identities, wherever a counted companion exists: + + D_delta(w)=4w^3+delta(3w^4+6w^2-1)+4delta^2w^3, + V_delta(w)=(1-w^2)[2w+delta(1+w^2)]/D_delta(w), + e_c/e=(1-w^2)^3[1+3w^2+delta(6w+2w^3)+delta^2(1+3w^2)] + /D_delta(w)^2. (18) + +On each compact subset of 0t)~[81/(52*2^(1/3))]t^-1/3. (19) + +Independence and E[Y^(1/3)]=12/13 give +P(YH(V0)>t)~[243/(169*2^(1/3))]t^-1/3. A bounded-tail envelope from (15) +justifies dominated convergence in Y. The nonnegative moment thresholds for +these two limits are1/3. These are height ratios/scaled marks, not the +unscaled bounded height e_c at a positive epsilon. + +## 5. Why exponent13 at fixed epsilon is consistent with exponent1 in the limit + +Use [E]'s doublet square coordinates (rho,z) in (0,1)^2. Its unnormalized +selected density and lifetime are + + J(rho,z)=165888 rho^12 z^7(1+z)^4 R(rho,z), + R=(1+rho z)^4(1+rho z+rho)^7/ + [(1+rho)^5(1+2rho z+rho)^9], + e(rho,z)=rho^3 z^2(1+z)(rho z+rho+2)/ + [(rho+1)(2rho z+rho+1)]. (20) + +The normalization on e<=epsilon,n=2 is +B_epsilon=integral J 1{e<=epsilon} d rho dz. +By (8)-(11), + + B_epsilon=832 epsilon^4[1+O(epsilon^(1/3))]. (21) + +This is a SHAPE normalization, not the original Gaussian endpoint normalizer. +There is no extra D or E0 in the conditional density J/B_epsilon. +The coefficient R and the positive function e/(rho^3 z^2) extend continuously +to the closed square, with finite positive upper/lower bounds. Thus + + c rho^3z^2<=e(rho,z)<=C rho^3z^2, + c rho^12 z^7<=J(rho,z)<=C rho^12 z^7. (22) + +**Theorem 3 (a uniform tail envelope in the algebraic law).** For sufficiently +small epsilon and all T>=1, + + Pi_epsilon,2(V>T) + <= C min(T^-1, epsilon^-4 T^-13). (23) + +For each FIXED epsilon>0, + + Pi_epsilon,2(V>T) + ~ [165888 H0/(13 B_epsilon)] T^-13, + H0=6401/3960. (24) + +Hence its nonnegative moments are finite exactly for p<13 at every positive +epsilon. The exponent1 emerges only after epsilon->0. There is no +contradiction or unmentioned transfer of uniform integrability. + +Proof. The event e<=epsilon implies z<=min(1,C sqrt(epsilon)rho^-3/2). +Integration of the bound rho^12 z^7 gives + + integral_(rho<1/T,e<=epsilon) J + <= C integral_0^(1/T) min(rho^12,epsilon^4)d rho. + +Divide by (21), and either bound the integrand by epsilon^4 or by rho^12. +This proves (23). At fixed epsilon, for all sufficiently small rho the entire +z interval satisfies e<=epsilon, by the uniform upper bound in (22). Moreover +R(rho,z)->1 uniformly. Direct integration then gives (24). A positive lower +bound on any interior z subinterval shows divergence at p>=13, while the +upper bound J<=C rho^12 z^7 gives finiteness below13. QED. + +The crossover scale in this envelope is T of order epsilon^-1/3. The two terms +in (23) are bounds, not an asserted exact uniform crossover profile. + +## 6. Complete companion-moment crossover within the explicit law + +**Theorem 4.** Under Pi_epsilon,2, as epsilon->0: + + 0<=p<1: E[V^p] -> E[V0^p]=13: E[V^p]=infinity for every fixed epsilon>0, (25) + +where the positive finite coefficient is explicitly + + K_p=2592/[13(13-p)] * 2^(-(13-p)/3) + * integral_0^1 z^((2p-5)/3)(1+z)^((p-1)/3) dz. (26) + +For example K_4=30/13, K_7=441/65, and K_10=3270/91. +The normalization may instead be Pi_epsilon with the moment restricted to n=2; +its leading asymptotics agree because Pi_epsilon(n=2)->1. No statement is made +about these moments in the original finite-r field. + +Proof for p<1. The first bound in (23), uniformly in epsilon, supplies uniform +integrability of V^p (use any intervening power less than1). The weak limit in +Theorem2 gives convergence. The case p=0 is normalization. + +Proof for 11 and the cutoff tends to +q^3 A(z)<=1, A(z)=2z^2(1+z). +The resulting integrand is 165888 q^(12-p) z^7(1+z)^4 on that domain. +An integrable domination follows directly from (22): for q near0, p<13; +for q large, the cutoff forces z<=Cq^-3/2, and integration in z bounds the +tail by Cq^-p, integrable exactly when p>1. Dominated convergence is legitimate +on the two-dimensional domain, including its corner, not just at fixed z. +Integrating q first yields + + 165888/(13-p) integral_0^1 z^7(1+z)^4 A(z)^(-(13-p)/3) dz. + +Dividing by B_epsilon~832epsilon^4 gives (26). The displayed rational cases +follow by binomial expansion, without numerical integration. + +Proof for p=1. At fixed rho, the lifetime is strictly increasing in z: its +logarithmic derivative is +2/z+1/(1+z)+rho/(rho z+rho+2)-2rho/(2rho z+rho+1)>0, +since the last term is less than1/z in magnitude. Near z=0, uniformly in +0<=rho<=1, + + e= kappa(rho) z^2[1+O(z)], + kappa(rho)=rho^3(rho+2)/(rho+1)^2, + J=165888 rho^12 z^7/(1+rho)^7 [1+O(z)]. (27) + +Choose a sufficiently large fixed M. For rho>=M epsilon^(1/3), the unique +cutoff root has z_epsilon=(epsilon/kappa)^(1/2)[1+O((epsilon/kappa)^(1/2))], +with uniform constants. Integrating J to that root gives + + integral J 1{e<=epsilon} dz + =20736 epsilon^4 (1+rho)/(2+rho)^4 + [1+O(epsilon^(1/2)rho^-3/2)]. (28) + +After division by B_epsilon and multiplication by rho^-1, the leading integral +from M epsilon^(1/3) to1 is + + integral [(324/13)(1+rho)/(2+rho)^4] d rho/rho. + +Its logarithmic coefficient is (81/52)/3=27/52. The integrated relative +cutoff error is bounded, since epsilon^(1/2) integral_(M epsilon^(1/3))^1 +rho^-5/2 d rho=O(1). The normalizer error O(epsilon^(1/3)) times the logarithm +is bounded and tends to zero. On rho=13 assertion was proved in Theorem3. QED. + +The moment crossover is a quantitative explanation for why the limiting ratio +can have infinite mean although every positive-epsilon conditional mean is +finite. It does not assert convergence of unbounded observables from weak +convergence alone; each such claim was proved with the explicit corner density. + +## 7. Review and verification boundaries + +A: Lemma1 and Theorem1 — exact count classification, normalization, two distinct +jet scales, singleton coefficient and tagged/untagged TV distinction. +B: Theorem2 — companion/height substitutions, explicit limiting tail and marks, +sentinels, independence and order of limits. +C: Theorems3-4 — uniform algebraic tail envelope, fixed-epsilon exponent13, +corner domination, exact K_p and the logarithmic coefficient27/52. + +All new conclusions are unconditional statements about the explicitly defined +shape measure (1), together with the stated deterministic root-label interface. +Their Gaussian actual-elder interpretation remains CONDITIONAL on the precise +source laws. No numerical model coefficient, new elder-pairing proof, finite-r +inverse moment, fixed-r count certainty, original-field doublet tail exponent1, +uniform r/epsilon/radius limit or Lean formalization is claimed. + +The companion scripts test finite exact identities, moments, root brackets and +negative variants. They do not certify dominated convergence, total variation +limits, the field-source hypotheses or independent review authenticity. The +fixed-r inverse-moment threshold2/3 in PR182 and the lifetime-fraction threshold4 +in PR181 are different statements; neither is changed by this result. diff --git a/frontiers/small_lifetime_shape_20260930/README.md b/frontiers/small_lifetime_shape_20260930/README.md new file mode 100644 index 000000000..d0886a4ba --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/README.md @@ -0,0 +1,68 @@ +# Small-lifetime doublets and a companion-moment crossover + +OpenAI / GPT-6 Astra Pro. **New conditional consumer; nonauthor analytic review +OPEN. Scientific effect NONE. No self-merge.** This packet recovers the unfinished +small-lifetime calculation, not the separately published fixed-r PR182 theorem. + +## Exactly which limit + +PR181 defines the limiting shape of a distant actual elder partner. We take that +explicit shape probability, condition its lifetime fraction e<=epsilon, and let +epsilon->0. Its field interpretation is conditional on PR181's own hypotheses +and actual-elder interfaces. Order: original r->0, distant microscopic radius +->infinity, THEN epsilon->0. A later companion-threshold limit is distinct. +No finite-r uniform estimate or unbounded moment transfer is asserted. + +## Results in PROOF.md + +- The exact singleton/doublet boundary is `2x^3+3e x^2=e^2`, where x=-u-1/2. + Singletons remain at every positive cutoff. Their conditional probability is + `(486/169)2^(-2/3) epsilon^(1/3)+O(epsilon^(2/3))`. +- `(e/epsilon,x/sqrt(e))` tends in TV at O(sqrt(epsilon)) to independent densities + `4y^3` and `(81/13)w(1-w^4)` on `0=13 diverge already at positive epsilon. + K_p is an explicit one-dimensional integral; K4=30/13,K7=441/65,K10=3270/91. + +The assertions are proved for the explicit finite-dimensional law, including +normalization and corner domination. They are not consequences of weak moment +convergence alone. In particular the exponent-one law does not overwrite the +fixed-epsilon exponent13, nor PR182's fixed-separation inverse threshold2/3. + +## Reproduction + +From a full Git checkout containing both pinned source objects: + + python -B -S frontiers/small_lifetime_shape_20260930/verify.py + +Standalone download: + + python -B -S verify.py --local-only + +The latter explicitly reports source_pins_checked=false. The hosted workflow +must authenticate the actual two source commit/path/size/SHA256/blob bindings. +All real source Git reads disable replacements and check path/object modes. +Local temporary Git repositories test that behavior, not the project sources. + +46 unit-test methods pass in each ordinary/optimized Python mode, including +589 rational classifier cases,12 independent square-to-shape Jacobians, exact +polynomial moments, interval root bounds, signed companion identities and16 +real-Git/packet regression methods. Six semantic mutants reject in both modes. +The scripts use only the standard library; there is no Lean formalization of +the new analytic results. Finite tests are not independent mathematical review. + +## Review requested + +A: exact singleton boundary, two scales, normalized TV limit and sharp singleton +coefficient. B: companion/height limits and change-of-variables tail formulas. +C: uniform tail envelope, finite-cutoff exponent13, corner domination, K_p and +the critical mean coefficient27/52. All reviews must bind exact proof bytes and +declare source exposure. Previous PR181 acceptance, if any, is not a new verdict. diff --git a/frontiers/small_lifetime_shape_20260930/RECONNAISSANCE.md b/frontiers/small_lifetime_shape_20260930/RECONNAISSANCE.md new file mode 100644 index 000000000..533cef3ce --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/RECONNAISSANCE.md @@ -0,0 +1,39 @@ +# Narrow primary-source reconnaissance — 30 September 2026 + +Actual web queries in this recovery pass: +- site.arxiv.org conditional extremes hidden regular variation conditioning tail index moments +- site.arxiv.org Planinic Palm theory extremes typical clusters size bias 2104.03810 + +Primary arXiv abstract/metadata pages opened successfully: + +1. Sidney I. Resnick, Multivariate Regular Variation on Cones: Application to + Extreme Values, Hidden Regular Variation and Conditioned Limit Laws, + arXiv:0712.3442, submitted20 December2007. + https://arxiv.org/abs/0712.3442 + Related framework: different cones and conditioning regimes can expose + different tail behavior. We do not import a theorem whose hypotheses have + not been verified for the present model. + +2. Hrvoje Planinic, Palm theory for extremes of stationary regularly varying + time series and random fields, arXiv:2104.03810v2, revised14 March2023. + https://arxiv.org/abs/2104.03810 + Related framework: typical exceedances versus typical clusters and their + sampling biases. Those generic principles are not new claims of this packet. + +3. Johan Segers, One- versus multi-component regular variation and extremes of + Markov trees, arXiv:1902.02226v2, revised1 October2020; Advances in Applied + Probability52,855-878(2020). + https://arxiv.org/abs/1902.02226 + Related conditional extreme-mark limits. We do not assume a Markov-tree + model, spatial independence or a regularly varying original field from this + analogy. Our probability measure is explicitly defined in PROOF Section1. + +Access depth: abstracts/metadata only; no full text or PDF was audited. No +exhaustive novelty, priority or absence-from-literature assertion is made. +The proof derives its polynomial density, normalizations, limiting tails and +moment crossover directly. Uniform-integrability requirements and the failure +of moment convergence under weak convergence alone are established background, +not discoveries here. + +Consensus was not invoked in this recovery pass; the active request names +GitHub/Superpowers. No current quota or connection status is asserted. diff --git a/frontiers/small_lifetime_shape_20260930/RESULTS.json b/frontiers/small_lifetime_shape_20260930/RESULTS.json new file mode 100644 index 000000000..7083aeb45 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/RESULTS.json @@ -0,0 +1,25 @@ +{ + "critical_mean_log_coefficient": "27/52", + "finite_epsilon_companion_moment_threshold": 13, + "limiting_companion_moment_threshold": 1, + "limiting_companion_tail_coefficient": "81/52", + "mathematical_acceptance": false, + "moment_blowup_constants": { + "10": "3270/91", + "4": "30/13", + "7": "441/65" + }, + "passed": true, + "rational_classifier_cases": 589, + "scientific_effect": "NONE", + "scope": "finite algebra and interval checks only", + "singleton_probability_coefficient": "(486/169)*2^(-2/3)", + "singleton_probability_exponent": "1/3", + "small_lifetime_w_density": "(81/13) w (1-w^4) on (0,1/sqrt(3))", + "small_lifetime_y_density": "4 y^3 on (0,1)", + "source_shape_moments": { + "0": "888807/280", + "1": "3524743221/1361360", + "2": "190490806059/87127040" + } +} diff --git a/frontiers/small_lifetime_shape_20260930/SOURCES.json b/frontiers/small_lifetime_shape_20260930/SOURCES.json new file mode 100644 index 000000000..bde07b2fc --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/SOURCES.json @@ -0,0 +1,25 @@ +{ + "schema": 1, + "scientific_effect": "NONE", + "source_scope": "Conditional exact interfaces; no parent revalidation", + "sources": [ + { + "id": "E", + "commit": "ae343a1c2a0070476fed4d31a15b6911831edd4d", + "path": "frontiers/elder_partner_extremes_20260930/PROOF.md", + "bytes": 17895, + "git_blob": "91f88e392fb8aa947dac4fc81c2b45f783fa66cd", + "sha256": "db6a857879e5829c0da62e3812faa55be5c140589d6d800a479197c68cc8ddd7", + "use": "Explicit selected density and normalization, deterministic root selector, square doublet law and lifetime map. Gaussian interpretation remains conditional; author exposure." + }, + { + "id": "C", + "commit": "56a7904f9ad7d409c31e23195c0e7eeab230613a", + "path": "frontiers/extreme_cluster_sampling_20260930/PROOF.md", + "bytes": 21891, + "git_blob": "19a6044f2066643b5baab34ce5b6b6efb431e84a", + "sha256": "b90cf745e2e67bc9b501c481552f7080d27c28245580668cf72aefa5b7f04715", + "use": "E12-E17 deterministic companion and doublet classification only; no additional Gaussian source claim. Author exposure." + } + ] +} diff --git a/frontiers/small_lifetime_shape_20260930/VALIDATION.md b/frontiers/small_lifetime_shape_20260930/VALIDATION.md new file mode 100644 index 000000000..1cc9569f4 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/VALIDATION.md @@ -0,0 +1,58 @@ +# Actual author-side execution and review boundaries + +The interrupted screenshot is not evidence of a proved or published result. +Live GitHub reads located the fixed-r work in PR182, so it was not duplicated. +The new source-specific small-lifetime shape argument is written in this packet. +The exact original source proof bytes remain unchanged. + +## Test-first execution + +The initial eight-method mathematical scaffold failed all eight assertions. +After implementation the same eight passed. Expanded mathematics includes29 +methods in test_shape.py plus one independently differentiated Jacobian method +in test_jacobian.py. The latter checks12 rational points of the direct +(rho,z)->(e,x) map against K(e,x)|Jacobian|=J(rho,z), including the companion +ratio. This connects the two representations without trusting their apparent +normalization agreement. + +The16-method source/inventory scaffold failed29 assertions including subtests. +After implementation all16 passed. Temporary real Git fixtures check actual +commit types, annotated tags/trees/blobs, full sizes/hashes, historical-versus- +worktree data, path confinement, leaf/ancestor symlinks, replacement forgery, +complete source inventories and packet drift. Their ordinary Git read is first +shown to see forged replacement bytes; the protected verifier must still read +the original source. No actual source tampering is claimed. + +Fresh full suite:46 tests PASS in normal Python and46 PASS under -O, also with +GIT_NO_REPLACE_OBJECTS=1. The mathematical core checks589 exact rational count +classifications, six exact scaled-companion configurations, polynomial density +normalization/moments, exact tail/reciprocal Jacobians, rational singleton/root +brackets, and K4/K7/K10. Six deliberately wrong semantic variants must return1 +in both modes; an unknown label returns2. RESULTS.json is deterministic. + +An exploratory NumPy quadrature checked small-epsilon moment trends. It is +kept outside this packet, is not a standard-library runtime dependency, and is +not used to certify any Gaussian value or limiting theorem. The exact coefficients +in the proof have rational polynomial or one-dimensional integral derivations. + +## Source identity and scope + +Local source copies of PR181/PROOF.md (17895 bytes) and PR169/PROOF.md (21891 +bytes) match the exact recorded SHA256 and Git-blob identities. That byte +comparison is NOT the same as authenticating their historical commit/path +bindings. A complete upstream checkout was unavailable after a direct network +attempt failed DNS. Therefore local-only replay reports source_pins_checked=false; +the hosted target must authenticate both actual Git source bindings. + +All new analytic conclusions require source-bound nonauthor review. Finite +algebra does not prove the limiting Gaussian elder interface, TV domination, +corner limits or independence claims. The spatial statements are weak; scalar +TV statements use fixed-coordinate densities. No unbounded moment is inferred +merely from weak convergence. PR182's fixed-r threshold2/3, PR181's limiting +lifetime threshold4, and this paper's finite-epsilon/limiting companion thresholds +13/1 concern distinct probability laws and are not interchangeable. + +No Lean formalization of the new proof or numerical Gaussian coefficient is +asserted. Hosted results belong in the PR discussion only after direct readback +at their actual head/base. Source reviews do not promote this consumer, and the +author will not self-merge or change a global scientific-status register. diff --git a/frontiers/small_lifetime_shape_20260930/shape.py b/frontiers/small_lifetime_shape_20260930/shape.py new file mode 100644 index 000000000..d44da81c9 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/shape.py @@ -0,0 +1,261 @@ +"""Exact controls for the small-lifetime crossover in a limiting elder law. + +Only the Python standard library is used. These identities and interval checks +are not a proof of the source Gaussian/elder interfaces or uniform field limits. +""" +import argparse +from fractions import Fraction as F +import json +from math import comb + +MUTANTS=('all-doublets-finite','wrong-shape-normalization','retain-exponent13', + 'lose-ratio-jacobian','wrong-height-ratio','lose-moment-crossover') +_MUTANT=None + + +def rat(x): + if type(x) not in (int,F): raise TypeError('exact int or Fraction required') + return F(x) + + +def add(*polys): + out={} + for pol in polys: + for ij,c in pol.items(): out[ij]=out.get(ij,F(0))+c + return {ij:c for ij,c in out.items() if c} + + +def scale(pol,c): return {ij:a*c for ij,a in pol.items() if a*c} + + +def mul(a,b): + out={} + for (i,j),c in a.items(): + for (k,l),d in b.items(): out[i+k,j+l]=out.get((i+k,j+l),F(0))+c*d + return {ij:c for ij,c in out.items() if c} + + +def power(pol,n): + out={(0,0):F(1)} + for _ in range(n): out=mul(out,pol) + return out + + +def kernel_poly(): + # Coordinates are (e,x). This includes the original dv=6 de Jacobian. + return scale(mul(mul({(1,0):F(1),(0,2):F(-1)}, + {(1,0):F(1),(0,2):F(1),(0,1):F(2)}), + {(1,0):F(1),(1,1):F(2),(0,2):F(1)}),F(10368)) + + +def kernel(e,x): + e,x=rat(e),rat(x) + return F(10368)*(e-x*x)*(e+x*x+2*x)*(e+2*e*x+x*x) + + +def shape_moment(j): + """Exact unnormalized moment, integrating e first on two polynomial strips.""" + if type(j) is not int or not 0<=j<=8: raise ValueError('integer order 0..8 required') + pol={(i+j,k):v for (i,k),v in kernel_poly().items()} + total=F(0) + for left,right,low in ((F(-1),F(0),{(0,1):F(-2),(0,2):F(-1)}), + (F(0),F(1,2),{(0,2):F(3),(0,3):F(2)})): + integ={} + for (i,k),v in pol.items(): + part=add({(0,0):F(1)},scale(power(low,i+1),-1)) + integ=add(integ,scale(mul({(0,k):F(1)},part),v/F(i+1))) + total+=sum((v*(right**(k+1)-left**(k+1))/F(k+1) + for (i,k),v in integ.items()),F(0)) + if _MUTANT=='wrong-shape-normalization': total/=6 + return total + + +def in_support(e,x): + e,x=rat(e),rat(x) + return (0-2*x-x*x + and (x<=0 or e>3*x*x+2*x**3)) + + +def doublet(e,x): + if not in_support(e,x): raise ValueError('point outside strict elder shape') + if _MUTANT=='all-doublets-finite': return True + return x>0 and 2*x**3+3*e*x*x-e*e>0 + + +def companion(e,x): + """Other exact cubic root in (e_comp,x_comp,Z_comp/Z); not necessarily counted.""" + e,x=rat(e),rat(x) + u=-F(1,2)-x;v=6*(e+x);b=3-12*u*u + den=4*v*v-8*b*u*v+b*b + if den==0: return None + t=(4*v*v-b*b)/den + uc=(2*b*v-u*(4*v*v+b*b))/den;vc=v*t*t + return uc+F(1,2)+vc/6,-uc-F(1,2),t + + +def scaled_phi(delta,w): + delta,w=rat(delta),rat(w) + return (1-w*w)*(2*w+delta*(1+w*w))*(1+w*w+2*delta*w) + + +def w_density(w): + w=rat(w) + if not (w>0 and 3*w*w<1): return F(0) + return F(81,13)*w*(1-w**4) + + +def limit_w_even_moment(j): + if type(j) is not int or j<0: raise ValueError('nonnegative integer required') + return F(81,13)*(F(1,3**(j+1)*(2*j+2))-F(1,3**(j+3)*(2*j+6))) + + +def w_to_ratio(w): + w=rat(w) + if not (w>0 and 3*w*w<1): raise ValueError('0e:raise ValueError('elder height ordering') + cases+=1 + return cases + + +def result(): + cases=checks() + return {'passed':True,'scientific_effect':'NONE','mathematical_acceptance':False, + 'scope':'finite algebra and interval checks only', + 'rational_classifier_cases':cases, + 'source_shape_moments':{str(j):str(shape_moment(j)) for j in range(3)}, + 'small_lifetime_y_density':'4 y^3 on (0,1)', + 'small_lifetime_w_density':'(81/13) w (1-w^4) on (0,1/sqrt(3))', + 'singleton_probability_coefficient':'(486/169)*2^(-2/3)', + 'singleton_probability_exponent':'1/3', + 'limiting_companion_tail_coefficient':str(F(81,52)), + 'limiting_companion_moment_threshold':1, + 'finite_epsilon_companion_moment_threshold':13, + 'critical_mean_log_coefficient':str(F(27,52)), + 'moment_blowup_constants':{str(p):str(moment_blowup_constant(p)) for p in (4,7,10)}} + + +def main(): + parser=argparse.ArgumentParser(description=__doc__);parser.add_argument('--mutant',choices=MUTANTS) + args=parser.parse_args();global _MUTANT;_MUTANT=args.mutant + try:data=result() + except ValueError as exc: + print(json.dumps({'passed':False,'error':str(exc)},sort_keys=True));raise SystemExit(1) + print(json.dumps(data,sort_keys=True,indent=2)) + +if __name__=='__main__':main() diff --git a/frontiers/small_lifetime_shape_20260930/test_jacobian.py b/frontiers/small_lifetime_shape_20260930/test_jacobian.py new file mode 100644 index 000000000..4fbd7f0a4 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/test_jacobian.py @@ -0,0 +1,45 @@ +"""Independent exact differentiation of the square-to-lifetime shape map.""" +from fractions import Fraction as F +import unittest +import shape + +class Dual: + def __init__(self,x,dr=0,dz=0):self.x,self.dr,self.dz=F(x),F(dr),F(dz) + @staticmethod + def cast(v):return v if isinstance(v,Dual) else Dual(v) + def __add__(self,v): + v=self.cast(v);return Dual(self.x+v.x,self.dr+v.dr,self.dz+v.dz) + __radd__=__add__ + def __neg__(self):return Dual(-self.x,-self.dr,-self.dz) + def __sub__(self,v):return self+-self.cast(v) + def __rsub__(self,v):return self.cast(v)+-self + def __mul__(self,v): + v=self.cast(v);return Dual(self.x*v.x,self.dr*v.x+self.x*v.dr,self.dz*v.x+self.x*v.dz) + __rmul__=__mul__ + def __truediv__(self,v): + v=self.cast(v);return Dual(self.x/v.x,(self.dr*v.x-self.x*v.dr)/v.x**2,(self.dz*v.x-self.x*v.dz)/v.x**2) + def __pow__(self,n): + ans=Dual(1) + for _ in range(n):ans=ans*self + return ans + +class JacobianTests(unittest.TestCase): + def test_direct_doublet_density_binding(self): + count=0 + for r0 in (F(1,100),F(1,5),F(1,2),F(4,5)): + for z0 in (F(1,7),F(2,5),F(3,4)): + r,z=Dual(r0,1,0),Dual(z0,0,1) + w=1+2*r*z/(1+r) + p=((1+r)*w*w+(1-r))/(4*w) + x=p-F(1,2) + e=r**3*z*z*(1+z)*(r*z+r+2)/((1+r)*(2*r*z+r+1)) + determinant=e.dr*x.dz-e.dz*x.dr + self.assertTrue(shape.in_support(e.x,x.x)) + self.assertTrue(shape.doublet(e.x,x.x)) + self.assertEqual(shape.kernel(e.x,x.x)*abs(determinant),shape.square_density(r0,z0)) + pair=shape.companion(e.x,x.x) + self.assertEqual(-pair[2],1/r0) + count+=1 + self.assertEqual(count,12) + +if __name__=='__main__':unittest.main() diff --git a/frontiers/small_lifetime_shape_20260930/test_shape.py b/frontiers/small_lifetime_shape_20260930/test_shape.py new file mode 100644 index 000000000..a47c361f0 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/test_shape.py @@ -0,0 +1,155 @@ +from fractions import Fraction as F +import unittest +import shape + +class InitialTests(unittest.TestCase): + def test_normalization(self): self.assertEqual(shape.shape_moment(0), F(888807,280)) + def test_first_moment(self): self.assertEqual(shape.shape_moment(1), F(3524743221,1361360)) + def test_shape_w_normalization(self): self.assertEqual(shape.limit_w_even_moment(0), 1) + def test_companion_survival(self): self.assertEqual(shape.ratio_survival(1), 1) + def test_companion_height_ratio(self): self.assertEqual(shape.height_ratio(2), F(32,5)) + def test_supercritical_four(self): self.assertEqual(shape.moment_blowup_constant(4), F(30,13)) + def test_supercritical_seven(self): self.assertEqual(shape.moment_blowup_constant(7), F(441,65)) + def test_supercritical_ten(self): self.assertEqual(shape.moment_blowup_constant(10), F(3270,91)) + + + +class GeometryTests(unittest.TestCase): + def test_rational_classifier_grid(self):self.assertEqual(shape.checks(),589) + def test_classifier_factor(self): + for e in (F(1,1000),F(1,10),F(1,2),F(9,10)): + for x in (F(-1,4),F(0),F(1,20),F(1,4),F(2,5)): + p=x+F(1,2);a=12*p*p-3;v=6*(e+x) + lhs=(v-a)**2*(2*v+a)-12*(v-a*p)**2 + self.assertEqual(lhs,432*(1-e)*(2*x**3+3*e*x*x-e*e)) + def test_no_finite_cutoff_doublet_certainty(self): + for e in (F(1,10),F(1,10000),F(1,10**8)): + self.assertTrue(shape.in_support(e,0)) + self.assertFalse(shape.doublet(e,0)) + def test_boundary_order_by_exact_brackets(self): + for e in (F(1,1000),F(1,10),F(1,2),F(9,10)): + c=shape.isolate(e*e,lambda x:2*x**3+3*e*x*x,F(0),F(1,2),100) + b=shape.isolate(e,lambda x:3*x*x+2*x**3,F(0),F(1,2),100) + self.assertTrue(01 and H>1);cases+=1 + self.assertEqual(cases,6) + def test_companion_limit_at_compact_shapes(self): + for w in (F(1,5),F(1,3),F(1,2)): + vals=[] + for d in (F(1,1000),F(1,10000),F(1,100000)): + v,h=shape.exact_scaled_companion(d,w) + err=abs(v-shape.w_to_ratio(w))+abs(h-shape.height_ratio(shape.w_to_ratio(w))) + vals.append(err) + self.assertTrue(vals[0]>vals[1]>vals[2]>0) + def test_scaled_kernel_identity(self): + for d in (F(1,3),F(1,10),F(1,100)): + for w in (F(-1,10),F(0),F(1,4),F(1,2)): + self.assertEqual(shape.kernel(d*d,d*w)*d,F(10368)*d**6*shape.scaled_phi(d,w)) + def test_selection_support_is_the_two_polynomial_strips(self): + for i in range(-19,10): + x=F(i,20) + for j in range(1,20): + e=F(j,20) + lower=-2*x-x*x if x<=0 else 3*x*x+2*x**3 + self.assertEqual(shape.in_support(e,x),lowererrors[1]>errors[2]>0) + def test_moment_constants_independent_binomial_integral(self): + # Integrate small rational polynomials by hand, without production helpers. + integrals={4:F(1,2)+F(1,3),7:F(1,4)+F(2,5)+F(1,6), + 10:F(1,6)+F(3,7)+F(3,8)+F(1,9)} + for p,val in integrals.items(): + k=F(2592,13*(13-p))*F(1,2)**((13-p)//3)*val + self.assertEqual(shape.moment_blowup_constant(p),k) + def test_uniform_square_comparisons_finite_grid(self): + for r in (F(1,1000),F(1,10),F(1,2),F(9,10)): + for z in (F(1,1000),F(1,10),F(1,2),F(9,10)): + a=shape.square_lifetime(r,z)/(r**3*z*z) + b=shape.square_density(r,z)/(165888*r**12*z**7) + self.assertTrue(F(1,4)<=a<=8) + self.assertTrue(F(1,2**23)<=b<=2**32) + def test_square_boundary_coefficients(self): + for r in (F(1,10),F(1,3),F(3,4)): + z=F(1,10**8) + kappa=r**3*(r+2)/(r+1)**2 + self.assertLess(abs(shape.square_lifetime(r,z)/(kappa*z*z)-1),10*z) + dens=shape.square_density(r,z)/(165888*r**12*z**7/(r+1)**7) + self.assertLess(abs(dens-1),100*z) + def test_invalid_inputs(self): + for val in (True,0.25,'1/2'): + with self.assertRaises(TypeError):shape.ratio_survival(val) + for j in (-1,9,True): + with self.assertRaises(ValueError):shape.shape_moment(j) + for p in (1,2,13,True): + with self.assertRaises(ValueError):shape.moment_blowup_constant(p) + with self.assertRaises(ValueError):shape.density_intervals(0) + with self.assertRaises(ValueError):shape.density_intervals(1) + with self.assertRaises(ValueError):shape.ratio_survival(F(1,2)) + def test_cli_both_modes_and_negative_controls(self): + import subprocess,sys + from pathlib import Path + script=str(Path(shape.__file__).resolve());baseline=None + for flags in (['-B','-S'],['-B','-O','-S']): + run=subprocess.run([sys.executable,*flags,script],capture_output=True,timeout=30) + self.assertEqual(run.returncode,0,run.stderr);self.assertEqual(run.stderr,b'') + if baseline is None:baseline=run.stdout + self.assertEqual(run.stdout,baseline) + for mutant in shape.MUTANTS: + bad=subprocess.run([sys.executable,*flags,script,'--mutant',mutant],capture_output=True,timeout=30) + self.assertEqual(bad.returncode,1,(mutant,bad.stdout,bad.stderr)) + bad=subprocess.run([sys.executable,*flags,script,'--mutant','unknown'],capture_output=True,timeout=30) + self.assertEqual(bad.returncode,2) + +if __name__=='__main__':unittest.main() diff --git a/frontiers/small_lifetime_shape_20260930/test_verify.py b/frontiers/small_lifetime_shape_20260930/test_verify.py new file mode 100644 index 000000000..acc836c2c --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/test_verify.py @@ -0,0 +1,109 @@ +"""Real local Git fixtures for source and packet custody, not upstream evidence.""" +import copy +import hashlib +import json +import os +from pathlib import Path +import subprocess +import tempfile +import unittest +import verify + +def entry(path,data,**kw): + return dict(path=path,bytes=len(data),sha256=hashlib.sha256(data).hexdigest(), + git_blob=hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest(),**kw) + +class SourceTests(unittest.TestCase): + def setUp(self): + temp=tempfile.TemporaryDirectory();self.addCleanup(temp.cleanup);self.repo=Path(temp.name) + self.root=self.repo/'frontiers/packet';self.root.mkdir(parents=True) + self.git('init','-q');self.data=b'exact local fixture\n' + (self.repo/'imports').mkdir() + for label in ('E','C'):(self.repo/f'imports/{label}.md').write_bytes(self.data) + self.git('add','imports');self.git('commit','-qm','fixture') + self.commit=self.git('rev-parse','HEAD').decode().strip() + self.es=[entry(f'imports/{s}.md',self.data,id=s,commit=self.commit) for s in ('E','C')];self.write() + def git(self,*args): + env=os.environ.copy();env.pop('GIT_NO_REPLACE_OBJECTS',None) + return subprocess.run(['git','-c','user.name=Fixture','-c','user.email=fixture@example.invalid',*args], + cwd=self.repo,env=env,check=True,capture_output=True,timeout=15).stdout + def write(self,es=None): + (self.root/'SOURCES.json').write_text(json.dumps({'sources':self.es if es is None else es})) + def test_valid_nested_sources(self):self.assertEqual(verify.sources(self.root),2) + def test_required_identity_fields(self): + for key,val in (('sha256','0'*64),('git_blob','0'*40),('bytes',0),('bytes',True)): + es=copy.deepcopy(self.es);es[0][key]=val;self.write(es) + with self.subTest(key=key,val=val),self.assertRaises(ValueError):verify.sources(self.root) + es=copy.deepcopy(self.es);del es[0]['bytes'];self.write(es) + with self.assertRaises(ValueError):verify.sources(self.root) + def test_missing_duplicate_or_unexpected_source(self): + bad=[[],self.es[:-1],self.es+[self.es[0]],[dict(self.es[0],id='X'),self.es[1]]] + for es in bad: + self.write(es) + with self.subTest(es=es),self.assertRaises(ValueError):verify.sources(self.root) + def test_wrong_object_type(self): + self.git('tag','-a','fixture-tag','-m','tag') + for obj in ('HEAD^{tree}','HEAD:imports/E.md','fixture-tag'): + es=copy.deepcopy(self.es);es[0]['commit']=self.git('rev-parse',obj).decode().strip();self.write(es) + with self.subTest(obj=obj),self.assertRaises(ValueError):verify.sources(self.root) + def test_missing_or_unsafe_path(self): + for path in ('missing.md','../E.md','/imports/E.md','imports//E.md','imports/./E.md','imports/../E.md'): + es=copy.deepcopy(self.es);es[0]['path']=path;self.write(es) + with self.subTest(path=path),self.assertRaises(ValueError):verify.sources(self.root) + def test_bad_commit(self): + for commit in ('0'*40,'HEAD','A'*40): + es=copy.deepcopy(self.es);es[0]['commit']=commit;self.write(es) + with self.subTest(commit=commit),self.assertRaises(ValueError):verify.sources(self.root) + def test_leaf_symlink_rejected(self): + p=self.repo/'imports/E.md';p.unlink();p.symlink_to('C.md') + self.git('add','imports/E.md');self.git('commit','-qm','symlink') + es=copy.deepcopy(self.es);es[0]['commit']=self.git('rev-parse','HEAD').decode().strip();self.write(es) + with self.assertRaises(ValueError):verify.sources(self.root) + def test_ancestor_symlink_rejected(self): + (self.repo/'alias').symlink_to('imports',target_is_directory=True) + self.git('add','alias');self.git('commit','-qm','alias') + es=copy.deepcopy(self.es);es[0].update(commit=self.git('rev-parse','HEAD').decode().strip(),path='alias/E.md');self.write(es) + with self.assertRaises(ValueError):verify.sources(self.root) + def test_replacement_cannot_forge_or_invalidate(self): + changed=b'forged source\n';(self.repo/'imports/E.md').write_bytes(changed) + self.git('add','imports/E.md');self.git('commit','-qm','changed') + later=self.git('rev-parse','HEAD').decode().strip();self.git('replace',self.commit,later) + self.assertEqual(self.git('show',self.commit+':imports/E.md'),changed) + self.assertEqual(verify.sources(self.root),2) + es=copy.deepcopy(self.es);es[0].update(entry('imports/E.md',changed));self.write(es) + with self.assertRaises(ValueError):verify.sources(self.root) + def test_original_source_not_worktree(self): + (self.repo/'imports/E.md').write_bytes(b'worktree different\n') + self.assertEqual(verify.sources(self.root),2) + +class PacketTests(unittest.TestCase): + def setUp(self): + temp=tempfile.TemporaryDirectory();self.addCleanup(temp.cleanup);self.root=Path(temp.name) + self.data=b'proof fixture\n';(self.root/'PROOF.md').write_bytes(self.data) + self.es=[entry('PROOF.md',self.data)];self.write() + def write(self):(self.root/'MANIFEST.json').write_text(json.dumps({'files':self.es})) + def test_valid(self):self.assertEqual(verify.inventory(self.root),1) + def test_changed_payload(self): + (self.root/'PROOF.md').write_bytes(b'changed') + with self.assertRaises(ValueError):verify.inventory(self.root) + def test_extra_missing_payload(self): + (self.root/'extra').write_text('extra') + with self.assertRaises(ValueError):verify.inventory(self.root) + (self.root/'extra').unlink();(self.root/'PROOF.md').unlink() + with self.assertRaises(ValueError):verify.inventory(self.root) + def test_invalid_inventory(self): + for es in ([],self.es*2,[dict(self.es[0],path='a/PROOF.md')]): + self.es=es;self.write() + with self.assertRaises(ValueError):verify.inventory(self.root) + def test_symlink_payload_and_manifest(self): + (self.root/'PROOF.md').unlink();(self.root/'PROOF.md').symlink_to('MANIFEST.json') + with self.assertRaises(ValueError):verify.inventory(self.root) + (self.root/'PROOF.md').unlink();(self.root/'PROOF.md').write_bytes(self.data) + (self.root/'MANIFEST.json').rename(self.root/'real');(self.root/'MANIFEST.json').symlink_to('real') + with self.assertRaises(ValueError):verify.inventory(self.root) + def test_duplicate_json_and_nonobject(self): + for text in ('{"files":[],"files":[]}','[]'): + (self.root/'MANIFEST.json').write_text(text) + with self.assertRaises(ValueError):verify.inventory(self.root) + +if __name__=='__main__':unittest.main() diff --git a/frontiers/small_lifetime_shape_20260930/verify.py b/frontiers/small_lifetime_shape_20260930/verify.py new file mode 100644 index 000000000..3403814d2 --- /dev/null +++ b/frontiers/small_lifetime_shape_20260930/verify.py @@ -0,0 +1,108 @@ +"""Replay exact algebra and byte custody; --local-only excludes source Git objects.""" +import argparse +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import subprocess +import sys + +IDS={'E','C'} +MUTANTS=('all-doublets-finite','wrong-shape-normalization','retain-exponent13', + 'lose-ratio-jacobian','wrong-height-ratio','lose-moment-crossover') + + +def read_json(path): + if path.is_symlink() or not path.is_file():raise ValueError('regular JSON file required') + def unique(pairs): + out={} + for key,value in pairs: + if key in out:raise ValueError('duplicate JSON key') + out[key]=value + return out + value=json.loads(path.read_text(encoding='utf-8'),object_pairs_hook=unique) + if not isinstance(value,dict):raise ValueError('JSON object required') + return value + + +def path_parts(path): + if not isinstance(path,str) or not path:raise ValueError('nonempty path required') + p=PurePosixPath(path) + if p.is_absolute() or str(p)!=path or any(x in ('.','..') or not re.fullmatch('[A-Za-z0-9_.-]+',x) for x in p.parts): + raise ValueError('unsafe or noncanonical path') + return p.parts + + +def identity(data,entry): + if type(entry.get('bytes')) is not int or entry['bytes']!=len(data):raise ValueError('missing or incorrect source size') + blob=hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() + if entry.get('git_blob')!=blob or entry.get('sha256')!=hashlib.sha256(data).hexdigest(): + raise ValueError('identity mismatch: '+entry['path']) + + +def git(root,*args): + run=subprocess.run(['git','--no-replace-objects',*args],cwd=root, + env=dict(os.environ,GIT_NO_REPLACE_OBJECTS='1'), + capture_output=True,timeout=45) + if run.returncode:raise ValueError('Git object read failed: '+run.stderr.decode(errors='replace')[:160]) + return run.stdout + + +def sources(root): + entries=read_json(root/'SOURCES.json')['sources'] + if not isinstance(entries,list) or len(entries)!=len(IDS) or {e['id'] for e in entries}!=IDS: + raise ValueError('source inventory mismatch') + seen=set() + for e in entries: + ps=path_parts(e['path']);commit=e['commit'] + if not isinstance(commit,str) or not re.fullmatch('[0-9a-f]{40}',commit):raise ValueError('full commit required') + key=(commit,e['path']) + if key in seen:raise ValueError('duplicate source binding') + seen.add(key) + if git(root,'cat-file','-t',commit).strip()!=b'commit':raise ValueError('source object is not a commit') + for j in range(1,len(ps)+1): + prefix='/'.join(ps[:j]) + records=[x for x in git(root,'ls-tree','--full-tree','-z',commit,'--',prefix).split(b'\0') if x] + if len(records)!=1:raise ValueError('missing or ambiguous source path') + meta,name=records[0].split(b'\t',1);mode,kind,blob=meta.decode().split() + if name.decode()!=prefix:raise ValueError('source path mismatch') + if j=0, divide t by2 repeatedly until s<=1/2. Its positive Taylor +sum through degree100 has remainder between zero and + + s^101/[101! (1-s/102)]. + +The bound follows because every subsequent term ratio is at most s/102. Repeated +outward interval squaring returns exp(t); negative t uses an outward reciprocal. +This differs from the inspected engine's binary64 range-reduced Horner algorithm. + +The n-th root of a nonnegative rational t is bracketed by adjacent multiples of +2^-240. The integer search chooses k with k^n<=floor(t2^(240n))<(k+1)^n; hence +k/2^240<=t^(1/n)<(k+1)/2^240 unless equality is exact. No library power is trusted. + +### Positive-real Gamma + +For q>0 set y=q+40. Generate the Bernoulli numbers independently by their exact +rational recurrence. Use the log-Gamma Stirling sum through B40: + + S(y)=(y-1/2)log y-y+(1/2)log(2pi) + +sum_(j=1)^20 B_(2j)/[2j(2j-1)y^(2j-1)]. + +For positive real y, the remainder is bounded by the first omitted term, so + + |log Gamma(y)-S(y)| <= |B42|/[42*41*y^41]. + +This is the positive-real bound in NIST DLMF5.11(ii), for expansion5.11.1: +https://dlmf.nist.gov/5.11#ii . The source was inspected at its online statement; +no novel special-function theorem or complex-domain extension is claimed. +Subtract log of the exact rational product prod_(j=0)^39(q+j), then use the +monotone interval exponential. This gives a rigorous enclosure of Gamma(q). +The inspected source engine instead shifts by10 and uses the B22 bound. + +### Closed-form assembly + +Let A=Gamma(1/6)/12^(1/6), B=Gamma(5/6)12^(1/6), s=sqrt6. Then the supplied +expressions are + + c1dim=A/(6pi^(3/2)), c2dim=A/(9pi^(3/2)), + c3dim=(29/72-s/12)A/pi^(5/2), + corr1=(3/4)B/pi^(3/2), corr2=(13/18)B/pi^(3/2), + corr3=(5/48)(33-7s)B/pi^(5/2). + +Here c1dim denotes the leading c in dimension1, NOT the cusp coefficient called +c1 in CU. The program labels outputs `1.c`, `1.c2`, etc to avoid this ambiguity. +All three leading denominators are strictly positive in the computed intervals, +so the three ratios are valid interval divisions. The cone subtraction terms +are retained with their signs, not replaced by half an untruncated moment. + +Each resulting rational interval has width<10^-45. The program verifies strict +containment inside each original published decimal pair using Fractions. This +is a new independent numerical certificate of those displayed expressions, +not a comparison of a few floating digits or an extrapolation from a test grid. + +## 3. The reached code path in the inspected engine + +The basic binary64 arithmetic widens each endpoint by nextafter after arithmetic +or square root, under its stated finite IEEE-754 arithmetic assumptions. This +review concerns the finite arguments used to evaluate these nine outputs. No +general portability proof about every libm routine or unbounded input is claimed. + +The source output path uses Machin pi, positive logarithms, real exponentials, +Gamma at1/6 and5/6, rational powers of12, square roots, and signed sums. Inspection +finds no load-bearing problem with these reached branches: positive divisors and +roots are preserved, the Gamma product/first-omitted remainder is included, and +negative half-integer powers of pi use integer floor division plus a sqrt(pi) +factor correctly. `pub` widens the numerical intervals before directed Decimal +formatting, rather than interpreting rounded decimal centers as exact values. + +Even without treating the source arithmetic library as a universal verified +package, Section2 independently certifies the exact published endpoints. +UNUSED routines are outside this review: normal Phi/Mills tails, trigonometric +and Sinc branches, complex boxes, analytic quadrature/slab selection, and the +million-node reference cusp integration. Exact file equality in another packet +does not widen this review's domain to those routines. + +## 4. Narrow resolution of the prior textual finding + +OA-223-A-01 at review5379979090 objected to calling the actual typed kernel A_r +analytic. The successor NOTE at this review head defines the fixed-cone surrogate +A~_r, states the imported relation A_r=A~_r+O(r^3), and asserts analyticity only +for A~_r. This closes that notation/scope defect at the exact reviewed successor. +It does not independently establish the imported comparison or replace the prior +jet/Isserlis and integration reviews5379979090/5379878251. + +## 5. Actual execution, a reviewer-code correction and limits + +The initial six-test oracle scaffold failed six assertions; the first completed +oracle passed those six. Expanded tests found a genuine defect in THIS NEW +reviewer harness: untyped lru_cache keys equated a cached Fraction(1,2) with0.5, +bypassing the exact-input validator. The isolated reproducer showed a cache hit; +`typed=True` and a dedicated regression fix it. This is not a defect attributed +to the inspected peer's code, and it did not alter the Fraction-only output path. + +Final exact-math tests include recurrence/reflection and integer Gamma identities, +independent coefficient atoms, ratio formulas, radical brackets, all-corner +rational arithmetic, signed outward rounding, and falsifiers for cone omission +and false numerical endpoints. Separate real local Git fixtures check source +identity, unsafe paths, original-versus-worktree reads and replacement refs. +Full ordinary/optimized counts and command outcomes are recorded in VALIDATION.md. + +The original peer exact.py/pseries/certificate.py pipeline was NOT executed by +this reviewer locally. Historical objects were read via the GitHub connector; +local network retrieval failed. `verify.py --local-only` explicitly excludes +historical source authentication. The hosted workflow must fetch the pinned +commit, authenticate all six source paths and confirm the literal source output +intervals match the nine inputs copied in oracle.py. Local fixtures do not stand +in for that check. The new evaluator's output is checked deterministically in +both Python modes. No new analytic/theorem or formal-verification status follows +from a successful job. + +## 6. Reuse and remaining assignments + +This record closes the nine-output numerical certificate question for #223. +The common primitive review may be used elsewhere only for identical inspected +functions under the same preconditions. #219 still requires its Mellin reduction, +complex analytic domain, quadrature error and tail work; this record does not +accept those. The general finite-L c2 problem needs a signed/subtracted-integral +perturbation estimate, not the positive homogeneous c1 sandwich. The concrete +finite-part continuity estimate posted in223/5933574379 defines a bounded route. + +No source math/code was edited. The author's integration lease remains intact. +This new review companion is additive and not self-merged. Institutional human +review and full parent-kernel formalization remain unsupplied validation. diff --git a/reviews/c2_interval_audit_20261001/SOURCE_BINDINGS.json b/reviews/c2_interval_audit_20261001/SOURCE_BINDINGS.json new file mode 100644 index 000000000..02d76b069 --- /dev/null +++ b/reviews/c2_interval_audit_20261001/SOURCE_BINDINGS.json @@ -0,0 +1,31 @@ +{ + "repository": "d6g8k5htny-coder/Math-", + "commit": "59a06b65d138994119551059fa336919c07188bf", + "scientific_effect": "NONE", + "files": [ + { + "path": "frontiers/c2_exact_20261001/ia.py", + "git_blob": "cf4bbfa16f577fe65f4ab5fb3621943fa63cf9fa" + }, + { + "path": "frontiers/c2_exact_20261001/elem.py", + "git_blob": "99ad3332b40daa1eee50106dbaa8b4b726cd5ae6" + }, + { + "path": "frontiers/c2_exact_20261001/gam.py", + "git_blob": "e7707bf14aad66ff8aa40ec5d40bf7ab426d4139" + }, + { + "path": "frontiers/c2_exact_20261001/certificate.py", + "git_blob": "96f1913f909118d921ea16161a1ff0885ba6aaef" + }, + { + "path": "frontiers/c2_exact_20261001/RESULTS.json", + "git_blob": "3077d9b29bc2393fbae1dd2c8420ca1bcc3707dd" + }, + { + "path": "frontiers/c2_exact_20261001/NOTE.md", + "git_blob": "a2798b87674ed5fc0d2144697e77ccb9b185b4ab" + } + ] +} diff --git a/reviews/c2_interval_audit_20261001/VALIDATION.md b/reviews/c2_interval_audit_20261001/VALIDATION.md new file mode 100644 index 000000000..94bca6d5a --- /dev/null +++ b/reviews/c2_interval_audit_20261001/VALIDATION.md @@ -0,0 +1,35 @@ +# Reviewer-side execution record + +Actual performer OpenAI / GPT-6 Astra Pro, numerical reviewer of #223. +This record is not an independent human review and not a source-author replay. + +The initial six mathematical tests failed on the deliberate no-op scaffold, then +passed after implementation. Expanded25-method tests found one failure: an +untyped cache key admitted a float alias after caching a Fraction. The reproducer +showed a cache hit for0.5 after Fraction(1,2). Typed cache keys and a new exact +regression produced26 passing mathematical tests. The source/packet11-method +scaffold separately produced14 failures before implementation, then all11 passed. + +Final suite:37 tests PASS in each normal and optimized Python mode. The serialized +oracle output is identical in both modes and matches RESULTS.json. All9 exact +rational enclosures are strictly inside the original published endpoints; their +internal widths are <10^-45. There is no binary floating arithmetic in evaluation. +The published40-decimal displays use exact outward integer floor/ceiling. + +The cache repair belongs to this new oracle, not the peer library. The exact +Fraction output path was unchanged. Tests of false endpoint shrinkage and omitted +cone terms explicitly reject those assertions; they are not mutations of the +source Gaussian proof. No model-dependent coefficient is numerically integrated. + +This reviewer read ia.py, elem.py, gam.py, certificate.py, NOTE.md and RESULTS.json +through the GitHub connector at exact head59a06b65d138994119551059fa336919c07188bf. +It did not locally replay the original source exact.py/pseries derivation or its +full certificate command. DNS prevented an upstream checkout. Local verification +therefore marks historical_sources_checked=false; the hosted workflow must perform +actual source authentication and literal output-binding comparison. No hosted +outcome is anticipated by this author-time record. The real-Git fixtures test +this behavior on temporary repositories rather than fabricate project inputs. + +No source branch, source proof, scientific register, prize or formal-scope file was +changed. The numerical review accepts exact expression enclosures, not their +identification with a full persistence law or a finite-lifetime error bound. diff --git a/reviews/c2_interval_audit_20261001/oracle.py b/reviews/c2_interval_audit_20261001/oracle.py new file mode 100644 index 000000000..094bdf84b --- /dev/null +++ b/reviews/c2_interval_audit_20261001/oracle.py @@ -0,0 +1,170 @@ +"""Independent rational enclosure of PR223's nine numerical outputs. + +No source numerical engine is imported. Fractions and integers only; all interval +rounding is outward to 2^-240. Log/exp are bounded by explicit power-series tails; +Gamma uses the positive-real Stirling remainder, not float Gamma or quadrature. +This evaluates supplied closed forms, not their Gaussian/persistence derivation. +""" +from fractions import Fraction as F +from functools import lru_cache +from math import comb, factorial, isqrt +import json + +BITS=240 +SCALE=1<b:raise ValueError('reversed interval') + return F(floor(a*SCALE),SCALE),F(ceil(b*SCALE),SCALE) + +def plus(a,b):return enclosure(a[0]+b[0],a[1]+b[1]) +def minus(a,b):return enclosure(a[0]-b[1],a[1]-b[0]) +def times(a,b): + p=[x*y for x in a for y in b];return enclosure(min(p),max(p)) +def over(a,b): + if b[0]<=0<=b[1]:raise ValueError('division by interval containing zero') + p=[x/y for x in a for y in b];return enclosure(min(p),max(p)) +def power(a,n): + if type(n) is not int:raise TypeError('integer power required') + if n<0:return over((F(1),F(1)),power(a,-n)) + out=(F(1),F(1)) + for _ in range(n):out=times(out,a) + return out + +def atan_inv(n,terms=100): + x=F(1,n) + s=sum(((-1)**j*x**(2*j+1)/(2*j+1) for j in range(terms)),F(0)) + tail=x**(2*terms+1)/(2*terms+1) + return enclosure(s-tail,s+tail) + +@lru_cache(None, typed=True) +def pi_bounds():return minus(times((F(16),F(16)),atan_inv(5)),times((F(4),F(4)),atan_inv(239))) + +def _log_small(t,terms=100): + u=(t-1)/(t+1) + if not 1<=t<=2:raise ValueError('reduced logarithm range') + s=2*sum((u**(2*j+1)/(2*j+1) for j in range(terms)),F(0)) + rem=2*u**(2*terms+1)/((2*terms+1)*(1-u*u)) + return enclosure(s,s+rem) + +@lru_cache(None, typed=True) +def log_bounds(t): + t=q(t) + if t<=0:raise ValueError('positive logarithm input') + e=0 + while t<1:t*=2;e-=1 + while t>=2:t/=2;e+=1 + return plus(_log_small(t),times((F(e),F(e)),_log_small(F(2)))) + +def log_iv(a):return log_bounds(a[0])[0],log_bounds(a[1])[1] + +def exp_bounds(t): + t=q(t) + if t<0:return over((F(1),F(1)),exp_bounds(-t)) + n=0 + while t>F(1,2):t/=2;n+=1 + # Positive Taylor series: bound all omitted terms by the first omitted + # term times a geometric series with ratio <= t/(K+2). + K=100 + s=sum((t**j/F(factorial(j)) for j in range(K+1)),F(0)) + tail=t**(K+1)/factorial(K+1)/(1-t/F(K+2)) + ans=enclosure(s,s+tail) + for _ in range(n):ans=times(ans,ans) + return ans + +def exp_iv(a):return exp_bounds(a[0])[0],exp_bounds(a[1])[1] + +def _int_nroot(n,k): + if k==2:return isqrt(n) + lo,hi=0,1<<((n.bit_length()+k-1)//k) + while hi-lo>1: + mid=(lo+hi)//2 + if mid**k<=n:lo=mid + else:hi=mid + return lo + +def root_bounds(t,n): + t=q(t) + if t<0 or type(n) is not int or n<1:raise ValueError('nonnegative input and positive integer root') + k=_int_nroot(floor(t*SCALE**n),n) + lo=F(k,SCALE) + return lo,lo if lo**n==t else F(k+1,SCALE) + +def root_iv(a,n):return root_bounds(a[0],n)[0],root_bounds(a[1],n)[1] + +@lru_cache(None, typed=True) +def bernoulli(n): + B=[F(1)] + for j in range(1,n+1):B.append(-sum((F(comb(j+1,k))*B[k] for k in range(j)),F(0))/F(j+1)) + return B[n] + +@lru_cache(None, typed=True) +def lngamma_bounds(x): + x=q(x) + if x<=0:raise ValueError('positive rational Gamma input') + N,K=40,20;y=x+N + ans=minus(times((y-F(1,2),y-F(1,2)),log_bounds(y)),(y,y)) + ans=plus(ans,times((F(1,2),F(1,2)),log_iv(times((F(2),F(2)),pi_bounds())))) + corr=sum((bernoulli(2*j)/(2*j*(2*j-1)*y**(2*j-1)) for j in range(1,K+1)),F(0)) + rem=abs(bernoulli(2*K+2))/((2*K+2)*(2*K+1)*y**(2*K+1)) + # For positive y, the real log-Gamma Stirling remainder is bounded by + # the first omitted term. See NIST DLMF 5.11(ii). Symmetric use is safe. + ans=plus(ans,enclosure(corr-rem,corr+rem)) + prod=F(1) + for j in range(N):prod*=x+j + return minus(ans,log_bounds(prod)) + +@lru_cache(None, typed=True) +def gamma_bounds(x):return exp_iv(lngamma_bounds(x)) + +@lru_cache(None, typed=True) +def coefficients(): + pi=pi_bounds();p32=times(pi,root_iv(pi,2));p52=times(pi,p32) + sixth=root_bounds(F(12),6) + lead=over(gamma_bounds(F(1,6)),sixth) + corr=times(gamma_bounds(F(5,6)),sixth) + s6=root_bounds(F(6),2) + c3=minus((F(29,72),F(29,72)),times((F(1,12),F(1,12)),s6)) + d3=times((F(5,48),F(5,48)),minus((F(33),F(33)),times((F(7),F(7)),s6))) + out={} + for d,lc,dc,pden in ((1,(F(1,6),)*2,(F(3,4),)*2,p32),(2,(F(1,9),)*2,(F(13,18),)*2,p32),(3,c3,d3,p52)): + c=over(times(lc,lead),pden);c2=over(times(dc,corr),pden) + out[f'{d}.c']=c;out[f'{d}.c2']=c2;out[f'{d}.ratio']=over(c2,c) + return out + +def decimal_pair(iv,places=40): + den=10**places + vals=[floor(iv[0]*den),ceil(iv[1]*den)] + return [('-' if z<0 else '')+str(abs(z)//den)+'.'+f'{abs(z)%den:0{places}d}' for z in vals] + +def results(): + out={} + for key,a in coefficients().items(): + ref=tuple(map(F,PUBLISHED[key])) + if not ref[0]