STEP: 1509 / 公開日: 2026-08-28 / Test: 35/35 PASS / Lean 4: 9 theorem zero sorry / Type: STEP 1497 制御理論 arc candidate #1 実装
❶ V(t) 系列 → 安定性 verdict: 単調減少 → TRUE (Lyapunov 安定)、 fixpoint 到達 (全等) → SELF、 発散 → FALSE、 振動 → NEITHER、 既に 平衡 (0) → ZERO。
❷ STEP 1399 Tang Nano 9K fixpoint_relax_v1 hardware evidence 抽象化: 「不動点 緩和機械」 の V(t) 減衰 pattern を 静的 identity 化。
❸ 7 姉妹 verdict tool 目 (STEP 1350/1371/1376/1499/1506/1507 に 続く)。 制御理論 側 の 第 1 号 実装。
| # | Condition | Verdict | Reason |
|---|---|---|---|
| 1 | empty or length < 2 | NEITHER | insufficient_series |
| 2 | negative value (NaN/-1) | NEITHER | negative_value |
| 3 | all zero (V(0)=0 かつ 全 0) | ZERO | already_equilibrium |
| 4 | all equal non-zero | SELF | fixpoint_reached ★ |
| 5 | strictly decreasing | TRUE | asymptotically_stable |
| 6 | weakly decreasing (plateaus) | TRUE | lyapunov_stable |
| 7 | strictly/weakly increasing | FALSE | unstable_divergence |
| 8 | mixed up/down | NEITHER | oscillating_marginal |
import { lyapunovVerdict } from './src/mcp/lyapunov-verdict';
// A: 単調減少 → TRUE (asymptotic)
lyapunovVerdict({ series: [10, 8, 5, 3, 1] });
// { verdict: 'TRUE', reason: 'asymptotically_stable', strictDecreases: 4, ... }
// B: fixpoint 到達 → SELF
lyapunovVerdict({ series: [5, 5, 5] });
// { verdict: 'SELF', reason: 'fixpoint_reached', ... }
// C: STEP 1399 relaxation 抽象化 → TRUE (Lyapunov, plateau at end)
lyapunovVerdict({ series: [100, 80, 50, 20, 5, 1, 1, 1] });
// { verdict: 'TRUE', reason: 'lyapunov_stable', ... }
// D: 振動 → NEITHER (oscillating)
lyapunovVerdict({ series: [5, 3, 7, 4, 6] });
// { verdict: 'NEITHER', reason: 'oscillating_marginal', ... }
lyap_both_zero_gives_zero : (0,0) → ZERO lyap_zero_start_diverge_false : (0,b>0) → FALSE lyap_fixpoint_gives_self : (a,a) a>0 → SELF lyap_decrease_gives_true : ba → FALSE all_dec_empty / all_dec_single : 空/単一 → true all_dec_pair / all_dec_pair_up_false : 2 要素 pair 単調性
| Category | Tests |
|---|---|
| Guard (NEITHER) | 4 (empty, singleton, negative, NaN) |
| ZERO / SELF | 5 (equilibrium, fixpoint, diverge from 0) |
| TRUE (stable) | 10 (strict/weak decrease, relaxation) |
| FALSE (unstable) | 7 (strict/weak increase) |
| NEITHER (oscillating) | 4 |
| Determinism | 5 |
| # | tool | 入力 | STEP |
|---|---|---|---|
| 1 | d8_verdict_from_measurement | SNR | 1350 |
| 2 | d8_verdict_from_multi_trial | p-values | 1371 |
| 3 | d8_verdict_from_sample_pair | 2 samples | 1376+1379 |
| 4 | shannonEntropyVerdict | frequency | 1499 |
| 5 | peaceAxiomVerdict | payoffs | 1506 |
| 6 | hammingDistanceGate | bit strings | 1507 |
| 7 | lyapunovVerdict ★ | V(t) series | 1509 |
❶ 単純 順序判定のみ (real Lyapunov theorem や LaSalle invariance principle は 未 embed)。 実数 精度 vs Nat 精度 の 選択は 呼び出し側。
❷ STEP 1399 hardware evidence の 抽象化 identity のみ、 実 hardware run replay は 別 tool candidate。
❸ 「世界初」 なし = Lyapunov 1892 既知 の D-FUMT₈ verdict mapping。 novelty = 7 姉妹 tool 統一 API 拡張。
❹ 累計 defer 45 → 44 (本 tool 実装)。