Mercurial > hg > Papers > 2020 > soto-midterm
view tex/hoare.tex @ 3:b124f02ea3f1
post agda code
author | soto@cr.ie.u-ryukyu.ac.jp |
---|---|
date | Wed, 09 Sep 2020 22:07:32 +0900 |
parents | |
children | acad18934981 |
line wrap: on
line source
\section{Hoare Logic} Hoare Logic とは C.A.R Hoare、 R.W Floyd が考案したプログラムの検証の手法である。 これは、「プログラムの事前条件(P)が成立しているとき、コマンド(C)実行して停止すると事後条件(Q)が成り立つ」 というもので、CbCの実行を継続するという性質に非常に相性が良い。 Hoare Logic を表記すると以下のようになる。 {P} C {Q} この3つ組は Hoare Triple と呼ばれる。 Hoare Triple の事後条件を受け取り異なる条件を返す別の Hoare Triple を繋げることでプログラムを記述していく。 Hoare Logic の検証では、「条件がすべて正しく接続されている」かつ「コマンドが停止する」ことが必要である。 これらを満たし、事前条件から事後条件を導けることを検証することで Hoare Logic の健全性を示すことができる。