0_tutorial_AI/6b.book(保存済みの内容) … 編集へ / ファイル一覧へ
6.bookimport 6・thmel /common/zf)。基本の書き方は 3.book、slash の規則は 4.book、クラスと -|・--| は 5.book にあります。| 段の式に含まれるもの | 書く段 | 理由・実測 |
|---|---|---|
| クラス変数も述語変数も無い(一階の式) | -| … p; | 掲載した例では最速。まず試す候補(3.1) |
| クラス変数(X_ など) | min.thmel:◀ … v;(Wc. は入らない)/default・zf.thmel:--| … v;(本が紹介した Wc. の定義も前提に入る=5.book) | -| は「|0 翻訳不可」。◀ … p; も通るが、相対化で式が大きくなるので項が増えると遅くなりやすい(3.2。遅くなる実例は 3.1 のクラスを含まない式)。◀ … v; と --| … v; はどちらも通る例が多い(--| は内包を cls-elim し Wc. を足す=5.book) |
| 内包 \{ cls x | … \} を含む多ソートの段 | v; | 掲載した例では vampire+ が速かった(3.3) |
| 述語への代入が要る(schema を使う段) | 実例 SOURCE[P:=θ] を sos に書いて v; など | 証明器に述語を探させない。prop の高階変数にはどの backend でも代入しない(3.4) |
| goal の断片が自明で数が多い | p[whole]; | 起動の回数が減る(4.book) |
| 1段で通らない | 補題に切って段ごとに投げ先を選び、最後を h; で結ぶ | p; で timeout する段も v; なら一瞬で通ることがある(3.book・第4〜5章) |
| 症状(FAIL の文言) | 意味 | 次の一手 |
|---|---|---|
| 「|0 翻訳不可: … ∈_ が残っています」 | クラス変数を含む段を -| で投げた | ◀ … v;(default・zf なら --| … v;)にする |
| すぐ not_proved(Vampire なら CounterSatisfiable) | この前提とこの展開では証明が見つからなかった(CounterSatisfiable なら、渡した問題には反例がある)。定義が開ききっていない・前提(橋渡しの定義や補題)が足りない・主張が偽のどれか | review_cli.php … --inputs で投げた入力を読み、開いていない記号が残っていれば / を足し、足りない定義は前提に置く(第4章) |
| timeout | 考えられる原因:定義を開きすぎ(/ W. の本数が多い・=. の外延性など)か、1段に詰め込みすぎ。必要な前提を消した場合もある | W.!〇. で開く定義を減らす・補題に切る・投げ先を替える |
| h; の段で落ちる | 各段は示せたが、組み合わせても thm の主張にならない | 最後の段(h;)の goal・sos が thm の行と同じか、途中で使った定義が W. に入っているか、h; の段の関係がつなぐ段と合っているか(/ で展開した段をつなぐなら -| h;・3.book「h; の段の関係」)を確かめる |
-| の段は Thm を |cvt+|0(min.thmel では |0)で翻訳して、◀ の段は{s,c}ソートを一項述語で相対化して投げます。goal を断片に割って投げ、すべて証明できたら OK です(割らない p[whole]; は4.book)。satallax+ predicate:all と書いた本で、--| … s; の段の sos に素の名前で書いた ∀ ?R^ ( … ) の prop だけは、その式の中で ?R^ を ∀ で閉じた高階の公理として渡します(下の「述語変数の代入」)。-| … s; を書けません(… target は p;v;h です)」のように拒否されます。ページ 1 / 3 … 次のページ →