changeset 127:7903c02fe686

Update
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Thu, 16 Feb 2017 13:49:07 +0900
parents 18f872806bc0
children 9ef69d114781
files paper/agda.tex paper/atton-master.pdf
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/paper/agda.tex	Thu Feb 16 13:39:49 2017 +0900
+++ b/paper/agda.tex	Thu Feb 16 13:49:07 2017 +0900
@@ -457,7 +457,12 @@
 $ \Rightarrow \mathcal{I}$ に対応するのは関数適用である。
 よってこの証明は「一つの変数から \verb/fst/ と \verb/snd/ を使って関数を二つ取り出し、それぞれを関数適用する」という形になる。
 これをラムダ式で書くとリスト~\ref{src:agda-modus-ponens}のようになる。
-仮定 A $ \times $ B と仮定 A から A $ \rightarrow $ C を導いている。
+仮定 $ (\text{A} \rightarrow \text{B}) \times (\text{B} \rightarrow \text{C}) $  と仮定 A から A $ \rightarrow $ C を導いている。
+
+仮定に相当する変数 p の型は$ (\text{A} \rightarrow \text{B}) \times (\text{B} \rightarrow \text{C}) $ であり、p からそれぞれの命題を取り出す操作が \verb/fst/ と \verb/snd/ に相当する。
+\verb/fst p/ の型は $ (\text{A} \rightarrow \text{B}) $ であり、\verb/snd p/ の型は $ (\text{B} \rightarrow \text{C}) $ である。
+もう一つの仮定xの型は A なので、\verb/fst p/ を関数適用することで B が導ける。
+得られた B を \verb/snd p/ に適用することで最終的に C が導ける。
 
 \lstinputlisting[label=src:agda-modus-ponens, caption=Agda における三段論法の証明] {src/AgdaModusPonens.agda.replaced}
 
Binary file paper/atton-master.pdf has changed