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

代入の規則は後ろ向きである

命題 3.6(「契約による設計」§3) ・ ✓公理まで証明済み

xx を変数、aa を算術式、P,QP, Q を表明とする。解釈は任意でよい。

  1. ⊨{Q[a/x]} x:=a {Q}\models \{Q[a/x]\}\ x := a\ \{Q\} が成り立つ。
  2. ⊨{P} x:=a {Q}\models \{P\}\ x := a\ \{Q\} ならば P⇒Q[a/x]P \Rightarrow Q[a/x] である。すなわち Q[a/x]Q[a/x] は、事後条件 QQ を保証する事前条件のうちでもっとも弱い。
  3. 「前向き」に書いた規則 {P} x:=a {P∧x=a}\{P\}\ x := a\ \{P \wedge x = a\} は正しくない。PP を x=0x = 0、aa を x+1x + 1 とすると、三つ組 {x=0} x:=x+1 {x=0∧x=x+1}\{x = 0\}\ x := x + 1\ \{x = 0 \wedge x = x + 1\} は部分正当でない。

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

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 0 件、定義なども含めて 1 件)。

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

前提をたどる 証明が使う定理・定義(直接 1 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

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

関連するノック 3 問