diff tex/hoare.tex @ 8:27a6616b6683

fix
author soto@cr.ie.u-ryukyu.ac.jp
date Mon, 14 Sep 2020 19:58:10 +0900
parents acad18934981
children c162ca9b997e
line wrap: on
line diff
--- a/tex/hoare.tex	Mon Sep 14 05:41:23 2020 +0900
+++ b/tex/hoare.tex	Mon Sep 14 19:58:10 2020 +0900
@@ -3,7 +3,7 @@
 これは、「プログラムの事前条件(P)が成立しているとき、コマンド(C)実行して停止すると事後条件(Q)が成り立つ」
 というもので、CbCの実行を継続するという性質に非常に相性が良い。
 Hoare Logic を表記すると以下のようになる。
-{P} C {Q}
+$$ \{P\}\ C \ \{Q\} $$
 この3つ組は Hoare Triple と呼ばれる。
 
 Hoare Triple の事後条件を受け取り異なる条件を返す別の Hoare Triple を繋げることでプログラムを記述していく。
@@ -11,6 +11,12 @@
 Hoare Logic の検証では、「条件がすべて正しく接続されている」かつ「コマンドが停止する」ことが必要である。
 これらを満たし、事前条件から事後条件を導けることを検証することで Hoare Logic の健全性を示すことができる。
 
+\subsection{Hoare による Code Gear の検証 }
+
+以下の図が agda にて Hoare Logic を用いて Code Gear を検証する際の流れになる。
+input DataGear が Hoare Logic上の Pre Condition(事前条件)となり、output DataGear が Post Conditionとなる。
+各DataGear が Pre / Post Condition を満たしているかの検証は、各 Condition を Meta DataGear で定義し、
+条件を満たしているのかをMeta CodeGear で検証する。
 
 \begin{center}
 \includegraphics[height=3.5cm]{pic/hoare_cg_dg.pdf}
@@ -18,3 +24,5 @@
 \label{hoare}
 \end{center}
 
+
+