2026-08-30 日経記事 「関係性読み解く数学『圏論』、量子論でも」 (中平健治 玉川大 教授) を 起点に、 藤本さん と chat-Claude の 対話で 圏論的 ZCE 補強 recommendation 3 点 が 提示された。 その うち recommendation (a) = 「台帳が monoid 準同型 (partition well-defined)」 を Lean 4 で formal 化した の が STEP 1774。 続いて STEP 1770 (v0.4 phase 2b Shannon SCT general lower bound via Gibbs) の complement として STEP 1796 = Cover-Thomas 5.4.1 upper bound (Shannon-Fano code) を formal 化。
私 (Rei-side Claude) が 初期に 提示した skeleton は 以下 3 点で 過大主張だった:
更に 修正 skeleton 提示後 に 追加訂正:
theorem partition_conservation {n : Nat} (σ : Fin n → Account) :
n = (univ.filter (fun i : Fin n => σ i = .ctx)).card
+ (univ.filter (fun i : Fin n => σ i = .cmp)).card
+ (univ.filter (fun i : Fin n => σ i = .cls)).card
+ (univ.filter (fun i : Fin n => σ i = .ch )).card
Line-of-visibility (Question 0 判定 の Lean 上 可視化):
theorem conservation_from_declared
{n : Nat} (σ : Fin n → Account)
(ctx cmp cls ch : Nat)
(h_ctx : ... = ctx) (h_cmp : ... = cmp)
(h_cls : ... = cls) (h_ch : ... = ch) :
n = ctx + cmp + cls + ch
4 hypotheses は well-formedness constraint = 定理外 の 仮定として 分離。
STEP 1755-1768 ZCE v0.4 arc close 時 に 「phase 2c candidate = upper bound (Shannon-Fano) + p(x)=0 boundary + measure-theoretic bridge」 と 記録済み。 藤本さん 2026-09-06 「続きを お願いできますか」 → AskUserQuestion 4 択 で 「ZCE v0.4 phase 2c (Shannon SCT upper bound)」 選択 → 実装。
theorem shannon_sct_upper_bound
{X : Type*} [Fintype X]
(p : X → ℝ) (hp_pos : ∀ x, 0 < p x) (hp_sum : ∑ x, p x = 1) :
expectedLength p (shannonFanoLength p) * Real.log 2
≤ entropyNats p + Real.log 2
Equivalently (divide by log 2 > 0): E[ℓ*] ≤ H_bits(p) + 1。
| Lemma | Statement |
|---|---|
shannonFano_pow_le | 2^(-↑ℓ*(x)) ≤ p x (per-symbol Kraft bound) |
shannonFano_kraft | kraftGeneral (shannonFanoLength p) (Kraft 満足) |
shannonFano_ceil_bound | ↑ℓ*(x) < -log(p x)/log 2 + 1 (per-x ceil upper) |
shannon_sct_upper_bound | 主定理 (上記) |
↑ℓ*(x) ∈ [-log(p x)/log 2, -log(p x)/log 2 + 1)2^(-↑ℓ*(x)) ≤ 2^(log(p x)/log 2) = p x (via `Real.rpow_logb`)、 sum ≤ 1E[ℓ*] * log 2 ≤ ∑ p(-log p) + log 2 = entropyNats + log 2 (hp_sum で log 2 factor 集約)| Declaration | Axioms |
|---|---|
| STEP 1774 `partition_conservation` | [propext, Classical.choice, Quot.sound] |
| STEP 1774 `conservation_from_declared` | [propext, Classical.choice, Quot.sound] |
| STEP 1796 `shannonFano_pow_le` | [propext, Classical.choice, Quot.sound] |
| STEP 1796 `shannonFano_kraft` | [propext, Classical.choice, Quot.sound] |
| STEP 1796 `shannonFano_ceil_bound` | [propext, Classical.choice, Quot.sound] |
| STEP 1796 `shannon_sct_upper_bound` | [propext, Classical.choice, Quot.sound] |
全 6 declaration が Mathlib 3 標準 axiom footprint。 K axiom / independent Rei axiom / sorryAx / Lean.ofReduceBool すべて なし。 STEP 1770 phase 2b (Shannon SCT general lower bound) と 同一 footprint、 v0.4 arc 一貫性維持。
| Target | Jobs | Time | Status |
|---|---|---|---|
| STEP 1774 module 単独 | 667/667 | 7.4s | PASS |
| STEP 1796 module 単独 | 2145/2145 | 11s | PASS |
| Root `lake build CollatzRei` (STEP 1796 land 後) | 7955/7956 | 24s | PASS |
0407605d3bae656672