D-FUMT₈ は 単一実装ではない

Dfumt8Truth vs Dfumt8InfoHybrid — 2 実装 の corrigendum
STEP 1773 (初期 land、 一部 phrasing 訂正対象) → STEP 1775 (本 corrigendum、 2026-09-06) / Route C / 前身: rei-aios-f4 (2026-09-04) + rei-aios-a6 STEP 1772 (2026-09-06 bilattice audit)

📋 STEP 1775 corrigendum (2026-09-06)

藤本さん指摘に基づく 訂正 2 点 + d8_verify 現状報告 1 点:

  1. 「Belnap 1977 information-order 確定」 は 不正確 — STEP 1772 audit 実測で Verilog は 4-value subset で 28/32 は knowledge order + 4/32 (T×F pair) は classical Boolean pass-through の hybrid。 純粋な info-order ではなく、 「Dfumt8InfoHybrid」 と呼ぶのが正確 (T×F classical carve-out が唯一 audit で構造的に予測できた部分、 情報損失禁止)
  2. 「両者意図的 design (defect ではない)」 の scope 訂正 — 4-value subset の 12 差分 (T×B, F×N, B×N の 3 pair) には 適用可 (Ginsberg-Fitting bilattice の 2 順序 対応)。 8-value 拡張領域の 66/104 差分 (∞/〇/~/⟲ 関連) は 未診断、 「意図的 design」 と 断定するには 追加 audit 必要 (現状 「両者意図的」 と 記録すると 未来 の 真の defect 探索を 止める 側 に 働く risk)
  3. d8_verify 現状 は cross-implementation drift を 検出しない — 詳細 は 下記 「d8_verify 現状報告」 section

3 実装名候補: Dfumt8Truth (seven-logic.ts) / Dfumt8InfoHybrid (Verilog + Lean 4) / (将来) Dfumt8InfoPure (純粋 Belnap knowledge order、 未実装、 学術 reference 用)

TL;DR (STEP 1775 訂正後)

Rei 内 に 「D-FUMT₈」 と 呼ばれる 実装が 2 つ 並存 しており、 136 entry 中 78 差分 (57%) で 別の代数を 実装している。 4-value subset の 12 差分は 両者 意図的 design (Ginsberg-Fitting bilattice の 2 順序 対応)、 8-value 拡張領域の 66 差分は 未診断。 単一 名前 「D-FUMT₈」 で 参照する 過去 STEP claim は 「どちらの 代数を 指すか」 を 明示していない (naming discipline gap)。

Route C 採択: 2 実装 併存 + 別名 discipline (code 変更なし、 documentation only)。 未来 の 発話・記憶・論文で 「D-FUMT₈」 単独名 を 使う時は どちらの 代数か 明示 必須

2 つの実装 (両方 意図的 design)

(1) D-FUMT₈ Boolean truth-order

File: src/axiom-os/seven-logic.ts (STEP 406、 2026-04-13 頃)

設計意図 (L173-177 抜粋):

優先順位(情報量の低い値が吸収する):
  〇 < ⊥ < N < ∞ < ~ < B < ⟲ < ⊤

⊤ は AND の単位元(⊤ ∧ x = x)
⊥ は AND の零元  (⊥ ∧ x = ⊥)(ただし〇が最優先)
  • TRUE (⊤) = AND-identity / OR-top (classical Boolean 「1」)
  • FALSE (⊥) = AND-zero / OR-identity (classical Boolean 「0」)
  • BOTH と NEITHER は 4 値 拡張の 中間要素
  • 拡張 3 値 (INFINITY / ZERO / FLOWING) + SELF は 4 値束 の 外
  • MCP tools d8_apply / d8_table / d8_verdict_* 系 (16 tools) の source
  • 342 file が seven-logic を import (algebra 呼出 33 file)

(2) D-FUMT₈ InfoHybrid (Belnap knowledge order + T×F classical Boolean carve-out)

