工学部情報学科

計算と論理 (科目コード 90860)

日時 火曜日2限(10:30〜12:00)
場所 総合研究7号館情報1講義室
担当教員:五十嵐 淳 (igarashi)
オフィスアワー:火曜日 13:30〜15:00 (総合研究7号館224)
(その他の時間は要アポイントメント)
担当TA:奥村 健太郎, 村井 涼

お知らせ

自習の進め方(宿題について)

  1. 教科書の該当する章のファイルを Proof General (もしくは CoqIDE) で読み込む.
  2. Coq への読み込みコマンドを使いながら教科書を読み進める.
  3. 練習問題の指示に従ってファイルを書き換える(解答を埋める).
  4. Coq に読み込ませてみて,背景が青(緑)になれば無事に Coq のチェックに通った,ということ.
  5. 宿題提出システムを使って該当ファイルを zip したものをアップロードする.

Proof General, CoqIDE の操作

機能 Proof General CoqIDE (メニュー操作)
一歩読み進める(Coq にテキストの内容を送信) C-c C-n Navigation → Forward
一歩戻る (undo) C-c C-u Navigation → Backward
カーソル位置まで進む(戻る) C-c RET Navigation → Go to
ファイル末尾まで読み込む C-c C-b Navigation → End
証明すべき命題(ゴール)を表示 C-c C-p
既になされた証明・定義を表示 C-c C-t
SearchAbout C-c C-a C-a Queries → SearchAbout (F2)

講義内容(シラバスより)

数理論理学の基礎と,数理論理学を用いた計算機プログラムの検証について講述する.また,講義を補完するため,証明支援系(計算機上で数学的証明を行うシステム)である Coq を用いた演習を行う.

講義スケジュールと配布資料

回数date内容(予定)資料宿題
110/7導入, Basics.vスライド0, スライド1テキスト Preface.v, Basics.v の予習,Coq 環境の構築,予習で生じた質問の報告(締切 10/14 10:30)
210/14Basics.v演習問題(締切 10/21 10:30: Basics.v の nandb, and b3, factorial, blt_nat, plus_id_exercise, mult_S_1, zero_nbeq_plus_1), Induction.v の予習
310/21Induction.vスライド2演習問題(締切 10/28 10:30: Induction.v の basic_induction, double_plus, beq_nat_refl), 配布資料の予習
410/28単純型付ラムダ計算配布資料1
511/4単純型付ラムダ計算,Lists.vスライド3
611/11Lists.v, Poly.vスライド4演習問題(締切 11/25 10:30: Lists.v の fst_swap_is_snd, list_funs, list_exercises, beq_natlist, hd_opt)
711/18教室での演習練習問題集(1)
812/2Poly.v演習問題(締切 12/9 10:30: Poly.v の split, poly_exercises, flat_map)
912/9System F, MoreCoq.v配布資料2,スライド5 演習問題(締切 1/6 10:30: MoreCoq.v の silly_ex, sillyex1, sillyex2, plus_n_n_injective, beq_nat_true, destruct_eqn_practice)
1012/16MoreCoq.v, 自然演繹とCoq配布資料3
111/6自然演繹とCoq, Logic.vスライド6 演習問題(締切 1/20 10:30: Logic.v の and_assoc, iff_properties, or_distributes_over_and_2, contrapositive, not_both_true_and_false, false_beq_nat)
121/13教室での演習練習問題集(2)
131/20Prop.v スライド7 演習問題(締切 2/3 10:30: Prop.v の b_times2 (2), gorgeous_plus13 (1), gorgeous_sum (2), ev_sum (2), inversion_practice (1))
141/27MoreLogic.v,カリーハワード同型対応スライド8, 講義資料 演習問題(締切 2/7 10:30: MoreLogic.v の dist_not_exists+ (1), dist_exists_or+ (2))
152/3カリーハワード同型対応,期末試験について
期末試験2/10

リソース

教科書
Benjamin C. Pierce 他著 Software Foundations (ダウンロード用: sf-201410.zip)
参考書
ボランティアによる教科書の和訳版(内容の食い違いについては教科書の記述を優先します.)
Coq: INRIA の公式サイト
ProofGeneral
emacs から Coq を操作するためのソフトウェア

igarashi@kuis.kyoto-u.ac.jp
Last update on $Date:: 2012-01-29 23:40:47 +0900#$