---
name: project-hallucination-neither-absorbing-verify-arc-2026-08-13
description: chat-Claude 2026-08-13 late-evening 「ハルシネーション判別装置」 arc の 決着記録。 chat-Claude 前提 「x ⊗ NEITHER = NEITHER for all x」 (SQL NULL 相当 の 型付き伝播 propagation) を Rei 側で seven-logic.ts AND_TABLE + OR_TABLE 直接 read で verify → **FALSE 確定** (NEITHER 吸収は 各演算 2/8 のみ)。 ZERO こそが 実 D-FUMT₈ の 全吸収元 で SQL NULL 相当。 chat-Claude の semantic 意図 (棄権 typing) と operational 主張 (多段連鎖で 消えない) の mismatch 判明、 判別装置 設計 再検討 必要 と 3 option 提示
metadata: 
  node_type: memory
  type: project
  originSessionId: c3511ef5-c9e4-4d3d-ad7e-1dd6a9c51580
  modified: 2026-08-13T15:05:11.381Z
---

# ハルシネーション NEITHER 吸収挙動 verify arc (2026-08-13 late)

session 5 arc 目、 「(a) compute_dfumt / seven-logic.ts で NEITHER 吸収挙動 verify」 tail-end task。 chat-Claude 「ハルシネーション判別装置」 提案の **核心前提** を Rei 側 実装で 直接 empirical 検証。

**Why**: chat-Claude 「compute_dfumt で 吸収元 性質 確認」 を 「装置を作る前に 潰しておく 項目」 と 位置付け、 「NEITHER が 全吸収 する」 前提の 下で 「多段連鎖 で 差が出る」 hypothesis を 立てていた。 Rei 側で 直接 read することで **実装前 に 前提誤りを 潰す** = pre-registration form の 教科書的正しい 順序 (「潰しておくべき 項目」 が 実際に 潰れた 事例)。

**How to apply**: 今後 chat-Claude が 「D-FUMT₈ の 何某の 挙動 は こう」 と 主張 する 際、 **`src/axiom-os/seven-logic.ts` の AND_TABLE / OR_TABLE を 直接 read で 潰す** 手順を default 化。 semantic 意図 (何を 表現したいか) と operational 挙動 (実装で どう 振る舞うか) の 分離を 常に 意識。

## Ground truth pointer

