Prolog 中的谓词2024 年 8 月 29 日 | 阅读 2 分钟 有一个简单的程序,包含五个子句。前三个子句的 Head 是一个复合项,其 functor 为 parent。 它有两个参数,arity 为 2。 以下程序包含 functor parent 包含在 head 中的子句,但具有不同的 arity。 例如 在同一个程序中,我们也可以将 parent 用作 atom。 例如 上面的例子也会造成混淆。 一个 atom 可以作为规则 head 或事实出现。 例如, 上面的例子被认为是一个没有参数的谓词,即 go/0。 在之前的Prolog 子句文件中,我们有一个动物程序 2 的示例,它有五个谓词:dog/1、cat/1、large/1、small/1 和 large_animal/1。 事实由前 18 个子句定义,它们分别代表 dog/1、cat/1、large/1 和 small/1 谓词(数量分别为 6、4、7 和 1 个子句)。 规则由最后两个子句定义。 这两个子句都定义了 large_animal/1 谓词。 规则的声明式解释声明式和程序式解释都描述了规则。 以下示例显示了规则的声明式解释,如下所示 在上面的例子中,如果 dog(A) 为真,cat(B) 为真,write(A) 为真等等,那么 'chases(A, B) 为真'。 在程序式解释中,“为了满足 chases(A, B),首先满足 dog(A),然后满足 cat(B),然后满足 write(A) 等等。” 事实的声明式解释如下 上面将被理解为“bengal 是一只猫”。 下一个主题加载子句 |
我们请求您订阅我们的新闻通讯以获取最新更新。