第2章逻辑程序设计语言 第2章逻辑程序设计语言 21基本 PROLOG 2,2 Turbo Prolog程序设计 习题二 BACK
第 2 章 逻辑程序设计语言 第 2 章 逻辑程序设计语言 2.1 基本PROLOG 2.2 Turbo PROLOG程序设计 习题二
第2章逻辑程序设计语言 21基本 PROLOG 2.1.1PROL0G的语句 事实(fact) 格式[HTSS]〈谓词名〉(〈项表〉) 其中谓词名是以小写英文字母打头的字母、数字、下 划线等组成的字符串,项表是以逗号隔开的项序列。 PROLOG 中的项包括由常量或变量表示的简单对象以及函数、结构和 表等,即事实的形式是一个原子谓词公式
第 2 章 逻辑程序设计语言 2.1 基本PROLOG 2.1.1 PROLOG的语句 1. 事实(fact) 格式[HTSS] 〈谓词名〉(〈项表〉). 其中谓词名是以小写英文字母打头的字母、 数字、 下 划线等组成的字符串, 项表是以逗号隔开的项序列。 PROLOG 中的项包括由常量或变量表示的简单对象以及函数、 结构和 表等, 即事实的形式是一个原子谓词公式
第2章逻辑程序设计语言 例如: student(john) like(mary, music) 就是 PROLOG中的两个合法事实。 可以看出,在这里事实就是Homn子句逻辑中的无条件子句, 但形式略有不同
第 2 章 逻辑程序设计语言 例如: student(john). like(mary,music). 就是PROLOG中的两个合法事实。 可以看出, 在这里事实就是Horn子句逻辑中的无条件子句, 但形式略有不同
第2章逻辑程序设计语言 功能一般表示对象的性质或关系 例如上面的两个事实就分别表示“约翰是学生”和 玛丽喜欢音乐” 作为特殊情形,一个事实也可以只有谓词名而无参量。 例如: abc repeat 等也是允许的
第 2 章 逻辑程序设计语言 功能 一般表示对象的性质或关系。 例如上面的两个事实就分别表示“约翰是学生”和 “玛丽喜欢音乐” 。 作为特殊情形, 一个事实也可以只有谓词名而无参量。 例如: abc. repeat. 等也是允许的
第2章逻辑程序设计语言 2规则(rule) 格式〈谓词名〉(〈项表〉)-〈谓词名〉(〈项表〉){,〈谓 词名〉(〈项表〉)} 其中“:"号表示“if"(也可以直接写为,其左部的谓词 是规则的结论(亦称为头),右部的谓词是规则的前提(亦称为体) }表示零次或多次重复,逗号表示and(逻辑与),即规则的形式 是一个逻辑蕴含式 例如: bird(x): -animal(X),has(X, feather) grandfather(X,Y): -father(X, Z), father(Z,Y) 就是 PROLOG的合法规则
第 2 章 逻辑程序设计语言 2. 规则(rule) 格式〈谓词名〉(〈项表〉):-〈谓词名〉(〈项表〉){,〈谓 词名〉(〈项表〉)}. 其中“ :-”号表示“if”(也可以直接写为if), 其左部的谓词 是规则的结论(亦称为头), 右部的谓词是规则的前提(亦称为体), { }表示零次或多次重复, 逗号表示and(逻辑与), 即规则的形式 是一个逻辑蕴含式。 例如: bird(X):-animal(X),has(X,feather). grandfather(X,Y):-father(X,Z),father(Z,Y). 就是PROLOG的合法规则