前言 1
第一章 初步知识 4
1.1 事实 5
1.2 问题 6
1.3 变量 7
1.4 联结词 9
1.5 规则 12
1.6 小结与练习 16
第二章 深入探讨 18
2.1 语法 18
2.2 字符 20
2.3 运算符 21
2.4 等号 22
2.5 运算 24
2.6 满足目标的小结 27
第三章 使用数据结构 30
3.1 结构与树 30
3.2 表 31
3.3 表的成员 34
3.4 例:改写句子 36
3.5 例:字母排序 38
3.6 例:部件清单 40
第四章 回溯与“CUT”操作 43
4.1 多重解的产生 43
4.2 “cut”操作 47
4.2 “cut”的一般用法 49
4.4 “cut”引起的问题 57
第五章 输入与输出 95
5.1 项的读写 60
5.2 读写字符 63
5.3 读英语句子 64
5.4 读写文件 66
5.5 运算符的说明 68
第六章 内部谓词 70
6.1 加入新的子句 70
6.2 成功与失败 72
6.3 项的分类 73
6.4 把子句作为项 76
6.5 一般结构中分量的建立与获得 81
6.6 影响回溯的情况 86
6.7 建立复杂目标 88
6.8 等式 90
6.9 输入与输出 92
6.10 对文件的操作 93
6.11 算术表达式的求值 94
6.12 数的比较 94
6.13 监视PROLOG的工作 95
第七章 一些程序例子 96
7.1 分类树字典 96
7.2 探索迷宫 98
7.3 汉诺塔 100
7.4 改进的部件清单 101
7.5 表处理 103
7.6 集合的描述与处理 105
7.7 排序 107
7.8 断言及取消断言:随机数、符号生成、遍历 109
7.9 图搜索 113
7.10 求素数 116
7.11 符号微分 118
7.12 数的映射与变换 119
第八章 PROLOG程序的调试 122
8.1 安排程序 122
8.2 常见错误 125
8.3 另一个控制流模式 126
8.4 跟踪及监测点 131
8.5 改正错误 137
第九章 使用文法规则 139
9.1 分析问题 139
9.2 用PROLOG描述分析问题 141
9.3 文法规则标记法 144
9.4 增添附加自变量 146
9.5 增添附加测试 149
9.6 小结 151
第十章 PROLOG和逻辑的关系 154
10.1 谓词演算的简单导引 154
10.2 子句形式 156
10.3 子句标记法 160
10.4 消解及定理证明 161
10.5 Horn子句 163
10.6 PROLOG 164
10.7 PROLOG与逻辑程序设计 166
第十一章 PROLOG实用程序设计 168
11.1 简单课题 168
11.2 高级课题 170
附录: 173
附录A 部分习题答案 173
附录B 子句形式转换为PROLOG程序 178
附录C ASCII编码 183
附录D PROLOG的不同版本 185
附录E DEC SyStem—10 PROLOG系统 187
附录F PDP—11 UNIX PROLOG系统 194
附录G LSI—11RT—11系统 199
附录H 2980EMAS PROLOG系统 203
附录I 其他PROLOG系统 204