計算と論理

科目ナンバリング U-ENG29 39086 LJ11
U-ENG29 39086 LJ10
開講年度・開講期 2022 ・ 後期
単位数 2 単位 授業形態 講義
配当学年 対象学生
使用言語 日本語 曜時限 火2
教員 五十嵐 淳 (情報学研究科 教授)
授業の概要・目的 数理論理学の基礎と,数理論理学を用いた計算機プログラムの検証について講述する.また,講義を補完するため,証明支援系(計算機上で数学的証明を行うシステム)である Coq を用いた演習を行う.
到達目標 1) 命題論理・述語論理の基礎を修得
2) プログラムに関する性質の厳密な証明を行う能力を修得
3) 型システムと数理論理学の間の深く関連する概念を習得
授業計画と内容 (1) 序論(1回)

(2) 関数型プログラミングとプログラムの検証(6回): 帰納的データ定義、型システム、多相性、高階関数、帰納法による証明

(3) 計算体系(3回): 形無しラムダ計算、単純型付きラムダ計算、多相ラムダ計算

(4) 命題と証明(4回): 自然演繹、直観主義論理、論理結合子、量化子、等しさ、カリー・ハワード同型対応

(5) フィードバック(1回)

(6) 学習到達度の確認(1回)

授業回数はフィードバックを含めて15回とする.
成績評価の方法・観点 成績評点は素点で評価する.
・期末試験 60%
・課題 40% (7回程度の課題を提出)
・随意課題を提出した場合,さらに加点する.
履修要件 履修する上で必須の科目はないが、工学部専門科目「プログラミング入門」などの科目でコンピュータプログラミングについての基礎、また、全学共通科目「数理論理学A」で数理論理学について履修しておくことが望ましい。
授業外学習(予習・復習)等 講義2回に1回程度宿題を課す。
教科書 Benjamin C. Pierce 他著 "Logical Foundations" (オンライン・テキストとして https://softwarefoundations.cis.upenn.edu/ から利用可能、ただし講義で使用する版は別に配布する)
参考書等 特になし
関連URL
PAGE TOP