Repository navigation
Prove same-rho Schur closure for the completed parity-triangular caller - #4209
Conversation
|
Independent scoped audit of the same-rho Schur majorant closure package at Code-disjoint reimplementation; does not import package What passes (16 of 16):
Not covered: live primary/oracle/cross/source re-execution; remote fusion This is a finite replay of committed receipts, not a formal proof. check_4209.py#!/usr/bin/env python3
"""Independent finite controls for PR4209 (same-rho Schur majorant closure).
Recomputes package seals, local SOURCE pins, cross/oracle census agreement,
and algebraic control identities. Does not import package primary_verify /
independent_oracle / cross_check / source_check.
Package head ccc33bfde8baadef7979fac81e28c0a6f6f278c4 via GitHub API.
James Reed (@rcfc-jreed), with substantial AI assistance (Claude, in Cursor).
Apache-2.0.
"""
from __future__ import annotations
import argparse, hashlib, json, sys
from fractions import Fraction
from pathlib import Path
HEAD = "ccc33bfde8baadef7979fac81e28c0a6f6f278c4"
BASE = "12fa8c5c844be21bfefb38a19503fbd867a11244"
PRED = "203d04313c0cb2b4a4663a5a2d4d407e5a5b6d20"
ENDPOINT = "5b774faf86a7bd5a9070aaa0710f3437f0e7861954780c8984d78aab0023591d"
results = []
def check(name, ok, detail=""):
results.append((name, bool(ok), detail))
print(("PASS " if ok else "FAIL ") + name + ((": " + str(detail)) if detail else ""), flush=True)
return bool(ok)
def load(pkg, name):
return json.loads((pkg / name).read_text(encoding="utf-8"))
def sha(path: Path):
return hashlib.sha256(path.read_bytes()).hexdigest()
def blob(path: Path):
data = path.read_bytes()
return hashlib.sha1(b"blob " + str(len(data)).encode() + b"\0" + data).hexdigest()
def run(pkg: Path):
sources = load(pkg, "SOURCES.json")
result = load(pkg, "RESULT.json")
verify = load(pkg, "VERIFY.json")
review = load(pkg, "PACKAGE-REVIEW.json")
oracle = load(pkg, "ORACLE-RESULT.json")
cross = load(pkg, "CROSS-RESULT.json")
source_r = load(pkg, "SOURCE-RESULT.json")
indep = load(pkg, "INDEPENDENT-REVIEW.json")
pins = load(pkg, "SOURCE-PINS.json")
rfm = load(pkg, "REVIEW-FILE-MAP.json")
check("I1 SOURCES/PACKAGE-REVIEW base == 12fa8c5c…; VERIFY ready",
sources["base_commit"] == BASE == review["canonical_base"]
and verify["status"] == "ready")
check("I2 RESULT/PACKAGE/INDEPENDENT PASS; no new κ; unresolved empty",
result["status"] == "PASS_EXACT_COMPONENT_SCHUR_CLOSURE_NO_NEW_KAPPA"
and review["status"].startswith("PASS_")
and indep["status"].startswith("PASS_")
and review["no_new_kappa"] is True
and indep["no_new_kappa"] is True
and review["unresolved_findings"] == []
and indep["unresolved_findings"] == [])
check("I3 retained_source_head / SOURCE-PINS origin_commit == 203d0431… (PR4205)",
review["retained_source_head"] == PRED
and all(p["origin_commit"] == PRED and p["origin_pr"] == 4205 for p in pins))
# Local SOURCES inputs (package-local only; remote fusion path not fetched)
local_inputs = [f for f in sources["files"]
if f["usage"] == "input"
and f["path"].startswith("research/schur-majorant-closure/")]
bad_src = []
for row in local_inputs:
rel = row["path"].split("research/schur-majorant-closure/", 1)[1]
p = pkg / rel
if not p.exists() or sha(p) != row["sha256"] or blob(p) != row["git_blob"]:
bad_src.append(rel)
check("S1 local SOURCES inputs authenticate (4 PR4205 pins: sha256 + git blob)",
not bad_src and len(local_inputs) == 4, bad_src)
pin_bad = []
for p in pins:
rel = p["path"].split("research/schur-majorant-closure/", 1)[1]
f = pkg / rel
if not f.exists() or sha(f) != p["sha256"] or blob(f) != p["git_blob"] or f.stat().st_size != p["size"]:
pin_bad.append(rel)
check("S2 SOURCE-PINS (4) match package source/ bytes",
not pin_bad and len(pins) == 4, pin_bad)
seal_bad = [rel for rel, dig in review["file_sha256"].items()
if not (pkg / rel).exists() or sha(pkg / rel) != dig]
check("S3 PACKAGE-REVIEW.file_sha256 matches all 23 sealed package paths",
not seal_bad and len(review["file_sha256"]) == 23, seal_bad[:6])
eq_bad = []
for row in rfm["current_byte_equalities"]:
if row["path_root"] != "package":
continue
p = pkg / row["current_path"]
if not p.exists() or sha(p) != row["sha256"]:
eq_bad.append(row["current_path"])
check("S4 REVIEW-FILE-MAP package equalities match current bytes",
not eq_bad and len(rfm["current_byte_equalities"]) == 22, eq_bad[:6])
check("S5 RESULT.checker_sha256 == primary_verify.py; CROSS == cross_check.py; SOURCE == source_check.py",
result["checker_sha256"] == sha(pkg / "primary_verify.py")
and cross["checker_sha256"] == sha(pkg / "cross_check.py")
and source_r["checker_sha256"] == sha(pkg / "source_check.py")
and source_r["source_sha256"]["oracle"] == sha(pkg / "independent_oracle.py")
and source_r["source_sha256"]["exact"] == sha(pkg / "source/predecessor_exact.py")
and source_r["source_sha256"]["triangular"] == sha(pkg / "source/PR4205-triangular.py.txt"))
# Oracle / cross census agreement
fam = oracle["families"]
fam_sum = sum(fam.values())
check("C1 oracle/cross endpoint_digest agree; matrices 2441; partitions 13501; nested 1244",
oracle["endpoint_digest"] == cross["endpoint_digest"] == ENDPOINT
and oracle["matrices"] == cross["matrices"] == 2441 == fam_sum
and oracle["principal_E_K_D_partitions"] == cross["principal_E_K_D_partitions"] == 13501
and oracle["nested_history_states"] == 1244
and oracle["status"] == "PASS"
and cross["status"].startswith("PASS_")
and fam == cross["families"])
check("C2 RESULT general: 1440 Schur cases / 656 nested quotients / 64 matrices; rhos {0,1/4,1/2,3/4}",
result["general_cases"]["principal_restriction_schur_cases"] == 1440
== result["general_cases"]["restriction_identities"]
and result["general_cases"]["nested_quotient_identities"] == 656
and result["general_cases"]["matrices"] == 64
and result["general_cases"]["rhos"] == ["0", "1/4", "1/2", "3/4"]
and result["general_cases"]["sizes"] == [1, 2, 3, 4])
check("C3 RESULT parity: 12 roots / 78 recursive nodes / 33 nonleaf shear; compiler not executed",
result["parity_cases"]["root_cases"] == 12
and len(result["parity_cases"]["roots"]) == 12
and result["parity_cases"]["recursive_nodes"] == 78
and result["parity_cases"]["nonleaf_shear_checks"] == 33
and result["parity_cases"]["physical_compiler_executed"] is False)
check("C4 SOURCE-RESULT: 74 source nodes / 32 schur / 10 roots / 64 shear / 104 Cramer; no Triangle.plan",
source_r["source_nodes"] == 74
and source_r["source_schur_nodes"] == 32
and source_r["root_cases"] == 10
and source_r["completed_shear_checks"] == 64
and source_r["cramer_entries"] == 104
and source_r["static_admission"]["Triangle_plan_factory_executed"] is False
and source_r["status"].startswith("PASS_"))
# Algebraic controls (stdlib Fraction; no package imports)
z_re, z_im = Fraction(3, 10), Fraction(3, 10)
mod2 = z_re ** 2 + z_im ** 2
mu = abs(z_re) + abs(z_im)
ctrl = result["controls"]
check("A1 modulus-only boundary: |z|^2=9/50<1/4 but L1=3/5>1/2 for z=(3+3i)/10",
mod2 == Fraction(9, 50) < Fraction(1, 4)
and mu == Fraction(3, 5) > Fraction(1, 2)
and "9/50" in ctrl["modulus_only_component_boundary"]
and "3/5" in ctrl["modulus_only_component_boundary"])
check("A2 sharp rho=1/2 consequences: direct=3/2, inverse=2; row-only 9/8>3/4; rho_3/2 defect=3",
ctrl["sharp_rho_defect"] == "1/2"
and ctrl["sharp_direct"] == "3/2"
and ctrl["sharp_inverse"] == "2"
and Fraction(9, 8) > Fraction(3, 4)
and ctrl["row_only_column_counterexample"] == "9/8 > 3/4"
and ctrl["rho_three_halves_counterexample_defect"] == "3"
and ctrl["rho_one_singular_pivot_rejected"] is True
and ctrl["nonprincipal_and_nonisometric_extensions_rejected"] is True)
check("N1 remaining / finite_scope exclude physical compiler, new κ, universal theorem execution",
"Gaussian-rational" in result["finite_scope"]
and result["parity_cases"]["physical_compiler_executed"] is False
and review["no_frontier_change"] is True)
failed = [name for name, ok, _ in results if not ok]
print(f"\n{len(results) - len(failed)}/{len(results)} PASS", flush=True)
if failed:
print("FAILED:", ", ".join(failed), flush=True)
return 1
return 0
def main():
ap = argparse.ArgumentParser()
ap.add_argument("--pkg", required=True)
ap.add_argument("--expect-head", default=HEAD)
args = ap.parse_args()
check("HEAD pin recorded (API fetch)", args.expect_head == HEAD, args.expect_head)
return run(Path(args.pkg))
if __name__ == "__main__":
sys.exit(main())James Reed (@rcfc-jreed), with substantial AI assistance (Claude, in Cursor). |
|
Independent scoped audit of #4209 same-rho Schur majorant closure at Code-disjoint checks; nested No packaging defect in SOURCES scope. All 8 digests match (package-local pins at HEAD). What passes:
Not covered here: Lean; new κ; merge/close; treating finite Gaussian-rational enumeration as the universal complex theorem (PROOF.md is separate). Finite pin/seal/arithmetic replay ≠ formal proof. James Reed (@rcfc-jreed), with substantial AI assistance (Claude, in Cursor). |
PR4205's recursive parity child uses a loose one-step perturbation bound. This supplies a separate arbitrary-size proof that every principal Schur descendant retains the same rho<1 entry-majorant row and column budgets. It covers complex modulus and the actual component envelope used by the pinned caller. At rho=1/2, the local consequences are descendant direct norm<=3/2, inverse<=2, K/ZK<=1 and completed local shear/inverse<=2. No compiler or global precision allocation is changed.
Evidence: exact primary proof/checker (1440 restriction/Schur cases,656 nested quotient identities), independently frozen bordered-determinant oracle (2441 matrices/13501 partitions/1244 nested histories), exact algorithm agreement, and an authenticated algebra-only probe of the actual original source (74 nodes/32 Schur+commutation checks/104 Cramer entries/64 local shear bounds). A source sign mutation still satisfies norm tests but fails the exact Schur identity. Ordinary modulus does not imply component admission; a countercontrol records that boundary. Eight registered normal/strict-optimized commands pass locally; committed Git-free/hosted verification is recorded in the canonical handoff.
Canonical main12fa8c5c844be21bfefb38a19503fbd867a11244, priority7; completed predecessor PR4205 at203d04313c0cb2b4a4663a5a2d4d407e5a5b6d20 is frozen, with four unchanged minimal exports in an own-branch source ancestor. Claim. Fresh323 open/draft bodies and live1166/4202 checked; broader overlap partial, no novelty inferred. The author's active compensated-generator implementation is excluded.
Remaining: full Triangle.plan/FFT/gate/rounding execution is not exercised here; global prefix/grid/online-offline bounds, active generator composition, physical delivery and native/outer multiplication theorem remain open. No new supplier/kappa or selected-frontier change. Do not merge; maintainer edits disabled.
Credit Jose Manuel (
jmbarrancoml) for rational recursive execution/precision, Vlado Vojdanovski/PR1673 for parity recursion and descendants, Chafik Boukhalfa/PR628 for phases, Cinna Davis for the later caller, and Douglas Colkitt/OpenAI/retained NOTICE lineage. Classical Schur-complement, Neumann-series and majorant methods underlie the proof; no broad mathematical-priority claim. ToikY with substantial OpenAI Codex assistance in proof, code, integration, oracle and review; separate agents are not independent human or formal-kernel acceptance.Task uniform-transfer-audit is refined to this descendant invariant; see research/schur-majorant-closure/TASK.json. Reproduce from the repository root:
python3.12 -B scripts/research_package.py --package research/schur-majorant-closure. Eight normal/strict-optimized commands also pass from the exact public-head Git-free export (26 input/package files unchanged); all24 public blobs and declared source ancestry match. PR4193 covers finite Gaussian conditioning and PR4186 block-solve errors under different hypotheses. The smallest follow-up is the pinned global-allocation question in README.md, outside this proof.