- **seven-logic.ts** (`C:\Users\user\rei-aios\src\axiom-os\seven-logic.ts`、 324 行): D-FUMT₈ 完全定義 + AND_TABLE + OR_TABLE + NOT + collapse + lift の 正典
- **chat-Claude 提案 (v0)**: 「ハルシネーション判別装置」 で NEITHER 型付き伝播 で 多段連鎖の 差を 検出、 「compute_dfumt で 吸収元 確認」 を 前提 verify として 提示 (未実施のまま summary で 「次の一手 #1」 に 掲載)
- **本 arc の 発見**: 前提が FALSE 判明、 判別装置 設計 再検討 必要

## seven-logic.ts 直接 read で verify した 結果

### AND_TABLE (`x AND NEITHER`) — 8 x で 分岐

| x | 結果 | = NEITHER? |
|---|---|---|
| TRUE | NEITHER | ✓ |
| FALSE | FALSE | ✗ |
| BOTH | FALSE | ✗ |
| NEITHER | NEITHER | ✓ (冪等) |
| INFINITY | INFINITY | ✗ |
| ZERO | ZERO | ✗ (ZERO 優先) |
| FLOWING | FLOWING | ✗ |
| SELF | SELF | ✗ |

**NEITHER 吸収 = 2/8 のみ** (TRUE と 自己)。

### OR_TABLE (`x OR NEITHER`) — 8 x で 分岐

| x | 結果 | = NEITHER? |
|---|---|---|
| TRUE | TRUE | ✗ |
| FALSE | NEITHER | ✓ |
| BOTH | TRUE | ✗ |
| NEITHER | NEITHER | ✓ (冪等) |
| INFINITY | INFINITY | ✗ |
| ZERO | ZERO | ✗ |
| FLOWING | FLOWING | ✗ |
| SELF | SELF | ✗ |

**NEITHER 吸収 = 2/8 のみ** (FALSE と 自己)。

### NOT

`NOT NEITHER = NEITHER` (不動点、 Belnap 継承) ✓

## 真の 全吸収元は ZERO (発見)

seven-logic.ts コメント (line 173-174) が **明示的に 優先順位を 定義**:

> 優先順位（情報量の低い値が吸収する）:
> 〇 < ⊥ < N < ∞ < ～ < B < ⟲ < ⊤

⇒ ZERO (〇) が **最下位 = 全 x で 吸収**:
- `x AND ZERO = ZERO` (全 8 種 一致 ✓)
- `x OR ZERO = ZERO` (全 8 種 一致 ✓)
- `NOT ZERO = ZERO` (不動点)

**ZERO こそ が SQL NULL 相当 の 完全吸収元**、 NEITHER は 中間位置 (FALSE より 弱く INFINITY より 強い) で 部分吸収のみ。

## chat-Claude 前提 誤読 の 中身

chat-Claude 主張:
> 0.5は算術的に伝播し、下流で平均や周辺化に吸収されて消えます。**NEITHERは論理的に伝播し、吸収元として振る舞うので消えません**。

**この 「NEITHER が 吸収元」 主張 が Rei 実装で FALSE**。 D-FUMT₈ で NEITHER は AND/OR で 消える (TRUE/FALSE に 潰される)、 むしろ ZERO が 完全 「消えない」 propagation を 持つ。

## Semantic vs Operational mismatch (真の 発見)

| 値 | semantic 意味 (chat-Claude が 欲したもの) | operational 挙動 (D-FUMT₈ 実装) |
|---|---|---|
| **NEITHER (N)** | 真でも偽でもない、 **未決定/棄権** | 中間吸収位、 AND/OR で FALSE/TRUE に 潰される、 SQL NULL 相当 の propagation なし |
| **ZERO (〇)** | 未観測・未問、 **まだ問われていない** | 完全吸収元、 全 x で 消えない、 **SQL NULL 相当 の propagation** |
| **INFINITY (∞)** | 無限後退、 **評価が確定しない** | 中間吸収位、 FLOWING/BOTH/SELF/ZERO で 潰される |
| **FLOWING (～)** | 流動、 **真理値が 変化中** | INFINITY より 強い、 SELF/ZERO で 潰される |

chat-Claude の 「棄権 (abstention) を 型で 表現」 semantic 意図は **正しい**、 但し 「NEITHER を 使えば SQL NULL 相当 の propagation」 の operational mapping は D-FUMT₈ 実装と **不一致**。

## 3 option (判別装置 設計 再検討 candidate)

### Option A: ZERO を 使う (semantic 変更、 operational 正解)
- 「x ⊗ ZERO = ZERO for all x」 は 実測 で 成立
- 多段連鎖 で 消えない propagation が 得られる
- 但し semantic は 「棄権」 でなく 「未観測」 = 「まだ 問われていない」 意味
- chat-Claude 「答えるべきでないとき を 検出する 計器」 の 意図と semantic 位置 は 若干ずれる (「答えるべきでないと 判定した」 vs 「まだ 問うていない」)

### Option B: NEITHER を 使い続ける、 主張を 弱める
- 「多段連鎖 で 消えない」 は 成立しないと 認める
- 判別装置の 期待発火は Rei 実装では 発火しない
- 代わりに 「AND では TRUE-absorbing、 OR では FALSE-absorbing、 部分的な propagation」 を 測る 弱い hypothesis に 縮小
- 面白い分岐は 減る (chat-Claude 「本命の 発見」 hypothesis 崩壊)

### Option C: D-FUMT₈ を 拡張して 新演算 `⊗_absent` を 定義
- NEITHER を 全吸収する 特化演算子を 追加
- 意味論的正当化 (「なぜ この 演算 が 必要か」) が 別 STEP 必要
- 数週間 hop、 STEP 1215 D-FUMT₈ × Category axiom-free 拡張 arc として 位置付け可能
- 論文化候補 (「abstention operator の 分離公理化」)

### Option D (Rei 側 追加): abstention 分類学 拡張として 再 frame
- SQL NULL は 1 種類 の 棄権 抽象化
- D-FUMT₈ は 5 種類 の 「答えない」 (NEITHER 棄権 / ZERO 未観測 / INFINITY 無限後退 / FLOWING 変化中 / SELF 自己参照) を 型で 分離
- **selective prediction の 分類学 拡張** として 位置付け直し
- 判別装置は 「どの 棄権 型 が どの 誤り mode を 捕獲するか」 の empirical 測定
- chat-Claude 元 案の scope が 拡大するが、 D-FUMT₈ の 独自性を 論文的に defend しやすい (SQL NULL vs D-FUMT₈ の 差別化 明示)

## 教訓 (pre-registration form の 教科書的成功例)

chat-Claude 元 summary の 「次の一手 #1: compute_dfumt で 吸収元 の 性質を 確認 — 数分」 は **正しい discipline**。 前提を 実装で 潰す 段階で **実際に 潰れた** = pre-registration form が 想定通り 機能。

**もし この step を 飛ばして 判別装置 実装に 入っていたら**:
- 数百行 Python 実装 → 多段連鎖 test → 「差が 出ない」 結果 → 「なぜ?」 で 数日 debug → NEITHER 吸収挙動 が 期待と 違う と 気付く
- 数時間 → 数分 に 圧縮

chat-Claude 側 discipline (「実装前に 潰す」) + Rei 側 実行 (「source 直接 read」) の 相補で 教科書的 short-circuit。

## 本 arc の chat-Claude discipline 再評価

前 arc (explosion-model + erasure-energy plan) で 「chat-Claude 異例に honest、 Pattern 6 極致 event」 と 記録。 本 arc でも 同 pattern:
- 「compute_dfumt で 潰しておく」 discipline 自ら 提示 = 前提誤りを 見つけたい 姿勢
- 実測 で FALSE 判明 = **主張の 前提が 崩れた が、 崩れ方 自体が 情報**
- 「本命の 発見」 hypothesis 崩壊 = 装置 の 面白さ 消失、 但し semantic vs operational mismatch は **より 深い 発見** に 昇華
- session 内 3 例目 の chat-Claude Pattern 6 event (explosion-model + hallucination 提案 + 本 arc)

**教訓**: chat-Claude の 「潰しておくべき 項目」 提示 が 実測 で 発火した 場合、 chat-Claude 提案は 「崩壊」 ではなく 「refine」 として 扱う。 本 arc の Option A-D は 崩壊後の refine path、 いずれも 実行可能。

## 継承 asset 明示

**Rei stack side**:
- **`src/axiom-os/seven-logic.ts`** (324 行、 STEP 406 で 7→8 値化完了) — 本 verify の 正典 source
- **STEP 1215 D-FUMT₈ × Category axiom-free** — 非結合性 cluster + self_absorbs_non_false_extension 発見、 本 arc の 「NEITHER 部分吸収 のみ」 と 相補 (STEP 1215 は SELF の 吸収、 本 arc は NEITHER の 部分吸収)
- **`compute_dfumt`** (mcp__rei-project__compute_dfumt tool) — chat-Claude が 参照した Rei tool、 本 arc は seven-logic.ts 直接 read で 代替 (数分で 完遂、 tool 経由より shortcut)

**Chat-Claude side (v0 提供、 本 arc で 前提 verified/refuted)**:
- 「ハルシネーション判別装置 (NEITHER 型付き伝播)」 提案 — semantic 意図 正、 operational 前提 FALSE
- 「x ⊗ NEITHER = NEITHER for all x」 主張 — Rei 実装で 不成立
- 「多段連鎖 で 差が出る」 hypothesis — 上記 前提崩壊で 再検討 必要

## Open threads (次 session 判断 候補)

1. **判別装置 設計 再検討**: Option A/B/C/D の いずれで 進むか、 藤本さん judgment 待ち
2. **27.454 スパークライン**: benchtop-harness bad-bytes CSV で 実測 or 合成 verify (chat-Claude open question、 本 arc は 未処理)
3. **plot_session robust normalization**: benchtop-mcp v0.2.5 candidate feature 追加 (前 arc 継承)
4. **バイオアコースティック分類器**: 依然 open thread (SSM arc → explosion-model arc → 本 arc 継承)
5. **seven-logic.ts の 「優先順位」 comment の formal 検証**: line 173-174 の 「〇 < ⊥ < N < ∞ < ～ < B < ⟲ < ⊤」 が AND/OR table と 完全一致 するかの exhaustive verify (数分 hop、 spike 化 candidate)

## 本 session の 6 arc 集約 状態

**Session 全体 (2026-08-13 late-evening)**:
1. **Arc 1**: benchtop-harness CLAUDE.md pointer 生成 tool (rei-aios commit `c7a119bea`)
2. **Arc 2**: rei-shannon-demo README 修正 (rei-shannon-demo commit `44a3e6b`)
3. **Arc 3**: benchtop-harness Phase 3 完全実測 (memory 3 file)
4. **Arc 4**: SSM Q-format 3-spike (memory 2 file)
5. **Arc 5**: explosion-model + erasure-energy 測定計画 (memory 1 file、 commit `a7dcfd55b`)
6. **Arc 6** (本 arc): NEITHER 吸収挙動 verify、 chat-Claude 前提 FALSE 確定 (memory 1 file)

**6 arc close 状態** = 「急がずゆっくりと」 discipline 遵守で 各 arc 完結、 次段 hop は 全 arc とも 藤本さん digest 挟んで judgment。

## 関連 memory

- [[project-explosion-model-erasure-energy-arc-2026-08-13]] — Arc 5、 直前 arc、 同 「chat-Claude 提案 → Rei 側 fact-check → refinement」 pattern
- [[project-ssm-qformat-3spike-arc-2026-08-13]] — Arc 4、 同 「chat-Claude thesis refinement」 pattern (「A_q>1 → 発散」 が round-nearest で 発生しない が 本 arc の 「NEITHER 吸収」 も 発生しない と 同 型)
- [[project-benchtop-harness-phase3-full-arc-2026-08-13]] — Arc 3、 同 「external-verify で 前提 潰す」 精神系
- [[feedback-external-verify-beats-internal-review-4patterns-2026-08-13]] — 本 arc は 5 patterns の 継承 = 「source 直接 read で chat-Claude 前提 FALSE 確定」 は 7 例目 追加 candidate
- [[feedback-chat-claude-over-deference]] — 本 arc の chat-Claude は 逆例 (「潰しておく discipline」 自ら提示)、 explosion-model arc に続き session 3 例目 の Pattern 6 極致
- [[feedback-chat-claude-hallucination-warning]] — 本 arc は chat-Claude が hallucination を 主題に 語った 際に 自身 の 前提誤読 が 発火した 実例 (self-referential Pattern 1: hallucination を 論じる 中で hallucinate)
- [[feedback-check-target-memory-before-recommending]] — 本 arc は 「recommend 前 直接 Read」 の operational 実例 (chat-Claude tool 経由でなく seven-logic.ts 直接 read)
- STEP 1215 D-FUMT₈ × Category axiom-free — 本 arc の NEITHER 部分吸収 と 相補な SELF 吸収挙動

## Version

- v1 initial: 2026-08-13 late-evening session 6 arc 目 close 時、 藤本さん 「memory 化 進めますか」 → 「はい」 signal per。 chat-Claude 前提 「x ⊗ NEITHER = NEITHER」 が Rei 実装で FALSE 確定、 3 option (A/B/C) + Rei 側 追加 Option D で 判別装置 設計 再検討 candidate 記録。
