ProofCafe 第1回

ProofCafe 第一回でつぶやかれた内容です。おおまかな流れを実況したポストは、赤字にしてあります。 資料は、 http://coq.g.hatena.ne.jp/yoshihiro503/20100331 から辿れます。
2
おしいれのぼうけん @osiire

inductiveするとrecとindが定義された

2010-04-25 14:26:21
Keigo Imai @keigoi

@osiire いわゆる induction principle です。 構造帰納法を使った証明のために必要です #ProofCafe

2010-04-25 14:31:49
でこれき @dico_leque

Coq では色々なものが first-class #ProofCafe

2010-04-25 14:32:47
mzp @mzp

そろそろドリンクのおかわりを頼みたいんだけど、店員さんの姿が見えない。 #ProofCafe

2010-04-25 14:32:55
Keigo Imai @keigoi

Mac使いなあなたは レッツ sudo port install rlwrap ! #ProofCafe

2010-04-25 14:36:16
Keigo Imai @keigoi

rlwrap coqtop で coqtop 中でも readline 環境になって 幸せになれます。 #ProofCafe

2010-04-25 14:36:55
mzp @mzp

ボクはEmacsのeshell上でcoqtopを叩いてました。 #ProofCafe

2010-04-25 14:36:51
クラなんとか @clairvy2

一回 ansi-term したけど,コピペして,ProofGeneral 使ってた.. #ProofCafe

2010-04-25 14:39:26
でこれき @dico_leque

トップレベルの言語が Vernacular で計算とかを書く言語が Gallina。 Fixpoint とかの大文字で始まるのが Vernacular、 match 〜 with 〜 end は Gallina の予約語 #ProofCafe

2010-04-25 14:37:36
Keigo Imai @keigoi

intro h は、ゴール (====の下) が P -> Q (PならばQ) の形 のとき Pを仮定に追加 (====の上に移動) して、残ったゴール Q の証明に移る。 #ProofCafe

2010-04-25 14:40:55
Keigo Imai @keigoi

同時に、 intro h. で追加した仮定には識別子 h が付いて、以後の証明で使えるようになる。 #ProofCafe

2010-04-25 14:42:56
Keigo Imai @keigoi

intro. のように、識別子は省略できる。このとき、coqtopが自動的に識別子を割り当てる。 #ProofCafe

2010-04-25 14:45:02
おしいれのぼうけん @osiire

intro.はゴールにあるforallを仮定にもちあげる

2010-04-25 14:47:13
Keigo Imai @keigoi

Restart. で証明を最初からやりなおし。 Undo. は 直前の Vernacular コマンドを取り消す。 Undo n. でコマンドを n個取り消す。 #ProofCafe

2010-04-25 14:47:08
Keigo Imai @keigoi

今 何の証明をやっているのか わからなくなったら Show. ゴールが再度表示される。 #ProofCafe

2010-04-25 14:48:24
mzp @mzp

そろそろ辛くなってきたので、ProofGeneralにうつります。 #ProofCafe

2010-04-25 14:48:38
shimomura @shimomura1004

ProofGeneral の使い方を初めて知った。便利じゃんこれ。 #ProofCafe

2010-04-25 15:07:56
mzp @mzp

Implicit Argumentsに感動して、我を忘れてた。 #ProofCafe

2010-04-25 14:57:49
shimomura @shimomura1004

思ったより人数が多いので予想と雰囲気が違う。 #ProofCafe

2010-04-25 15:01:44
Keigo Imai @keigoi

あー途切れていた。 induction xs. で xs に関する帰納法が始まる。 xs が nil のときと cons の時の場合分けになる。 どちらの場合も まずは simpl. で式を簡約する。 #ProofCafe

2010-04-25 15:03:30
Keigo Imai @keigoi

xs=nil のとき、 = の両辺は 構文的に等価になる。 このとき reflexivity 炊くティックで証明を完了できる。 #ProofCafe

2010-04-25 15:04:12