教科書ルールを適用できるたびに独自のルールを適用できるという意味で、これらは同等です。2つのルールの不変条件は似ていますが、同じではありません。
教科書のルールインスタンスをルールのインスタンスに変換する
アプリケーションまたはテキストルールがあるとします。つまり、次のようなが見つかりました。I
I⇒V≥0と[I∧C∧V=v0]S[I∧V<v0]
次に、上記の含意のおかげで、ます。ルールPrePostを使用して、不変条件を同等のものに書き換えることができ、ルールの適用を取得します。I⟺I∧V≥0
[I∧C∧V≥0∧V=v0]S[I∧V≥0∧V<v0]
ここでは、教科書のルールと同じ不変条件を使用します。
ルールのインスタンスをテキストブックルールインスタンスに変換する
さて、逆の方向に。ルールのを見つけたとしましょう:I
[I∧C∧V≥0∧V=v0]S[I∧V≥0∧V<v0]
ここで、仮定できないため、をテキストルール使用できません。ただし、新しい不変式として使用できます。を構成(*)によって簡単に作成し。さらに、仮説からI⇒V≥0II′:=I∧V≥0I′⇒V≥0
[I∧C∧V≥0∧V=v0]S[I∧V≥0∧V<v0]
(PrePostによって)取得できます
[I′∧C∧V=v0]S[I′∧V<v0](**)
プロパティ(*)と(**)は、テキストルールを適用するために必要なものです。