一、前言 1
1.发展简史 1
2.Polog的特点及其应用 1
二、基本语法 3
1.Prolog程序 3
2.语句 4
3.目标 4
4.谓词和原子 4
5.参数和项 5
6.变量 5
7.复合项 5
三、基本数据结构 6
1.树 6
2.表 6
四、Prolog的基本算法 9
1.模式匹配 9
2.回溯 10
3.截断 11
4.Prolog的基本算法 15
五、输入输出 29
1.字符读写 29
2.项的读写 30
3.文件I/O 31
4.说明算符 33
六、内部谓调 34
1.arg参数匹配 34
2.asserta,assertz增加子句 35
3.atom原子判别 35
4.atomic原子或整数判别 35
5.call目标调用 36
6.clause头尾部分别匹配 36
7.consult从文件中读出知识库 36
8.debugging显示侦察点 36
9.display写当前输出流(前缀算符) 36
10.fail恒失败 36
11.functor函数判别 37
12.get输入字符(跳过不可显示字符) 37
13.get0输入字符 37
14.integer整数判别 37
15.is赋值 38
16.listing列出子句 38
17.mod求余 38
18.name原子和字符表 38
19.nodebug删除所有侦察点 38
20.nl输出换行字符 38
21.nonvar判别非变量 38
22.nospy删除侦察点 38
23.not 39
24.notrace退出跟踪 39
25.op定义算符 39
26.put输出字符 39
27.read读一项 39
28.reconsult修补知识库 39
29.repeat重复动作 39
30.retract删除子句 40
31.see改变当前输入流 40
32.seeing查当前输入流名 40
33.seen恢复当前输入流 40
34.skip跳过输入字符 40
35.spy设置侦察点 40
36.tab输出若干空格字符 41
37.tell改变当前输出流 41
38.telling查当前输出流名 41
39.told恢复当前输出流 41
40.trace进入跟踪状态 41
41.true恒真 44
42.var判别变量 41
43.write写当前输出流 42
44.=··函数和表的转换 42
45.,;目标或子句右部谓词的连接 42
46.=,\=相等关系 42
47.==严格的相等关系 42
48.> ,<,>=,=<小于和大于关系 42
49.+,-,*,/,mod算术运算 43
七、典型实例 43
1.排序树 43
2.迷宫问题 45
3.汉诺塔 46
4.街道图 48
八、Prolog和逻辑的关系 52
1.谓词演算简介 52
2.子句形式 53
3.子句的表示方法 56
4.消解和定理证明 58
5.Horn子句 60
6.Prolog 61
7.Prolog与逻辑程序设计 62
主要参考文献 64
附录A.Prolog样板程序集锦 65
A1.符号差分SYMDIFF 65
A2.语言编辑系统AUTOC 70
A3.通用数据库查询系统DBAQL 91
A4.专家系统外壳SHELL和动物分类学规则库ANIMALS 102
附录B.PROLOG语法描述(UNIX YACC格式) 148