第一篇 基础篇第1章 数理逻辑的本质 3
1.1 什么是数理逻辑 3
1.2 公理系统 4
1.3 形式系统 6
1.4 语法变元 8
第2章 一阶理论 9
2.1 函数与谓词 9
2.1.1 非逻辑概念的引入 9
2.1.2 函数 10
2.1.3 谓词 10
2.2 真值函数 10
2.2.1 命题和命题连接词 10
2.2.2 真值函数 12
2.2.3 命题连接词的完全性与独立性 13
2.3 变元与量词 17
2.3.1 个体变元 17
2.3.2 量词 18
2.3.3 量词的归约 18
2.3.4 自由出现与约束出现 19
2.3.5 数学命题符号化 19
2.4 一阶语言 20
2.4.1 定义 20
2.4.2 一阶语言由它的非逻辑符号完全确定 21
2.4.3 几种归纳证明 21
2.4.4 指称式 21
2.4.5 形成定理 22
2.4.6 出现定理 23
2.4.7 可代入问题(subititutible) 24
2.4.8 定义符号 25
2.5 结构 26
2.5.1 结构定义 26
2.5.2 公式A在α中有效 26
2.5.3 L(α)的无变元项 27
2.6 逻辑公理和逻辑规则 29
2.6.1 逻辑公理、非逻辑公理 29
2.6.2 逻辑规则、非逻辑规则 29
2.6.3 一组逻辑公理和逻辑规则 30
2.6.4 一阶理论 32
2.6.5 T的模型 32
2.6.6 有效性定理 33
2.6.7 一阶理论T的系统特征 33
2.6.8 命题逻辑的形式推证 34
第3章 一阶理论的定理 37
3.1 重言式定理 37
3.1.1 重言式 37
3.1.2 重言式定理 39
3.1.3 重言式定理应用于判定重言式的方法 40
3.1.4 T的定理的广义归纳定义 41
3.2 关于量词的结果 42
3.3 演绎定理 45
3.3.1 演绎定理 45
3.3.2 关于常元的定理 47
3.4 等价定理和相等定理 48
3.5 前束式 52
3.5.1 记号和定义 53
3.5.2 前束运算 53
3.5.3 前束式存在定理 53
3.5.4 前束定理 54
3.5.5 附加前束运算 55
3.6 完全性定理 56
3.6.1 特征问题 56
3.6.2 有关定义 57
3.6.3 归约定理 58
3.6.4 协调型归约定理 59
3.6.5 完全性定理 60
3.6.6 第Ⅱ型完全性定理可以推出第Ⅰ型完全性定理 60
第二篇 程序设计篇第4章 Prolog语言概述及Visual Prolog的使用环境 65
4.1 Prolog语言的产生和发展 65
4.2 Visual Prolog的使用 66
4.2.1 Visual Prolog的使用环境 66
4.2.2 Visual Prolog Environment开始 66
4.2.3 运行和测试一个程序 66
4.2.4 从磁盘中载入例子 67
4.2.5 处理错误 67
第5章 Prolog基本原理 68
5.1 逻辑设计 68
5.1.1 句子 68
5.1.2 询问 70
5.1.3 变量 72
5.1.4 小结 72
5.2 从自然语言到Prolog程序 73
5.2.1 子句 73
5.2.2 谓词 76
5.2.3 变量 76
5.2.4 目标 79
5.2.5 注解 81
5.2.6 匹配 82
第6章 Visual Prolog程序设计 83
6.1 Visual Prolog程序设计基础 83
6.1.1 子句部分 83
6.1.2 谓词部分 83
6.1.3 域部分 85
6.1.4 目标部分 87
6.1.5 详细介绍声明和规则 88
6.1.6 谓词声明中的类型参数 89
6.1.7 多重的arity 90
6.1.8 规则句法 91
6.1.9 自动类型转化 92
6.2 其他程序部分 92
6.2.1 事实节 92
6.2.2 常数节 92
6.2.3 全局部分 93
6.2.4 编译器 93
6.3 小结 94
第7章 统一和回溯 95
7.1 统一 95
7.2 回溯 97
7.2.1 Visual Prolog的解决办法 99
7.2.2 对回溯的详细查看 101
7.2.3 回溯的四项基本原则 102
7.2.4 回溯 103
7.2.5 搜寻解决办法的控制 106
7.2.6 决定论和截断 110
7.3 过程观点看Prolog 115
7.3.1 规则和事实 115
7.3.2 规则和case语句 115
7.3.3 在规则内部执行调试 116
7.3.4 截断与goto语句 116
7.3.5 返回计算值 117
7.4 小结 119
第8章 单一和复合对象 120
8.1 单一数据对象 120
8.1.1 数据对象变量 120
8.1.2 数据对象常量 120
8.2 复合数据对象和算符 122
8.2.1 复合数据对象的统一 122
8.2.2 将多条消息看作一个整体 123
8.2.3 复合对象的声明域 127
8.2.4 复合混合域的声明 130
8.3 小结 131
第9章 循环和递归 132
9.1 重复过程 132
9.1.1 再论回溯 133
9.1.2 用循环实现“回溯” 134
9.2 递归程序 135
9.3 尾部递归最优化 137
9.4 利用参数作为循环变量 138
第10章 表和递归 141
10.1 什么是表 141
10.1.1 表的声明 142
10.1.2 头部和尾部 142
10.2 表的处理 143
10.3 表的使用 144
10.3.1 表的书写 144
10.3.2 统计表元素 145
10.3.3 尾部递归 146
10.3.4 表的成员 147
10.3.5 表合并 148
第11章 算术和比较 149
11.1 数学表达式 149
11.1.1 运算 149
11.1.2 计算顺序 150
11.2 函数和谓词 150
11.2.1 产生随机数 151
11.2.2 整型和实型算术 152
11.3 比较 155
11.3.1 等价谓词 155
11.3.2 比较字符、字符串、符号 158
第12章 类和对象 159
12.1 对象机制 159
12.2 Visual Prolog类 160
12.2.1 类声明 160
12.2.2 类实现 160
12.3 类的实例——对象 161
12.4 类域 162
12.5 子类和继承 163
12.6 虚谓词 164
12.7 类的作用范围 166
12.8 构造函数和析构函数 167
12.9 指向对象自己的指针(this指针) 168
12.10 抽象类 169
12.11 继承类的访问控制 170
第13章 高级技术 170
13.1 流量分析 171
13.1.1 复合流 172
13.1.2 给谓词指定流模式 172
13.1.3 控制流量分析 173
13.1.4 参考变量 174
13.1.5 参考域声明 175
13.1.6 使用参考域 176
13.1.7 再谈流模式 177
13.1.8 使用二元树和参考域 177
13.1.9 利用参考域检索 179
13.2 函数和返回值 180
13.3 Visual Prolog中确定性监控 182
13.4 谓词作为参数 184
13.5 二元域 189
13.5.1 二进制项的执行 189
13.5.2 二进制项的文本形式语法 189
13.5.3 创建二进制项 190
13.5.4 访问二进制项 191
13.5.5 二进制项的一致化 191
13.5.6 例子 191
13.5.7 将一般项转化为二进制项 193
13.6 错误和异常处理 194
13.6.1 异常处理和错误捕获 194
13.6.2 错误报告 197
13.6.3 处理术语阅读器的错误 198
13.6.4 中断控制 199
13.7 动态切除 200
13.8 类型自由转换 201
13.9 程序风格 202
第14章 文件操作谓词 204
14.1 写谓词和读谓词 205
14.1.1 写谓词 205
14.1.2 读入 212
14.1.3 二进制块传输 215
14.2 Visual Prolog的文件系统 216
14.2.1 打开和关闭文件 216
14.2.2 重新传入标准的输入/输出 219
14.2.3 文件操作 219
第15章 系统高级编程 222
15.1 访问操作系统 223
15.2 定时服务 225
15.3 位级操作 227
15.4 使用硬件:低等级支持 228
15.5 小结 231
第16章 Prolog程序实例 231
16.1 建立一个小型的专家系统 232
16.2 一个简单的路由问题 236
16.3 危险洞穴的冒险 238
16.4 硬件仿真 240
16.5 汉诺塔 242
16.6 拆分单词成音节 243
16.7 N皇后问题 247
第17章 语言的基础 250
17.1 命名 250
17.2 程序段 251
17.2.1 域部分 251
17.2.2 谓词部件 254
17.2.3 数据库部件 255
17.2.4 子句部件 256
17.2.5 常量部件 258
17.2.6 有条件的编译 260
17.3 在程序中加入文件 261
17.4 模块和全局编程结构 261
17.5 Visual Prolog内存管理 264
17.6 模块化程序设计 265
第三篇 应用篇第18章 专家系统 271
18.1 专家系统基础 271
18.1.1 专家系统概述 271
18.1.2 专家系统的特点及优点 271
18.1.3 专家系统的结构与类型 272
18.1.4 建造专家系统的步骤与设计技巧 274
18.1.5 新型专家系统 276
18.2 专家控制系统 277
18.2.1 专家控制系统的控制要求与设计原则 277
18.2.2 专家控制系统的结构 279
18.2.3 专家控制系统的类型 280
18.3 实时专家控制系统 281
18.4 小结 282
第19章 知识表示 282
19.1 单元表示 283
19.2 语义网络 287
19.3 概念从属 289
19.4 框架 293
19.5 脚本 296
19.6 过程表示 298
19.7 小结 300
第20章 教育专家系统 301
20.1 教育专家系统概述 301
20.1.1 教育专家系统对教育的影响 301
20.1.2 教育专家系统的结构 302
20.1.3 教育专家系统的现状 304
20.2 智能CAI 304
20.2.1 智能CAI的兴起与发展 304
20.2.2 ICAI基本结构与原理 306
20.2.3 ICAI经典例子 306
20.3 应用实例 307
20.3.1 研究生工作评价与决策专家系统 307
20.3.2 智能导航学习系统 308
20.3.3 考试统计与评价专家系统 310