情報科学 › ソフトウェア設計とテスト › 契約による設計

Hoare の三つ組:部分正当性と全正当性

定義 3.3(「契約による設計」§3)

P,QP, Q を表明、cc を言語 W の命令、M\mathcal{M} を解釈とする。

  • 三つ組 {P} c {Q}\{P\}\ c\ \{Q\} が M\mathcal{M} のもとで部分正当であるとは、すべての状態 σ,σ′\sigma, \sigma' について「P(σ)P(\sigma) かつ ⟨c,σ⟩⇓σ′\langle c, \sigma \rangle \Downarrow \sigma' ならば Q(σ′)Q(\sigma')」が成り立つことをいう。このとき ⊨M{P} c {Q}\models_{\mathcal{M}} \{P\}\ c\ \{Q\} と書く。
  • 三つ組 [P] c [Q][P]\ c\ [Q] が M\mathcal{M} のもとで全正当であるとは、すべての状態 σ\sigma について「P(σ)P(\sigma) ならば、⟨c,σ⟩⇓σ′\langle c, \sigma \rangle \Downarrow \sigma' かつ Q(σ′)Q(\sigma') を満たす σ′\sigma' が存在する」が成り立つことをいう。このとき ⊨M[P] c [Q]\models_{\mathcal{M}} [P]\ c\ [Q] と書く。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理 証明で参照している 1 件

関連するノック 1 問