betterwithage commited on
Commit
1fdd5f0
·
verified ·
1 Parent(s): f9db4d7

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": "bekensteinEntropyMeasure",
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; structurally backed by TH6 DPI. NOT the physical Bekenstein entropy-area proportionality, which has no SZL counterpart (F1-4 errata).",
353
- "leanFile": "Lutar/Gate/BekensteinEntropyMeasure.lean",
354
- "leanStatus": "conjectured",
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 cited Lean file Lutar/Gate/BekensteinEntropyMeasure.lean is a phantom/planned obligation (does not exist in lutar-lean). The elementary byte bound's structural properties (positivity, monotonicity) are the proven theorem TH6 (Lutar/DPI/DPIBound.lean)."
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": "bekensteinEntropyMeasure",
54
- "lean_file": "Lutar/Gate/BekensteinEntropyMeasure.lean",
55
- "lean_commit_sha": "1dca00032dfc9aa8559cc6c2e4b63192fcf52371",
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": "phantom",
59
- "lean_status_note": "PHANTOM CITATION: this lean_file is a planned/aspirational proof obligation and does NOT yet exist in szl-holdings/lutar-lean. The TypeScript gate is live and runtime-enforced; the Lean formalization is NOT machine-checked. Disclosed honestly per SZL Doctrine v11 (honesty over checklist) \u2014 NOT counted toward the locked 749 declarations / 14 axioms / 163 sorries at kernel c7c0ba17. No .lean stub created to avoid mutating the LOCKED Lean corpus."
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: `bekensteinEntropyMeasure` (T4)
21
- // Lean file: Lutar/Gate/BekensteinEntropyMeasure.lean
22
- // PHANTOM CITATION: this lean_file is a planned/aspirational proof
23
- // obligation and does NOT yet exist in szl-holdings/lutar-lean. The
24
- // TypeScript gate is live and runtime-enforced; the Lean formalization is
25
- // NOT machine-checked. Disclosed per SZL Doctrine v11. The elementary byte
26
- // bound it computes is structurally backed by TH6 (Lutar/DPI/DPIBound.lean).
 
 
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 = "bekensteinEntropyMeasure";
58
- const LEAN_FILE = "Lutar/Gate/BekensteinEntropyMeasure.lean";
59
- const LEAN_COMMIT = "1dca00032dfc9aa8559cc6c2e4b63192fcf52371";
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(