0
第9章で最弱事前条件の表記についていくつかの質問には例があります。F *チュートリアル
b ::= x | true | false
e ::= b | let x = e1 in e2 | assert b | if b then e1 else e2
WP b P = P b
WP (let x = e1 in e2) P = WP e1 (fun x -> WP e2 P)
WP (assert b) P = b /\ P b
WP (if b then e1 else e2) P = (b ==> WP e1 P) /\ ((not b) ==> WP e2 P)
誰かがここでの表記を説明していただけますか? WP
が前条件であり、P
後条件であることを理解していますが、P b
とは何ですか?事後条件はb
に適用されますか? IRCチャンネル#fstarから
あなたはその議論をまとめることはできますか?フォーマットは読みにくい。 –