情報科学 › ソフトウェア設計とテスト › 契約による設計
契約の検査の限界
- (実行時検査)仕様 と実装 (定義 2.1)に対し、違反入力の集合を とする。 が仕様を満たすことは と同値である。有限集合 の各入力で を実行し、止まった結果について を検査する実行時検査は、 のとき違反を 1 つも報告しない。 であっても同じである。
- (静的な判定) をチューリング完全なプログラミング言語とする。 のプログラム について、三つ組 が部分正当であるかどうか(すなわち、 がどの入力でも停止しないかどうか)は決定可能でない。したがって、プログラムと契約 から の部分正当性を判定するアルゴリズムは存在せず、「受理したものは必ず部分正当」である決定可能な検証器は、部分正当なのに受理しない三つ組を必ずもつ。
閉包の状態
✓ 公理まで証明済み
証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 9 件、定義なども含めて 12 件)。
印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。
前提をたどる 証明が使う定理・定義(直接 4 件)
▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。
- Hoare の三つ組:部分正当性と全正当性定義 3.3・契約による設計
- 停止問題定義 7.1・計算可能性
- 健全な静的検査の不完全性✓定理 5.6・プログラミング言語論
停止問題の決定不能性✓定理 7.2・計算可能性
チューリング計算可能なら部分再帰的✓定理 5.4・計算可能性
クリーネの標準形定理✓定理 5.3・計算可能性
- 1 ステップの算術化✓補題 5.2・計算可能性 この先をたどる →
- 部分再帰関数はチューリング計算可能✓定理 6.2・計算可能性
これを使っている定理
証明で明示的に参照している定理は、まだありません。