Research Log 2026-08-27 — dimension_check × D-FUMT₈ arc
Origin — chat-Claude 直言
2026-08-26、 chat-Claude が 藤本さんの 問い 「E=mc² も コネクタ用の ツール、 マシンに 出来ますか?」 に 対して 直言:
E=mc² 単体は ツールになりません。 掛け算一行なので、 機械にする 価値がゼロです。
…意味のある機械は、 その 一段上に あります。 E=mc² は 本来E² = (pc)² + (mc²)²の p=0 の 場合であり、 機械が 働くのは 「不変量」 の 側です。
提案は rei-invariant-mcp (dimensional_check / boost / q_value / dimensional_check / Lean 4 export) の 5 tool 家族。 続けて 「全ての 数式を マシンに 出来るのか?」 に対して:
いいえ、 できません。 …判定基準は 式の 見た目ではなく、 その 式を 含む 言明が 算術的階層 の どこにあるか です。 決定可能なクラスがある → 真の 判定器が 作れる。 Π⁰₁ → 反証器・スクリーナー しか 作れない。 決定不能 → 機械にならない。
実務的な 三条件: (1) 入力が 一点でなく 族である (2) 外部データか 規約が要る (3) 判定クラスの 外側が 定義できる (NEITHER が 意味を持つ)。
Claude Code (私) は 応答で 第 4 条件 を 追加:
測定域が 意味を持つ (STEP 1350 d8_verdict_from_measurement pattern = 一点式でも SNR<3 で NEITHER 化 可能)。
藤本さん が (a) dimension_check 単独 spike を 選択、 その 完了後 (b)(c)(d)(k)(l)(m)(i)(j) を 「順番に」 と 指示、 **9 STEP 完遂 に 至る**。
9 STEP timeline
| STEP | 日付 | 実施 | test |
|---|---|---|---|
| 1414 | 08-26 | (a) spike → (b) MCP wire → (c) 加算 対応。 ℤ⁷ SI base × D-FUMT₈ verdict engine 完成、 26 default symbol + extraSymbols override、 単項式 + 加算 grammar (relativistic E² = (pc)² + (mc²)² 直接 check 可)。 rei-aios MCP v2.8.5 → v2.8.6、 44→45 tool。 |
63/63 |
| 1417 | 08-26 | physics-limits precheck (第 4 条件 active 化)。 5 physics-limit (Bekenstein/Landauer/Lloyd/compression/operator) の 入力 role dim gate。 benchtop repo 触らず rei-aios 側 pre-check として 動作 (責任分離)。 Landauer T=TIME 衝突は honest FALSE。 v2.8.6 → v2.8.7、 45→46 tool。 | 58/58 |
| 1420 | 08-27 | (d) Lean 4 export (Mathlib bridge)。 手書き Dimension.lean = ℤ⁷ SI base struct + 17 axiom-free theorem (Einstein/Newton/Planck/relativistic + 2 FALSE 反証)、 lake build 5.1s。 TS exporter で TRUE → lhs = rhs := by decide / FALSE → ≠ := by decide。 v2.8.7 → v2.8.8、 46→47 tool。 |
47/47 (live) |
| 1421 | 08-27 | (k) physics-precheck Lean 4 export。 LimitsPrecheck.lean = 5 physics-limit role expected dim + 9 axiom-free theorem (7 spec sanity + 2 honest boundary landauer_T_not_time / time_not_temperature)、 lake build 6.5s。 per-role theorem 生成。 v2.8.8 → v2.8.9、 47→48 tool。 |
50/50 (live) |
| 1422 | 08-27 | (l) batch verify script。 scripts/verify-lean4-physics.ts = lake build + #print axioms aggregate + 3 mode (default/JSON/quiet) + exit code 0/1/2/3。 CI-ready regression 検知。 |
26/26 |
| 1423 | 08-27 | (m) STEP 1368 axiom-scan pipeline integration。 glob **/*AxiomCheck.lean が Physics 2 files を script 変更なし で auto-discover verify (34 total)、 AXIOM_PROFILES.md に Physics section 追加。 |
— |
| 1424 | 08-27 | (i) 加算 mismatch bug fix + reason 埋込。 STEP 1420 の 隠れ bug 発見: E = m + t → mass + time は Lean 4 で HAdd Dimension 未実装 = compile 失敗。 documentation-only source pattern に切替 (★★★ marker + 詳細 reason + 分解 hint 埋込)。 |
30/30 (live) |
| 1425 | 08-27 | (j) CommGroup Dimension instance。 DimensionGroup.lean = 11 mine theorem + 4 Mathlib overload、 全 propext のみ Mathlib base、 universal group axioms (mul_assoc/comm/one/inv 全) を 任意 Dimension で 使用可能。 STEP 1422 script に permitAxioms 概念 + ext' tick regex fix。 |
274 全 clean |
| 1428 | 08-27 | (o) 本ページ site 反映 = 2026-08-06 「全研究 site 反映 default」 protocol 適用、 dist-renderer mirror force-track + HTTP 200 + content marker verify。 | — |
累計 数字
- 6 Lean 4 files (Dimension + LimitsPrecheck + DimensionGroup + 各 AxiomCheck)
- 41 verified theorem (30 zero-axiom + 11 propext-only Mathlib base)
- 4 TS module (dimension-check core / physics-limits-precheck / lean4-export / lean4-precheck-export)
- 4 MCP tool (
d8_dimension_check/d8_physics_precheck/d8_dimension_lean_export/d8_physics_precheck_lean_export) - rei-aios MCP v2.8.5 → v2.8.9 (44 → 48 tool、 auto-count STEP 1378 systemic 対策 反映)
- 6 test file:
step14{14,17,20,21,22,24}-*.tscombined 274 assertion 全 PASS (live Lean 4 kernel verify 含む) - 1 batch verify script (
scripts/verify-lean4-physics.ts) = STEP 1368 相補、 CI-ready
chat-Claude 三条件 → 四条件 実測
| 条件 | dimension_check (STEP 1414) | physics-precheck (STEP 1417) |
|---|---|---|
| 1. 族 | ✓ 単項式/加算式 | ✓ 5 limits × 複数 role |
| 2. 規約 | ✓ SI base + 26 symbol | ✓ + physics-limit role spec |
| 3. NEITHER | ✓ unknown symbol | ✓ 継承 + precedence |
| 4. 測定域 (Claude Code 追加) | △ 静的のみ | ✓ active (benchtop feed 前 gate) |
D-FUMT₈ verdict mapping
ZERO (4) = parse failure / '=' 不在 / malformed / missing required
NEITHER(-1) = unknown symbol (out of scope、 判断保留 = FLOWING に 近い)
FALSE (0) = 両辺 well-formed だが 次元不一致 (加算 mismatch 含む)
TRUE (1) = 両辺 完全一致
優先度 (aggregate): ZERO > NEITHER > FALSE > TRUE = 「scope 外 判断保留」 が 「不一致 決定」 に 優先する 責任的 discipline。
Lean 4 axiom profile
batch verify (npm run verify:lean4-physics) 実測:
▶ CollatzRei.Physics.Dimension (STEP 1420)
17 zero-axiom / 0 permitted-axiom / 0 regression / total 17 theorems
▶ CollatzRei.Physics.LimitsPrecheck (STEP 1421)
9 zero-axiom / 0 permitted-axiom / 0 regression / total 9 theorems
▶ CollatzRei.Physics.DimensionGroup (STEP 1425)
4 zero-axiom / 11 permitted-axiom / 0 regression / total 15 theorems (permit: propext)
Total: 30 zero-axiom + 11 permitted-axiom (Mathlib base) [8.8s total build]
propext は Mathlib base axiom (Mathlib 全体の 基礎)、 [propext, Classical.choice, Quot.sound] の 一部。 STEP 1368 pipeline classifies as isMathlibBase: true、 sorry / user-defined axiom とは 区別。
使用例
MCP tool 経由 (d8_dimension_check)
{ "equation": "E = m*c^2" }
→ TRUE / dFumt8=1 / L^2·M·T^-2
{ "equation": "E^2 = (p*c)^2 + (m*c^2)^2" }
→ TRUE / dFumt8=1 / L^4·M^2·T^-4 (relativistic)
{ "equation": "E = m*c^3" }
→ FALSE / dFumt8=0
{ "equation": "E = m*α" }
→ NEITHER / dFumt8=-1 / unknownSymbols=[α]
{ "equation": "E = h*f", "extraSymbols": {"h": [2,1,-1,0,0,0,0]} }
→ TRUE (Planck relation with h=action override)
physics-precheck (d8_physics_precheck)
{ "limit": "bekenstein", "values": {"R": "r", "E": "m*c^2"} }
→ TRUE (両 role dim OK)
{ "limit": "landauer", "values": {"T": "T"} }
→ FALSE (default T=TIME 衝突 honest boundary)
{ "limit": "landauer", "values": {"T": "Temp"},
"extraSymbols": {"Temp": [0,0,0,0,1,0,0]} }
→ TRUE (temperature override)
Lean 4 export (d8_dimension_lean_export)
{ "equation": "E = m*c^2", "theoremName": "einstein_test" }
→ Lean source:
import CollatzRei.Physics.Dimension
open ReiPhysics Dimension
namespace Generated
theorem einstein_test : (energy) = (mass*velocity ^ (2 : Int)) := by decide
end Generated
→ 呼び手が `lake env lean` で kernel-verify (STEP 1422 batch script で 定期 audit)
Honest scope
- 型検査であり 値検査ではない:
E = 999*m*c^2は TRUE (dimensionless 係数)、 物理的 正しさは 別問題 - HAdd Dimension は 意図的に 実装せず: dim heterogeneous 加算 (`E + t`) は 物理的に 意味なし、 静的 gate で 弾く discipline
- Landauer T=TIME 衝突は honest FALSE: Rei default `T=TIME` (mechanics 慣用) vs Landauer `T=temperature`。 override 無しの silent success は 拒否
- benchtop repo は 触らず: STEP 1416 別 tab landed 独立、 rei-aios 側 pre-check gate として のみ 動作 (責任分離)
- TS side = source gen only: Lean 4 kernel 呼出しなし、 実 verify は 呼び手責任 (`lake env lean` or STEP 1422 batch script)
- propext は Mathlib base OK: zero-axiom (STEP 1420/1421 achieved) と Mathlib-base only (STEP 1425 の CommGroup instance proofs) を
permitAxiomsで 区別 - 加算 mismatch 発見の 遅発: STEP 1420 test Part 11 が 有効加算のみ test、 mismatch case 未 test で bug 潜在。 STEP 1424 で catch + fix (documentation-only source pattern)
- arc scope 制約: 5 physics-limit (Bekenstein/Landauer/Lloyd/compression/operator) のみ、 Bremermann/Bennett/Shannon-Hartley/Margolus-Levitin は 未 spec (defer)
Related pages / GitHub
- GitHub commit trail (Inbox pattern dogfood 6 例 + follow-up merger):
- STEP 1420:
3d6d2dd6e→080d3e14e(merger) - STEP 1421:
404e0f547→9321b3172 - STEP 1422:
69fadcbda→e34d4a1de - STEP 1423:
9655c520d→8de42b371 - STEP 1424:
8654040a6→1a44c12c8 - STEP 1425:
f162f9db6→ca776d606
- STEP 1420:
- Lean 4 source:
Dimension.lean(STEP 1420、 17 theorem)LimitsPrecheck.lean(STEP 1421、 9 theorem)DimensionGroup.lean(STEP 1425、 11+4 theorem)
- TS source:
src/aios/dimension-check/(5 module)scripts/verify-lean4-physics.ts(batch verify)
- Related site pages:
- 2026-08-06 IUT arc (chat-Claude 5 sub-item 対話 pattern の 先例)
- STEP 1352 Memory Mirror (auto-memory 全 file public、 本 arc の memory link 有効)