Mercurial > hg > Papers > 2015 > atton-sigse
annotate slide/slide.html @ 53:65391f6321a8
Add description for Delta
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 22 Jan 2015 10:49:27 +0900 |
parents | 780eab85e724 |
children | 40344cc2c590 |
rev | line source |
---|---|
50 | 1 <!DOCTYPE HTML> |
2 | |
3 <html lang="Japanese"> | |
4 <head> | |
5 <title>形式手法を広めるには</title> | |
6 <meta charset="UTF-8"> | |
7 <meta name="viewport" content="width=1274, user-scalable=no"> | |
8 <meta name="generator" content="Slide Show (S9)"> | |
9 <meta name="author" content="河野真治 <br> 比嘉健太"> | |
10 <link rel="stylesheet" href="themes/ribbon/styles/style.css"> | |
11 <link rel="stylesheet" href="slide.css"> | |
12 </head> | |
13 <body class="list"> | |
14 <header class="caption"> | |
15 <h1>形式手法を広めるには</h1> | |
16 <p>河野真治 <br> 比嘉健太</p> | |
17 </header> | |
18 <div class="slide cover" id="Cover"><div> | |
19 <section> | |
20 <header> | |
21 <h2>形式手法を広めるには</h2> | |
22 <h3 id="author">河野真治 <br> 比嘉健太</h3> | |
23 <h3 id="profile">琉球大学工学部情報工学科</h3> | |
24 </header> | |
25 </section> | |
26 </div></div> | |
27 | |
28 <!-- todo: add slide.classes to div --> | |
29 <!-- todo: create slide id from header? like a slug in blogs? --> | |
30 | |
31 <div class="slide" id="2"><div> | |
32 <section> | |
33 <header> | |
34 <h1 id="agenda">Agenda</h1> | |
35 </header> | |
36 <!-- === begin markdown block === | |
37 | |
38 generated by markdown 1.1.1 on Ruby 2.2.0 (2014-12-25) [x86_64-darwin13] | |
53
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
39 on 2015-01-22 10:48:46 +0900 with Markdown engine kramdown (1.4.2) |
50 | 40 using options {} |
41 --> | |
42 | |
43 <!-- _S9SLIDE_ --> | |
44 | |
45 <ul> | |
46 <li>大学ではどんなことをやっているか(講義, イベント, 研究)</li> | |
51 | 47 <li>講義などでつまづくポイント</li> |
48 <li>つまづきの解決策</li> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
49 <li>どのような講義をするべきか?</li> |
50 | 50 </ul> |
51 | |
52 | |
53 | |
54 </section> | |
55 </div></div> | |
56 | |
57 <div class="slide" id="3"><div> | |
58 <section> | |
59 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
60 <h1 id="section">講義で使用している形式手法</h1> |
50 | 61 </header> |
62 <!-- _S9SLIDE_ --> | |
63 | |
64 <ul> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
65 <li>仕様記述 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
66 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
67 <li>UML</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
68 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
69 </li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
70 <li>model checking 的なアプローチ |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
71 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
72 <li>Java Path Finder</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
73 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
74 </li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
75 <li>証明的なアプローチ |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
76 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
77 <li>Haskell, Agda</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
78 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
79 </li> |
50 | 80 </ul> |
81 | |
82 | |
83 | |
84 </section> | |
85 </div></div> | |
86 | |
87 <div class="slide" id="4"><div> | |
88 <section> | |
89 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
90 <h1 id="section-1">仕様記述</h1> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
91 </header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
92 <!-- _S9SLIDE_ --> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
93 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
94 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
95 <li>モデリングと設計 の講義</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
96 <li>iOS Application を作成する</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
97 <li>ユースケース図やクラス図を使って仕様を考える</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
98 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
99 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
100 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
101 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
102 </section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
103 </div></div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
104 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
105 <div class="slide" id="5"><div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
106 <section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
107 <header> |
50 | 108 <h1 id="model-checking-">model checking 的なアプローチ</h1> |
109 </header> | |
110 <!-- _S9SLIDE_ --> | |
111 | |
112 <ul> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
113 <li><a href="http://www.ie.u-ryukyu.ac.jp/%7Ekono/lecture/os/index.html">Operationg System</a> の講義</li> |
50 | 114 <li>Process/Thread Scheduling を考えた時に</li> |
115 <li>Dead Lock を起こすような Scheduling を実際に書いて実行させる</li> | |
116 <li>Java Path Finder で Thread の実行順序を網羅的に実行する</li> | |
117 </ul> | |
118 | |
119 | |
120 | |
121 </section> | |
122 </div></div> | |
123 | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
124 <div class="slide" id="6"><div> |
50 | 125 <section> |
126 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
127 <h1 id="section-2">証明的なアプローチ</h1> |
50 | 128 </header> |
129 <!-- _S9SLIDE_ --> | |
130 | |
131 <ul> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
132 <li><a href="http://www.ie.u-ryukyu.ac.jp/%7Ekono/lecture/software/index.html">ソフトウェア工学</a> の講義</li> |
50 | 133 <li>集合, 論理, 関数, 自然演繹による証明</li> |
134 <li>型システム, Curry-Howard Isomorphism を通して Haskell, Agda で証明</li> | |
135 <li>Haskell : 自然演繹と lambda calculus</li> | |
136 <li>Agda : Data type に対する証明 (Product, Sum, List, Functor, Monad …)</li> | |
137 <li>Agda : SystemT を使った自然数に対する演算の証明</li> | |
138 </ul> | |
139 | |
140 | |
141 | |
142 </section> | |
143 </div></div> | |
144 | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
145 <div class="slide" id="7"><div> |
50 | 146 <section> |
147 <header> | |
148 <h1 id="agda-">Agda による証明を解説した例</h1> | |
149 </header> | |
150 <!-- _S9SLIDE_ --> | |
151 | |
152 <ul> | |
153 <li>Open Source Conference</li> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
154 <li>ソフトウェア工学で学んだ Agda を <a href="http://ie.u-ryukyu.ac.jp/~e115763/slides/events/osc2014/slide.html">Agda 入門</a>として発表</li> |
50 | 155 <li>Agda で SystemT の Nat の加法の交換法則を解説</li> |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
156 <li>定義の解説にほとんどの時間を取られてしまう</li> |
50 | 157 </ul> |
158 | |
159 | |
160 | |
161 </section> | |
162 </div></div> | |
163 | |
51 | 164 <div class="slide" id="8"><div> |
50 | 165 <section> |
166 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
167 <h1 id="section-3">圏によるプログラムの形式化</h1> |
50 | 168 </header> |
169 <!-- _S9SLIDE_ --> | |
170 | |
171 <ul> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
172 <li>プログラムの変更を Monad で表す</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
173 <li>プログラムの変更時に変更前のプログラムも残したまま変更する</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
174 <li>全てのバージョンのプログラムを同時に実行できる</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
175 <li>デバッグやテストと組み合せることでバグを見付けたい</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
176 <li>実行系と検証系を同時に走らせることもできる</li> |
50 | 177 </ul> |
178 | |
179 | |
180 | |
181 </section> | |
182 </div></div> | |
183 | |
51 | 184 <div class="slide" id="9"><div> |
50 | 185 <section> |
186 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
187 <h1 id="section-4">学習コスト</h1> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
188 </header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
189 <!-- _S9SLIDE_ --> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
190 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
191 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
192 <li>論理, 自然演繹 -> Haskell -> Agda</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
193 <li>それぞれのステップに壁がある</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
194 <li>論理とプログラム間で変換できないなど</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
195 <li>自然演繹では解けるけれど lambda term で書き直す</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
196 <li>Haskell では定義できるけれど Agda で証明できない</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
197 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
198 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
199 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
200 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
201 </section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
202 </div></div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
203 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
204 <div class="slide" id="10"><div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
205 <section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
206 <header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
207 <h1 id="section-5">つまづくポイント</h1> |
50 | 208 </header> |
209 <!-- _S9SLIDE_ --> | |
210 | |
211 <ul> | |
212 <li>Haskell -> Agda の壁を考える</li> | |
213 <li>コードを書いてる人なら型を合わせることは分かる</li> | |
214 <li>型によって証明を書くことに繋げるには? | |
215 <ul> | |
216 <li>プログラムと論理の対応を把握してもらう必要がある</li> | |
217 <li>どうしたら把握してもらえるか?</li> | |
218 </ul> | |
219 </li> | |
220 </ul> | |
221 | |
222 | |
223 | |
224 </section> | |
225 </div></div> | |
226 | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
227 <div class="slide" id="11"><div> |
50 | 228 <section> |
229 <header> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
230 <h1 id="section-6">つまづきをどう解決するか</h1> |
50 | 231 </header> |
232 <!-- _S9SLIDE_ --> | |
233 | |
234 <ul> | |
235 <li>書き続ける</li> | |
236 <li>論理とプログラムの対応を見えるようにする | |
237 <ul> | |
238 <li>Agda は対話的に項を書き換えることができる</li> | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
239 <li>どこでつまづいても情報が手に入るようにしたい |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
240 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
241 <li>論理側でも、プログラム側でも、どのステップでも</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
242 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
243 </li> |
51 | 244 <li>対話的に情報を引き出す手段そのものを学ぶ</li> |
50 | 245 </ul> |
246 </li> | |
247 </ul> | |
248 | |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
249 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
250 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
251 </section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
252 </div></div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
253 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
254 <div class="slide" id="12"><div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
255 <section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
256 <header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
257 <h1 id="section-7">他に講義に取りいれるもの?</h1> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
258 </header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
259 <!-- _S9SLIDE_ --> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
260 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
261 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
262 <li>仕様記述</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
263 <li>他の証明支援系 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
264 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
265 <li>Coq, …</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
266 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
267 </li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
268 <li>他の理論 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
269 <ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
270 <li>Hoare Logic, Computational Tree Logic, …</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
271 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
272 </li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
273 <li>どのようなカリキュラムが良いか?</li> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
274 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
275 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
276 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
277 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
278 </section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
279 </div></div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
280 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
281 <div class="slide" id="13"><div> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
282 <section> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
283 <header> |
53
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
284 <h1 id="delta-">データ構造 Delta の定義</h1> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
285 </header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
286 <!-- _S9SLIDE_ --> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
287 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
288 <ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
289 <li>Monad によってプログラムの変更を表す</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
290 <li>データ構造としては長さ1以上のリスト |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
291 <ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
292 <li>nil に相当するものが元のプログラムの値</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
293 <li>プログラムの変更は変更した後の値を List に追加する</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
294 <li>全ての関数は Delta を返し、値は Delta によって定義する</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
295 </ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
296 </li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
297 </ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
298 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
299 <pre><code>data Delta a = Mono a | Delta a (Delta a) |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
300 </code></pre> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
301 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
302 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
303 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
304 </section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
305 </div></div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
306 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
307 <div class="slide" id="14"><div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
308 <section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
309 <header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
310 <h1 id="delta--monad--instance-">Delta に対する Monad の instance 定義</h1> |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
311 </header> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
312 <!-- _S9SLIDE_ --> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
313 |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
314 <ul> |
53
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
315 <li>return はバージョンが無いプログラムをバージョン1とする</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
316 <li><code>>>=</code> は同じバージョンの値に対する計算を同時に行なう</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
317 </ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
318 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
319 <pre><code>instance Monad Delta where |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
320 return x = Mono x |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
321 (Mono x) >>= f = f x |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
322 (Delta x d) >>= f = Delta (headDelta (f x)) |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
323 (d >>= (tailDelta . f)) |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
324 </code></pre> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
325 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
326 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
327 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
328 </section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
329 </div></div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
330 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
331 <div class="slide" id="15"><div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
332 <section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
333 <header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
334 <h1 id="section-8">元のプログラムとプログラムの変更</h1> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
335 </header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
336 <!-- _S9SLIDE_ --> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
337 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
338 <p><img src="pictures/original_program.svg" alt="original_program" /></p> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
339 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
340 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
341 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
342 </section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
343 </div></div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
344 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
345 <div class="slide" id="16"><div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
346 <section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
347 <header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
348 <h1 id="delta--1">Delta によって記述されたプログラムの実行</h1> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
349 </header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
350 <!-- _S9SLIDE_ --> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
351 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
352 <p><img src="pictures/delta_program.svg" alt="delta_program" /></p> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
353 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
354 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
355 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
356 </section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
357 </div></div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
358 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
359 <div class="slide" id="17"><div> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
360 <section> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
361 <header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
362 <h1 id="delta--2">Delta のメリット</h1> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
363 </header> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
364 <!-- _S9SLIDE_ --> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
365 |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
366 <ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
367 <li>全てのバージョンを同時に実行できる</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
368 <li>任意のバージョンの組み合せを同時に実行できる |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
369 <ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
370 <li>デバッグに利用したり 通常系/検証系 として動かす</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
371 </ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
372 </li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
373 <li>Monad なので Category との対応がある |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
374 <ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
375 <li>2 つのバージョンを選ぶことは Delta が持つプログラムの product</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
376 <li>任意のバージョンを生成できる Colimit は Program の Repository</li> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
377 </ul> |
65391f6321a8
Add description for Delta
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
52
diff
changeset
|
378 </li> |
52
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
379 </ul> |
780eab85e724
Update slides. Add links, add lectures
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
51
diff
changeset
|
380 |
50 | 381 <style> |
382 .slide.cover H2 { | |
51 | 383 margin-top:72px; |
50 | 384 font-size:72px; |
385 } | |
386 .slide.cover H3#author { | |
387 margin-top:72px; | |
388 font-size:42px; | |
389 } | |
390 </style> | |
391 | |
392 <!-- vim: set filetype=markdown.slide: --> | |
393 <!-- === end markdown block === --> | |
394 | |
395 </section> | |
396 </div></div> | |
397 | |
398 | |
399 <script src="scripts/script.js"></script> | |
400 <!-- Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/ --> | |
401 </body> | |
402 </html> |