Prolog编程基础入门:从事实、问题到变量与合取的全面解析
1. Prolog简介
Prolog是一种逻辑编程语言,它以事实和规则为基础,并利用这些事实和规则来回答问题。编程时,需要向Prolog系统提供所需的事实和规则。Prolog的功能远不止于回答简单的“是”或“否”问题,它能让计算机成为事实和规则的存储库,还能实现从一个事实到另一个事实的推理,找出能得出逻辑推论的变量值。
通常,Prolog以交互方式使用,即用户与计算机进行类似对话的操作。用户通过键盘输入字符,计算机则通过显示器显示结果。Prolog会等待用户输入与待解决问题相关的事实和规则,当用户提出合适的问题时,Prolog会计算出答案并显示在屏幕上。
2. 事实(Facts)
在Prolog中,事实用于描述对象之间的关系。例如,要告诉Prolog“John喜欢Mary”这一事实,需按照标准格式书写: likes(john, mary).
书写事实时,有以下要点:
- 所有关系和对象的名称必须以小写字母开头,如 likes
、 john
、 mary
。
- 关系写在前面,对象用逗号分隔,并用圆括号括起来。
- 事实末尾必须有句点“.”。
定义对象间关系时,要注意对象在圆括号内的书写顺序。顺序是任意的,但一旦确定就要保持一致。例如, likes(john, mary)
和 likes(mary, john)
表示不同的含义,前者表示John喜欢Mary,后者表示Mar