情報科学 › ソフトウェア設計とテスト › 契約による設計
Hoare 論理の推論規則
定義 3.7(「契約による設計」§3)
契約表 C とは、操作名 m∈Op と表明 P,Q の三つ組 (m,P,Q) の集合をいう。解釈 M が契約表 C を満たすとは、すべての (m,P,Q)∈C について ⊨M{P} call m {Q} が成り立つことをいう。
契約表 C のもとでの導出可能性 ⊢C{P} c {Q} を、次の規則で生成される最小の関係とする。
(H-Skip)(H-Seq)(H-If)(H-While)(H-Conseq){P} skip {P}(H-Assign){Q[a/x]} x:=a {Q}{P} c1;c2 {Q}{P} c1 {R}{R} c2 {Q}(H-Call){P} call m {Q}(m,P,Q)∈C{P} if b then c1 else c2 {Q}{P∧b} c1 {Q}{P∧¬b} c2 {Q}{I} while b do c {I∧¬b}{I∧b} c {I}{P} c {Q}P⇒P′{P′} c {Q′}Q′⇒Q(H-While) の表明 I をループ不変条件、(H-Conseq) を帰結の規則という。
本文で読む(前後の説明と例)→
閉包の状態
定義
定義は閉包の起点です(証明を要しません)。
印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。
これを使っている定理
証明で明示的に参照している定理は、まだありません。
関連するノック 1 問