Repository navigation
Lemma G of #484: clean proof and Lean 4 formalisation of its core - #509
Merged
Mister-Meeseeks merged 11 commits intoOct 12, 2026
Merged
Conversation
…375517e-3 Both E8 suppliers of CrocSwap#434 keep their local words. Whole dirty-helper residuals move from bank streams onto pending idle-advance coordinates of data families that are untouched between the hosting invocation and the advance. Bit c 1.239085e-3, complex b 1.267453e-3, kappa 618775866623647/5e17 (+9.22% over CrocSwap#434). Fresh CrocSwap#434 replay, independent audit with nine mutation controls, two exact moments, fresh invoices and all 47 outer inequalities.
…rance gauges on whole-residual hosting Adds research/e8-complex-gauge-kernel (on PR442's tree) and its CI workflow. Conditional on Lemma G (reduced to CrocSwap#425 + CrocSwap#471/CrocSwap#458 plus a schedule lemma) and CrocSwap#458's paid adapters. Independent audit and light checks passed; heavy full replays pending. Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ions) The Lemma G summary pinned sha256 of runtime-written .gz files, whose container bytes depend on the zlib bundled with the Python in use, so the Python 3.12 full run failed EXPECTED while 3.14 passed. Hash the decompressed JSON instead (keys without .gz); regenerate those 8 EXPECTED fields and MANIFEST.json. Full fresh-copy runs pass on Python 3.14 (--all --discover-check) and 3.12 (--all). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
research/e8-lemma-g-lean/: the abstract core of Lemma G (common-frame conjugation for labelled event streams, matrix form of the scalar shadow, schedule emitter for the compensation segment and centre phase, telescoping accounting, bit-side entrance identities) proved in Lean 4.21.0 + Mathlib v4.21.0 for every semiring, module and invertible label family; the instance hypotheses stay checked by CrocSwap#484's Python stage plus a new extended-label check (adapters and wrappers read as relabel events). verify.py builds the package, scans for sorry/axiom/native_decide and checks #print axioms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, wording)
- check_extended_labels.py: a source must convert exactly once (entry adapter
only from ('pre', i)); identity adapters pinned to frame 0 / FULL; wrappers
keyed by the start frame; unknown events rejected; new mutant (duplicated
source entry adapter); adapter mutants now also run on the anchor.
- code/check_adapters.py (new): CrocSwap#433's data-adapter identities on all 512
columns of every port (H6), 0 failures on all four words.
- verify.py --instances: confirms CrocSwap#484's own checks passed on inputs equal to
CrocSwap#484 EXPECTED.json, runs both instance checks; CrocSwap#484 files it imports are
pinned in MANIFEST (external_files).
- PROOF/README: explicit H2 bridge and C-linearity, H6, exact statement of
CrocSwap#484's endpoint imprecision (mid-stream adapters are identities), "every
input" qualified by its inherited facts, semiring wording.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DreamingOfClouds
marked this pull request as ready for review
October 11, 2026 22:50
Contributor
|
Integrated into published main at The general Lemma G proofs build in Lean 4.21.0, with 16 named axiom reports and finite hypothesis checks on the four freshly reconstructed words. The scoped review and pinned execution receipts record the exact coverage and remaining assumptions. This strengthens specific interfaces and preserves useful research; it does not change the selected κ or establish the complete multiplication theorem. Local checks passed; fresh Linux CI was queued at publication. |
This was referenced Oct 12, 2026
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR gives Lemma G (entrance gauge: target-side compensation at nonzero frames, labelled targets, chain scatter) a clean,
self-contained proof and formalises its abstract core in Lean 4.
Lemma G is worth +1.80% of complex
bunder no-bank hosting:b#484 is not modified. This branch is stacked on #484's head and adds only
research/e8-lemma-g-lean/.What is proved (Lean 4.21.0 + Mathlib v4.21.0, the pin of
formal/leanon main)The theorem holds for every semiring
K, everyK-moduleMand every family of linear automorphismsT. Take any stream of relabel/add/scale/copy/clear events that is well labelled and whose relabels executeT_B T_A⁻¹. Then for every input it computesh_r ↦ T_{λ¹_r}(Σ_s S_rs T_{λ⁰_s}⁻¹ h_s),where the non-private columns of
Sare exactly what #484's rational scalar replay computes (S_rowform; the replay starts the private copies empty, and their columns drop out on inputs with empty private registers).The other Lean results:
row_unit,row_pair). A unit row gives the blockT_{λ¹}T_{λ⁰}⁻¹; for an entering helper this is the virtual entrance with its wrappers. A paired row givesT_{λ¹_r}(T_{λ⁰_r}⁻¹h_r + a·T_{λ⁰_s}⁻¹h_s).emit_spec,comp_segment,centre_forward,centre_backward), proved for an abstract order with strictly monotone rank and instantiated for the subspaces of F₂⁹.L_t = max ℰ_t.paid_telescopes). Paid ranks telescope tork λ¹ − rk λ⁰per register.Dbit_one_mul,Dbit_conj).D_I D_P = D_{I−P}, and conjugation bydiag(g,g)forgᵀg = 1, for everyP.All theorems are general: there is no instance enumeration and no
decide/native_decide. Lean proves the abstract core. The schedule lemmas are an a-priori route that is not instantiated on the emitted stream; the stream itself is checked in Python (below). Combining the Lean core with those checks gives that the data rows are W's and the mass identitymass(W) − Σ_j dim E_j.#print axiomsreports onlypropext,Classical.choiceandQuot.sound.verify.pybuilds the package, scans forsorry/axiom/native_decide, and checks every axiom report.What stays checked in Python
The instance hypotheses on the emitted streams:
code/check_extended_labels.pycheck_extended_labels.py)Scode/check_adapters.py, every port, all 512 columns, exactWhy the extended-label check: #484 §2.1 left adapters and wrappers outside Lemma C as endpoint operators. Register-wise that is right. Each non-identity adapter and each wrapper is the first or last event on its register, and the adapters that sit mid-stream (headline forward: 550 entry, 672 exit) are all identities. So #484's description was imprecise but harmless. Lemma C as stated still needed an unwritten commutation step. The clean proof reads adapters and wrappers as relabel events of an extended label set (tag × frame), so the theorem covers the complete emitted stream, and the condition is checked directly.
With these hypotheses checked exhaustively, and Lemma A (#484 I-helper, exhaustive), the end-to-end identity holds for every input with empty private registers. #484's
lg_e2e.pytested it on 814 sampled columns.PROOF.md§5 lists the other clarifications:Reproduce
Credits
formal/leanon main: the Lean toolchain and Mathlib pin.Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.
🤖 Generated with Claude Code