計算論理学 (けいさんろんりがく)

このページには,2015年度の『計算論理学』の情報を置きます.

連絡事項


授業概要

シラバスはこちら

論理体系と型理論体系は本質的に同じ構造を持つという観点に立ち、 両者を一体のものとして、形式体系と意味について述べる。 講義とともにソフトウェアを用いた演習を実施して理解を深める。

講義テキスト

[注意] 以下に置いてあるテキストは、授業2週間程度前までは変更の可能性があります。
  1. 資料全体(目次・しおり付き)
  2. 目次
  3. はじめに
  4. 型のないラムダ計算 [2015/10/7最終更新]
  5. BNFと帰納的定義
  6. 命題論理の体系 [2015/10/7最終更新]
  7. 単純型付きラムダ計算
  8. 関数型プログラム言語の体系
  9. 型推論 [2015/11/5 最終更新]
  10. 多相型の体系
  11. 計算体系と論理体系の対応
  12. 進んだ話題
  13. Coq上の演習システム
  14. Coq上の演習システム(続き) [2015/11/17 最終更新]

演習資料

  1. 演習についての質問,問合せは,complogic@logic.cs.tsukuba.ac.jp あてに メールしてください.(このアドレスに送ると、教員およびTA に届きます。)
  2. レポート提出先: manabaシステム (登録キーは 9019456 です)
  3. Coqの使い方
  4. 補足情報 (最終更新 2015/10/9)
  5. Latexの proofマクロで証明図を書く方法: proof.styファイルをダウンロードし、 サンプルのような latexファイルを書いて コンパイルすると、このようなpdfファイルができます。
  6. 命題論理の演習 (PropLogic.v)
    1. 命題論理のファイルについて
    2. 10/8の演習における課題 (締切: 10/9深夜)
    3. 命題論理の証明(PropLogic):
    4. 課題 (締切: 2015/11/4深夜)
  7. 型付きラムダ計算の構文・型付け (SimpleType.v)
    1. 講義資料と演習システムでの記号の違い (講義資料の一部)
    2. 10/29の演習課題 (11/4夜まで)
  8. 関数型プログラム言語の体系の型付け (CoreML.v)
    1. 11/12講義, 11/19演習 (締切は、12/2(水) 深夜)
    2. CoreML.vというファイルを置きました。講義資料6章の「関数型 プログラム言語の体系」の型付けに対応するファイルです。 このファイルは、CoreMLDef.v (およびそれをコンパイルした CoreMLDef.vo)の定義を使っていますので、3つのファイルを全部、 自分のところにコピーして使ってください。
  9. 関数型プログラム言語の体系における計算 (Eval.v)
    1. 11/12講義, 11/19演習 (締切は、12/2(水) 深夜)
    2. Eval.vというファイルを置きました。(以前に置いて あった CoreMLRed.v というファイルを整理したものなので、 ファイル名も変更しました。) このファイルは、EvalDef.v (およびそれをコンパイルした EvalDef.vo)の定義を使っていますので、3つのファイルを全部、 自分のところにコピーして使ってください。
    3. 講義資料6章における「計算」 の定式化に関するものです。なお、6章における「計算」の定義は、 授業の時点で見つけたバグを修正したものを置いてあるので、演習の際には 再度ダウンロードしてください。
    4. Coqでの表現・記号の詳細は、 Coq上の演習システム(続き) を見てください。
  10. 多相型プログラム言語の体系の型付け (PolyML.v)
    1. 多相型の講義は後まわしにすることにしたので、演習は、発展課 題とします。

授業日程

以下の内容は予定であり、講義の進展に合わせて若干の変更があります。 (11/5 に微調整しました。)
  1. 10/1 (亀山) はじめに、型のないラムダ計算
  2. 10/8 (亀山) 命題論理、演習
  3. 10/15 授業なし (月曜授業日)
  4. 10/22 (亀山) 命題論理(続き)、単純型付きラムダ計算
  5. 10/29 (亀山) 単純型付きラムダ計算(続き)、演習
  6. 11/5 (亀山) 論理と計算の関係,関数型言語
  7. 11/12 (亀山) 型検査と型推論
  8. 11/19 (亀山) 計算機室で演習
  9. 11/26 授業なし (推薦入試)
  10. 12/3 (亀山) 多相型計算,ここまでのまとめ
  11. 12/10 (海野) 依存型とRefinement型
  12. 12/17 (海野) プログラム検証
  13. 12/24 (期末試験)

期末試験について

期末試験は以下の要領で実施します。
 期末試験 
	2015/12/24 (木)  15:15までに教室に集合すること
	場所: 3A207教室 (講義で使っている教室)
	試験時間 75分
	資料等持ち込み「可」とする。

 試験範囲
     亀山担当分1. 形式推論(PropLogicの証明, SimpleType, CoreML での型付けから選択式で出題)
     亀山担当分2. 記述問題: Curry-Howard同型対応、型推論、多相型などから自由記述形式で出題)
     海野担当分.  最後2週の講義分から出題

 成績評価: シラバス記載通り
    「授業への出席を前提として演習50%, 期末試験50% で評価する」

成績評価

演習および期末試験(レポート形式)の成績で評価します。 演習と期末試験の比率は 5:5 です。 また、ボーダーラインの成績の学生については、出席状況を考慮します。
担当教員: 亀山幸義 (kam[at]cs.tsukuba.ac.jp), 海野広志 (uhiro[at]cs.tsukuba.ac.jp)