計算論理学

  [ GB21404 ]
Computational Logic
対象:3・4学年 開設学期:秋AB 曜日・時限:木5・6 単位数:2単位
担当教員:亀山幸義, 海野広志

概要

多くの現代的プログラム言語は,強力な型システムを持つことによりデータ構造や制御構造の抽象化を果たし,プログラムの誤りを減らしたり,可読性を高めることに役立っている.本講義では,型システムの理論的背景を知るため,型つきラムダ計算に基づいたプログラム言語の基礎理論を学ぶ.プログラム言語の構文と意味の厳密な定義方法,型システム,計算規則などについて学ぶ.また,型つきラムダ計算に対応する直観主義論理の体系を取り上げ,これら2つの体系が本質的に等価であること,すなわち,証明とプログラムが同一視できることを学ぶ.これらを通じて形式的体系とは何かを理解し,形式的対象の操作が計算機で実行可能なことを学ぶ.授業の中でソフトウェアを用いた演習を行う.

学習・教育目標

プログラム言語と論理体系を題材にして,形式体系の取り扱いを理解する.また,プログラム言語における型システムの役割,理論,応用を理解する.

キーワード

形式体系,構文と意味,命題論理,ラムダ計算,型システム,証明とプログラム,プログラム検証.

Keywords

Formal System, Syntax and Semantics, Propositional Logic, Lambda Calculus, Type System, Proofs and Programs, Program Verification.

時間割

講義内容/理解すべき項目
第1週導入: ラムダ計算,形式体系,構文論と意味論
第2週計算の論理: 命題論理、直観主義論理,導出
第3−7週型付きラムダ計算: 項と型,計算,性質,型検査と型推論、多相型、進んだ話題
第8−9週依存型とリファインメント型、プログラム検証
第10週授業のまとめ

教材

講義資料は,この授業のホームページ等を通じて公開する.

参考書籍

プログラムの基礎理論(佐藤雅彦・桜井貴文共著,岩 波書店)
ソフトウェア科学のための論理学(萩谷昌己著,岩波書 店)
Benjamine C. Pierce,"Types and Programming  Languages", MIT Press, 2002.

予備知識・前提条件

「論理と形式化」もしくは形式体系・論理の基礎的事項

成績評価

講義への出席を前提として,演習50%,期末試験50%により評価する.

教員メールアドレス

亀山: kam [at] cs tsukuba ac jp
海野: uhiro [at] cs tsukuba ac jp

TF・TA

薄井: usui [at] logic cs tsukuba ac jp

講義のWebページ

http://logic.cs.tsukuba.ac.jp/~kam/complogic/

オフィスアワー

初回の講義で指定する.