File: data/verilog/dfumt8_alu.v + data/lean4-mathlib/CollatzRei/PhaseC/Dfumt8Binary64Refinement.lean (STEP 1006 + 1264、 2026-04-28 / 2026-07-09)

設計意図 明示 (Verilog L76-78 抜粋):

On the {FALSE, TRUE, BOTH, NEITHER} sub-lattice (Belnap), we use:
  NEITHER ≼ FALSE ≼ BOTH ;  NEITHER ≼ TRUE ≼ BOTH
  AND = greatest lower bound, OR = least upper bound.

実装 実測 (STEP 1772 audit)source comment は 「info-lattice」 明示 だが 実装は hybrid:

  • 28/32 (4-value subset): Belnap knowledge order 一致 (NEITHER = bottom、 BOTH = top、 FALSE と TRUE = 並列 middle elements incomparable)
  • 4/32 (T×F pair のみ): classical Boolean pass-through (AND[T,F] = F、 OR[T,F] = T — 純粋 knowledge order なら N/B のはず)
  • T×F carve-out の 意図 (silicon 互換性 vs 実装 bug) は 一次資料 evidence 未取得、 「意図的 hybrid」 の可能性 高 (silicon で classical Boolean は 最高頻度参照 semantics)
  • 拡張 4 値 (ZERO / FLOWING / SELF / INFINITY) は higher tier 4 値束 の 直和 (cross-tier "classical wins" rule)
  • Paper 145 の 「Rei は 実在する」 line + silicon fidelity + Lean 4 refinement (18 axiom-free theorem) の 一次 source
  • Belnap 1977 「A Useful Four-Valued Logic」 knowledge order を hybrid 化 した 派生実装

両者は Fitting 1990 bilattice framework の 2 軸 のうち 各 1 つ を 別々に 選択 した状態 (どちらも bilattice full 実装ではない、 特に Verilog は T×F carve-out で 純粋 knowledge order でもない)。 「classical truth を 問う」 (Dfumt8Truth) と 「information content + T×F classical pass-through」 (Dfumt8InfoHybrid) の 別の 問いに 対する 別の 実装。

d8_verify 現状報告 (STEP 1775 追加、 藤本さん要求)

重要: 現行 d8_verify は cross-implementation drift を 検出しない

STEP 1397 (2026-08-23) で 実装された d8_verify は 6 claim (self-*-fixpoint 3 種 + demorgan + idempotent + zero-absorption) を verify するが、 実質は seven-logic.ts 内部の property を self-check しているだけで、 Lean 4 refinement / Verilog dfumt8_alu.v との cross-implementation 比較は 一切していない

実装確認 (src/mcp/d8-connectors.ts L596-616 checkDemorgan)

function checkDemorgan(): D8VerifyCheck {
  for (const a of EIGHT_VALUES) {
    for (const b of EIGHT_VALUES) {
      const lhs = not(and(a, b));  // ← seven-logic.ts の not, and
      const rhs = or(not(a), not(b));  // ← seven-logic.ts の or, not
      if (lhs !== rhs) failures.push(...);
    }
  }
  // ...
  lean4Reference: LEAN4_REF_DEMORGAN,  // ← 単なる metadata 文字列
}

Lean 4 reference (LEAN4_REF_DEMORGAN 等) は payload の metadata 文字列 であり、 verify logic 内で 実際に Lean 4 file を parse したり Verilog dump と 比較したり する 経路は ゼロ

結果: 全 6 claim が seven-logic 内で 内部整合するので 常に PASS

影響

対応

差分 数値 (frozen、 STEP 1775 訂正済)

136 entry (AND 64 + OR 64 + NOT 8) 中 78 差分 (57.4%) — audit-results/01_defect-report.md + ROUTE_D_AUDIT.md 実測。

