Spaces:
Running
Running
fix(policy): repoint T4 BekensteinEntropyMeasure gate at real proven TH6 (Lutar/DPI/DPIBound.lean); drop phantom citation
Browse files
docs/theorem-runtime-manifest.json
CHANGED
|
@@ -347,18 +347,18 @@
|
|
| 347 |
},
|
| 348 |
{
|
| 349 |
"id": "RUNTIME-T4-BEKENSTEIN-ENTROPY-MEASURE",
|
| 350 |
-
"theorem": "
|
| 351 |
"formula": "BekensteinEntropyMeasure",
|
| 352 |
-
"lineage": "Elementary DPI byte-count bound (Cover-Thomas, Elements of Information Theory 2006, sec 2.8.1): chain entropy <= 8*sizeBytes;
|
| 353 |
-
"leanFile": "Lutar/
|
| 354 |
-
"leanStatus": "
|
| 355 |
"runtimeFile": "packages/policy/src/gates/bekensteinEntropyMeasure_gate.ts",
|
| 356 |
"exportFile": "packages/policy/src/gates/index.ts",
|
| 357 |
"testFile": "packages/policy/src/gates/__tests__/policy_gates_extended.test.ts",
|
| 358 |
"validationCommand": "npx tsx packages/policy/src/gates/__tests__/policy_gates_extended.test.ts",
|
| 359 |
"claimStatus": "verified-runtime",
|
| 360 |
"stagedAdvisory": false,
|
| 361 |
-
"caveat": "Runtime numeric predicate is independently testable; the
|
| 362 |
},
|
| 363 |
{
|
| 364 |
"id": "RUNTIME-T5-REPLAY-DETERMINISM",
|
|
|
|
| 347 |
},
|
| 348 |
{
|
| 349 |
"id": "RUNTIME-T4-BEKENSTEIN-ENTROPY-MEASURE",
|
| 350 |
+
"theorem": "Lutar.DPI.dpi_bound_monotone",
|
| 351 |
"formula": "BekensteinEntropyMeasure",
|
| 352 |
+
"lineage": "Elementary DPI byte-count bound (Cover-Thomas, Elements of Information Theory 2006, sec 2.8.1): chain entropy <= 8*sizeBytes; the bound's positivity and monotonicity are the proven theorem TH6 (Lutar/DPI/DPIBound.lean). NOT the physical Bekenstein entropy-area proportionality, which has no SZL counterpart (F1-4 errata).",
|
| 353 |
+
"leanFile": "Lutar/DPI/DPIBound.lean",
|
| 354 |
+
"leanStatus": "theorem",
|
| 355 |
"runtimeFile": "packages/policy/src/gates/bekensteinEntropyMeasure_gate.ts",
|
| 356 |
"exportFile": "packages/policy/src/gates/index.ts",
|
| 357 |
"testFile": "packages/policy/src/gates/__tests__/policy_gates_extended.test.ts",
|
| 358 |
"validationCommand": "npx tsx packages/policy/src/gates/__tests__/policy_gates_extended.test.ts",
|
| 359 |
"claimStatus": "verified-runtime",
|
| 360 |
"stagedAdvisory": false,
|
| 361 |
+
"caveat": "Runtime numeric predicate is independently testable; the byte bound dpiEntropyBound r = sizeBytes * 8 is kernel-checked (zero sorry) as theorem TH6 in Lutar/DPI/DPIBound.lean (dpi_bound_positive, dpi_bound_monotone). The prior phantom citation Lutar/Gate/BekensteinEntropyMeasure.lean never existed in lutar-lean and has been removed."
|
| 362 |
},
|
| 363 |
{
|
| 364 |
"id": "RUNTIME-T5-REPLAY-DETERMINISM",
|
gates_manifest.json
CHANGED
|
@@ -50,13 +50,13 @@
|
|
| 50 |
"name": "bekensteinEntropyMeasure",
|
| 51 |
"file": "bekensteinEntropyMeasure_gate.ts",
|
| 52 |
"description": "a11oy policy gate for BekensteinEntropyMeasure (T4)",
|
| 53 |
-
"lean_theorem": "
|
| 54 |
-
"lean_file": "Lutar/
|
| 55 |
-
"lean_commit_sha": "
|
| 56 |
"formula": "BekensteinEntropyMeasure",
|
| 57 |
"rationale": "H(R_n) \u2264 8\u00b7sizeBytes bits. A registry of sizeBytes bytes admits a chain entropy of at most 8\u00b7sizeBytes bits (elementary DPI byte-count bound: max-entropy of a uniform distribution over 2^(8\u00b7sizeBytes) symbols, non-increasing under processing). This gate validates that the Shannon-estimated chain entropy falls within that bound. This is NOT the physical Bekenstein entropy-area bound S <= 2*pi*k*R*E/(hbar*c), which has no SZL counterpart (F1-4 errata).",
|
| 58 |
-
"lean_status": "
|
| 59 |
-
"lean_status_note": "
|
| 60 |
},
|
| 61 |
{
|
| 62 |
"name": "bekensteinSoundness",
|
|
|
|
| 50 |
"name": "bekensteinEntropyMeasure",
|
| 51 |
"file": "bekensteinEntropyMeasure_gate.ts",
|
| 52 |
"description": "a11oy policy gate for BekensteinEntropyMeasure (T4)",
|
| 53 |
+
"lean_theorem": "Lutar.DPI.dpi_bound_monotone",
|
| 54 |
+
"lean_file": "Lutar/DPI/DPIBound.lean",
|
| 55 |
+
"lean_commit_sha": "5bfeddf7e6fa5ef1bcdd96e01f565d64f6ac0fee",
|
| 56 |
"formula": "BekensteinEntropyMeasure",
|
| 57 |
"rationale": "H(R_n) \u2264 8\u00b7sizeBytes bits. A registry of sizeBytes bytes admits a chain entropy of at most 8\u00b7sizeBytes bits (elementary DPI byte-count bound: max-entropy of a uniform distribution over 2^(8\u00b7sizeBytes) symbols, non-increasing under processing). This gate validates that the Shannon-estimated chain entropy falls within that bound. This is NOT the physical Bekenstein entropy-area bound S <= 2*pi*k*R*E/(hbar*c), which has no SZL counterpart (F1-4 errata).",
|
| 58 |
+
"lean_status": "real",
|
| 59 |
+
"lean_status_note": "REAL: the elementary byte bound dpiEntropyBound r = sizeBytes * 8 is kernel-checked in szl-holdings/lutar-lean at Lutar/DPI/DPIBound.lean (theorem TH6), proven strictly positive (dpi_bound_positive) and monotone (dpi_bound_monotone), zero sorry. The runtime gate enforces that same byte bound. Replaces the prior phantom citation Lutar/Gate/BekensteinEntropyMeasure.lean, which never existed in lutar-lean."
|
| 60 |
},
|
| 61 |
{
|
| 62 |
"name": "bekensteinSoundness",
|
packages/policy/src/gates/bekensteinEntropyMeasure_gate.ts
CHANGED
|
@@ -17,13 +17,15 @@
|
|
| 17 |
// Lutar/DPI/DPIBound.lean, where the byte bound's positivity/monotonicity
|
| 18 |
// are the proven theorem TH6).
|
| 19 |
//
|
| 20 |
-
// Lean derivation cited:
|
| 21 |
-
//
|
| 22 |
-
//
|
| 23 |
-
//
|
| 24 |
-
//
|
| 25 |
-
//
|
| 26 |
-
//
|
|
|
|
|
|
|
| 27 |
//
|
| 28 |
// References:
|
| 29 |
// Cover & Thomas, Elements of Information Theory (2006), §2.8 (DPI)
|
|
@@ -54,9 +56,9 @@ export interface BekensteinEntropyMeasureDecision {
|
|
| 54 |
lambdaScore: number;
|
| 55 |
}
|
| 56 |
|
| 57 |
-
const LEAN_THEOREM = "
|
| 58 |
-
const LEAN_FILE = "Lutar/
|
| 59 |
-
const LEAN_COMMIT = "
|
| 60 |
const DEFAULT_BPB = 8;
|
| 61 |
|
| 62 |
export function bekensteinEntropyMeasureGate(
|
|
|
|
| 17 |
// Lutar/DPI/DPIBound.lean, where the byte bound's positivity/monotonicity
|
| 18 |
// are the proven theorem TH6).
|
| 19 |
//
|
| 20 |
+
// Lean derivation cited: TH6 — the elementary byte bound's structural
|
| 21 |
+
// properties (positivity + monotonicity) are kernel-checked in lutar-lean.
|
| 22 |
+
// Lean theorem: Lutar.DPI.dpi_bound_monotone (with Lutar.DPI.dpi_bound_positive)
|
| 23 |
+
// Lean file: Lutar/DPI/DPIBound.lean
|
| 24 |
+
// Lean status: REAL — machine-checked by the Lean 4 kernel (zero `sorry`) in
|
| 25 |
+
// szl-holdings/lutar-lean at the cited commit. `dpiEntropyBound r = sizeBytes * 8`
|
| 26 |
+
// is proven strictly positive and monotone; this gate enforces that same byte
|
| 27 |
+
// bound at runtime. (Replaces the prior phantom citation
|
| 28 |
+
// Lutar/Gate/BekensteinEntropyMeasure.lean, which never existed in lutar-lean.)
|
| 29 |
//
|
| 30 |
// References:
|
| 31 |
// Cover & Thomas, Elements of Information Theory (2006), §2.8 (DPI)
|
|
|
|
| 56 |
lambdaScore: number;
|
| 57 |
}
|
| 58 |
|
| 59 |
+
const LEAN_THEOREM = "Lutar.DPI.dpi_bound_monotone";
|
| 60 |
+
const LEAN_FILE = "Lutar/DPI/DPIBound.lean";
|
| 61 |
+
const LEAN_COMMIT = "5bfeddf7e6fa5ef1bcdd96e01f565d64f6ac0fee";
|
| 62 |
const DEFAULT_BPB = 8;
|
| 63 |
|
| 64 |
export function bekensteinEntropyMeasureGate(
|