4月以降のやりたいこと
参加者を増やしたいなぁ
- 勉強会でシリーズ化して「話すこと」をあらかじめ広告しておく。
- Coq
- Software Foundation和訳をネタに分割開催する?
- Coq入門って感じじゃない・・・
- 巷にはCoqの資料はたくさんある。
- あとはだれかが「講師やります」って手をあげるだけじゃないの?
- 毎回これをやりますというネタをあらかじめ出しておくといいかも。
- 4回分先に計画するとか。
- Software Foundation和訳をネタに分割開催する?
- Alloy
- 今は演習を毎回勉強会でやってる。
- 「プログラミング言語の基礎概念」
- これをCoqに翻訳しながら読むっていうネタがあるか。
- 本に載ってない演習課題がある。
- 全10章。毎回コツコツやるか。
- Coq,Alloy以外の何か
- MAUDE
- Bisimulation
- Modelica
- QCon Tokyo 2012でお話があるから、フィードバックしましょう。
その他
- 勉強会の取材のお話は?
- まだ行動に移してないや。
- シリーズ化して勉強会やるときには宣伝したい。
- 東京のTAPLは
- sub typingまで終わった。
Coqセミナー振り返り
- 盛りだくさんでした。
- EDUBASEくらうどのキーボード設定。ハードとソフトで違ってたよ。
- 受講者の様子
- ほとんどが関数型言語知ってる。
- 半数が定理証明系知ってる。
- injectionタクティック
- 大抵inversion H.を使ってしまう。(等式の左右が同一のコンストラクタのとき)
- 1.6.2 の b = (r1 + e - r2) っていう不変条件が良くわからん。
- 間違ってるんじゃないか?会計の話が良くわからんかった。
- Recordの要素には型が書けるということは、命題も書けるということ。
- 命題も書けるなら不変条件もRecord自体に書ける。
- 2.1.1 {measure length xs}は削除。
- 停止性がはっきりしないときは、Functionコマンドで定義する。
- 証明をしたものが関数として呼べるようにするのに、Defined.を使う。
- CoInductive
ヒルベルト流公理系をCoqで証明する。
- Hint Constructors で試してみたけどだめだった。
- 公理の数を減らすとか?
- Maudeでやってみるか。
Alloy本演習問題続き
A1.3 (e) sameGroup
編集中にセッションが切れた・・・
A1.4
assert union { all s: set univ, p, q: univ -> univ | s.(p + q) = s.p + s.q } //check union for 4 /* 等式の左辺は、集合と「関係の差」を結合している。 右辺は、集合同士の差になっている。 */ assert diff { all s: set univ, p, q: univ -> univ | s.(p - q) = s.p - s.q } //check diff for 2 assert inter { all s: set univ, p , q: univ -> univ | s.(p & q) = s.p & s.q } check inter for 2