領域差分数診断状態
4-value subset (T/F/B/N)12/32 (37.5%)診断済 — T×B, F×N, B×N の 3 pair、 Ginsberg-Fitting bilattice の 2 順序 対応、 両者 意図的 design
8-value 拡張領域 (∞/〇/~/⟲ 関連)66/104 (63.5%)未診断 — 極大部分束 1 個 vs 2 個 の顕在化と 思われるが、 「両者意図的 design」 と 断定するには 追加 audit 必要
合計78/136 (57%)

4-value subset 差分 example (12 entry のうち 4 個 代表)

EntryDfumt8Truth (seven-logic)Dfumt8InfoHybrid (Verilog + Lean 4)
AND[TRUE][BOTH]BOTH (B < T under truth)TRUE (T < B under knowledge)
OR[TRUE][BOTH]TRUE (T top under truth)BOTH (B top under knowledge)
AND[FALSE][NEITHER]FALSE (F bottom under truth)NEITHER (N bottom under knowledge)
OR[FALSE][NEITHER]NEITHER (N > F under truth)FALSE (F > N under knowledge)

T×F carve-out (Verilog 側 hybrid 部分、 4 entry): AND[TRUE][FALSE] = FALSEOR[TRUE][FALSE] = TRUE (両方 seven-logic と 一致、 classical Boolean pass-through)。 純粋 knowledge order なら AND[T,F] = NEITHEROR[T,F] = BOTH のはず。

代数則 差 (実測)

法則BooleanBelnap
可換 (∧, ∨)完全成立完全成立
対角冪等 (∧, ∨)完全成立完全成立
対合 (¬)生存生存
TRUE = AND-identity
FALSE = OR-identity
結合律 (∧, ∨)∧ 12 / ∨ 12 破れ完全成立
De Morgan (¬(∧), ¬(∨))完全成立∧ 22 / ∨ 22 破れ
ZERO 両側吸収元✓ (一意)なし
極大部分束1 個 = Belnap FOUR2 個 = classical FOUR + higher FOUR

Note: 「truth-order / info-order」 用語 (Ginsberg / Fitting bilattice) は 精密には 適切でない — bilattice は 同じ台集合上 の 2 束順序 を 要求するが、 seven-logic は 8 値上 束ですらなく、 Verilog は 4 値束 の 直和 (8 値上 の 2 順序 ではない)。 一段弱い記述 「Boolean truth-order」 vs 「Belnap info-order」 を採用。

Route C 決定 (2 algebra 併存 + naming discipline)

なぜ Route (A) (seven-logic → Verilog) 却下

なぜ Route (B) (Verilog → seven-logic) 却下

Route (C) 採択理由 (STEP 1775 訂正: scope 限定明示)

3 実装名候補 (STEP 1775 追加、 藤本さん指摘)

STEP 1773 で 実施

1. Cross-reference header 追加 (3 files)

2. 命名 discipline 提案 (documentation only)

3. 未実施 (別 STEP candidate、 defer)

Honest scope

本 STEP は documentation-only fix — code は 変更なし、 意味論は 保持

「defect」 は rei-aios-f4 audit の frozen 用語、 実質は 「2 つ の 意図的 design が 同じ名前で 存在する 状況」 = naming discipline gap の 顕在化 fix

命名 「Boolean truth-order」 vs 「Belnap info-order」 は 分類上 の 便宜、 学術的 formal 定義 (Fitting の 厳密 bilattice truth-order) に 完全準拠を 主張しない

Fitting bilattice の 完全実装 は 未着手 (2 order を 同時に 持つ full bilattice)、 phase 2 candidate

78 差分 の 数値精査 は audit-results/01 に 完全 dump 済、 再現 command 記載済 (algebra_audit.py)

SAC-4 claim conflation pattern (2026-09-04 rei-aios-f4 で 記録済 の 再確認): 「D-FUMT₈ の X」 と 書く前に、 どちらの 代数か 必ず 明示

参照