Prolog中的组合词是什么?

Prolog中的组合词是什么?,prolog,Prolog,请给出一个Prolog中的组合器示例。我正在Prolog中开发一个状态保存解释器,它包含回溯部分,其中包括跟踪中的“重试”,并且为了切中要害,到底是什么组合符导致了不同的结果组合?在Prolog中,组合符(子句,而不是谓词)将结果组合粘合在一起。例如: c(A,B):- a(A),b(B). a(1). a(2). b(3). b(4). A = 1, } here, the combinator clauses a and b give B = 3 ; } glued-together

请给出一个Prolog中的组合器示例。我正在Prolog中开发一个状态保存解释器,它包含回溯部分,其中包括跟踪中的“重试”,并且为了切中要害,到底是什么组合符导致了不同的结果组合?

在Prolog中,组合符(子句,而不是谓词)将结果组合粘合在一起。例如:

c(A,B):- a(A),b(B).
a(1).
a(2).
b(3).
b(4).

A = 1,  } here, the combinator clauses a and b give 
B = 3 ; } glued-together results
A = 1,  
B = 4 ;
A = 2,
B = 3 ;
A = 2,
B = 4.

这个术语从何而来?它来自于Prolog讲师的陈述,但我已经读到了关于被单独称为组合词的子句。或者,“或”(写为
(;)
可以创建目标(或目标集)作为组合词。