课程编号: 091M4023H |
课时: 60 |
学分: 3.0 |
课程属性: 专业核心课 |
主讲教师:眭跃飞等 |
英文名称: Mathematical Logic and Theory of Programming |
教学目的、要求
本课程为计算机科学与技术学科研究生的学科基础课。数理逻辑与程序理论是计算机科学的基础。计算机科学各个分支均有相应的逻辑,比如信息安全的BAN逻辑,程序设计理论的Hoare逻辑,人工智能中的各种逻辑等等。描述逻辑现在应用在计算机各分支中。本课程将陈述这些逻辑中最基本的内容,即命题逻辑、一阶逻辑和模态逻辑。其中命题逻辑、一阶逻辑和计算逻辑将全面介绍,包括逻辑的背景、语言、语法、语义、形式推演以及可靠性和完备性定理。模态逻辑只介绍基本概念及其应用。
通过本课程的学习,要求学生能掌握数理逻辑与程序理论的基本概念、理论和方法,对命题逻辑、一阶逻辑和计算逻辑的整体内容有所了解,为进一步学习和研究计算机科学与技术打下一个理论基础。
预修课程
离散数学
教 材
陆钟万,《面向计算机科学的数理逻辑》第二版,科学出版社,北京,2002。
主要内容
数理逻辑部分:
第一章 预备知识
集合,关系,函数,归纳定义和归纳证明。
第二章 命题逻辑
命题,命题逻辑的语言、语法和语义,逻辑推论,形式推演,范式,命题逻辑的可靠性和完备性。
第三章 一阶逻辑
量词,一阶逻辑的语言、语法和语义,逻辑推论,形式推演,前束范式。
第四章 可靠性和完备性
公式和公式集合的可满足性和有效性,公式集合的极大协调性,一阶逻辑的可靠性和完备性。
第七章 模态命题逻辑简介
模态命题语言,模态命题逻辑的语义、可靠性和完备性。
程序理论部分:
第一章计算逻辑, 包括Hoare逻辑,动态逻辑和时序逻辑。
第二章最弱前提条件和最强后条件演算。
参考文献
M.Ben-Ari, Mathematical Logic for Computer Science, Springer,third edition, 2012.
David Gries, The Science of Programming. Springer Verlag, New York, 1981, 350 pages.
E.W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.