Lean 4 formalization for game_verdict — 12 theorem zero sorry

STEP: 1550 / File: data/lean4-transfer/step1550_game_verdict.lean / Backs: STEP 1544 game_verdict / Toolchain: Lean 4.33.1 / Build: exit 0 / Axiom profile: propext only

Rei stack discipline: 各 verdict tool は 「TS 実装 (実計算) + Lean 4 zero sorry (identity 保証)」 の double-check を持つ。 STEP 1531/1532/1533/1535 は既に持っていたが、 STEP 1544 game_verdict は TS のみだった。 本 STEP で完全 pattern に揃える。

Bool 述語 10 個への還元

chat-Claude 分析の回路割当 (7 端子 + 判断基準 2) を、 Lean 4 で verdict を計算するのに必要な最小 Bool 述語 10 個に還元:

述語意味chat-Claude 対応
has_goalprelusoryGoal 接続出力端子 (目標状態レジスタ)
has_rulesconstitutiveRules 非空禁止ゲート/最短路インターロック
has_meanslusoryMeans.allowedActions 非空規則を迂回した唯一の導通経路
lusory_attitudeENABLE ピン HIGH電源側 (Suits 遊戯的態度)
insulated魔法円絶縁フォトカプラ的絶縁境界 (Huizinga)
leaks_in外部浸入源ありプロスポーツ = 外部 (報酬ライン) 駆動
self_modifyingNomic 型自己書換ゲームがゲーム自身の規則を書き換える
paidia_extremeludusPaidia > 0.95可変抵抗が paidia 極限で規則溶解
short_circuit禁止 ∩ 許容 ≠ ∅chat-Claude 判断基準 (a): 短絡 = 反則
game_theory_labelNash/Pareto/payoff/戦略 keywordcrossbar 型別部品 (redirect)

12 theorem 一覧

#theoremverdict意味
1game_theory_label_gives_neitherNEITHERcrossbar → 別部品 redirect
2no_prelusory_goal_gives_zeroZERO目標端子未接続
3short_circuit_gives_neitherNEITHERchat-Claude 判断基準 (a) 反則
4self_modifying_gives_selfSELF ★Nomic 型 meta-play
5paidia_extreme_gives_infinityINFINITYCarse infinite game
6suits_complete_insulated_gives_trueTRUESuits 4 要素 complete-game
7pro_sports_gives_bothBOTHプロ二重存在 (外部 ENABLE)
8enable_off_gives_falseFALSEchat-Claude 判断基準 (b) 労働相転移
9verdict_deterministic同入力 → 同 verdict
10crossbar_always_neitherNEITHERcrossbar 排他性 (他入力によらず)
11no_self_without_nomic≠ SELFSELF は Nomic 由来のみ (排他性)
12enable_pin_gates_game_vs_laborTRUE ∧ FALSEENABLE ピン意味論 (配線同一 + 状態差)

chat-Claude 判断基準 2 が theorem として書ける

chat-Claude 2026-08-29: 「(a) 禁止ゲート短絡 = 反則、 (b) ENABLE 外し = 労働への相転移。 この 2 つが図の上で成立するなら比喩ではなく検査可能なモデル、 成立しないなら綺麗な絵。」

特に theorem 12 は 「配線 (has_goal + has_rules + has_means + insulated) を同一に保ったまま、 lusory_attitude だけを true → false に変えると verdict は TRUE → FALSE」 を単一定理で書き下し、 「Suits の遊びと仕事の区別が配線ではなくピン 1 本の状態差」 という chat-Claude の核 metaphor を type-level で保証する。

SELF 排他性 (theorem 11 の意義)

-- game_theory_label=false, has_goal=true, short_circuit=false, self_modifying=false
-- なら、 verdict は SELF にならない (crossbar / no_goal / short_circuit 3 branch も
-- SELF を出さないため、 self_modifying=false かつ他 branch 抑制 → SELF は出ない)
theorem no_self_without_nomic
    (hr hm la ins li pe : Bool) :
    verdict_of_game true hr hm la ins li false pe false false ≠ Verdict.SELF

Rei stack SELF⟲ 8 領域 tool (Lawvere/Lyapunov/Evolution/Nash/Halting/Metacognition/Liar/Conservation) はそれぞれ 「SELF ★ を出す条件」 を持っているが、 game_verdict では SELF は Nomic 型自己書換ゲーム のみ が生成する。 この排他性を theorem として持つことで、 「Nomic はゲームの一種であって、 ゲーム一般が SELF ではない」 という stance が formal 化される。

build 結果

$ lean data/lean4-transfer/step1550_game_verdict.lean
exit: 0
# no output = no errors

$ grep -c 'sorry' data/lean4-transfer/step1550_game_verdict.lean
1  # comment only ("12 theorems zero sorry"), no proof sorry

$ grep -cE '^theorem ' data/lean4-transfer/step1550_game_verdict.lean
12

# axiom profile
'game_theory_label_gives_neither' depends on axioms: [propext]
'suits_complete_insulated_gives_true' depends on axioms: [propext]
'pro_sports_gives_both'             depends on axioms: [propext]
'no_self_without_nomic'             depends on axioms: [propext]
'enable_pin_gates_game_vs_labor'    depends on axioms: [propext]
# → propext only (STEP 1534 clean pattern、 Lean.trustCompiler なし)

MCP handler update

rei-aios MCP server の game_verdict case handler に lean4Backing メタを追加。 external MCP client が game_verdict を call すると、 verdict + narrative + honestScope に加えて lean4Backing: "STEP 1550: 12 theorem zero sorry (axiom profile: propext only)、 data/lean4-transfer/step1550_game_verdict.lean" が返る。

Honest scope:

Rei stack Lean 4 verdict tool 対応表 (本 STEP 追加)

STEPtoolLean 4 filetheorem 数
1531pid_tuning_verdictstep1531_pid_tuning_verdict.lean3
1532syntax_verdictstep1532_syntax_verdict.lean4
1533liar_paradox_verdictstep1533_liar_paradox_verdict.lean9
1535conservation_law_verdictstep1535_conservation_law_verdict.lean12
1541flow_state_verdictstep1541_flow_state_verdict.lean(別 tab)
1550game_verdict (backs STEP 1544)step1550_game_verdict.lean12