Skip to content

Add exact scalar-shadow row update lemma - #3331

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
1337isnot1337:research/stream-shadow-row-update
Oct 17, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
1337isnot1337:research/stream-shadow-row-update

Conversation

@1337isnot1337

Copy link
Copy Markdown
Contributor

Result

Adds StreamShadowRowUpdate.S_append_event, a kernel-checked recurrence for one row of Lemma G's scalar-shadow matrix after appending any one event. It covers all five constructors: relabel (unchanged), add (target row plus the scaled source row), scale (scaled target row), copy (source row), and clear (zero row). scalRun_append proves the event-order composition used in the recurrence.

Exact scope

The theorem holds for every finite event prefix, event, row and column, with [DecidableEq ι] and [Semiring K]. It does not assume a field, commutative coefficients, finite registers, label admissibility, exact recipes, or a selected-word hypothesis.

This is an interface lemma only. It proves no unit-row certificate hS for an emitted helper and changes no selected exponent κ.

Verification

From research/stream-shadow-row-update/:

python3 verify.py

A clean replay with Lean 4.21.0, Mathlib v4.21.0 and a fresh cache completed lake exe cache get, lake build, and lake env lean PrintAxioms.lean. The axiom probe reports that scalRun_append depends on no axioms and S_append_event depends only on propext and Quot.sound, both allowed by the repository policy. The package metadata and commit-byte checks also pass. No numerical evidence is used.

Remaining gap

To obtain a concrete hS, bind one complete, source-pinned emitted helper's serialized events and ordering to Lean Event values, then fold this recurrence and prove the final row is the basis row. The serializer-to-Lean binding and the helper's recipe/footprint obligations are not established here; the global multiplication bound remains open.

Provenance

The scalar-shadow semantics are from Lemma G in PR #484. The relevant source and selected-result inputs are pinned in SOURCES.json. Prepared by 1337isnot1337 with OpenAI Codex assistance; no independent human review is claimed.

Rebase the independently verified package onto current upstream main.
@Mister-Meeseeks
Mister-Meeseeks merged commit 97173ad into CrocSwap:main Oct 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants