В Прологе «функция» не является особым видом синтаксического элемента, поэтому я не думаю, что вам придется тратить много времени на размышления о различии «предикат» / «функция». Вы можете сказать «предикат» в обоих случаях.
Вот пример предиката для вычисления суммы, которую вы можете обобщить для вашего случая: mySum(X1, X2, Sum):- Sum is X1 + X2
. Затем вы можете вызвать это следующим образом ?-mySum(1, 2, X)
.
Один из способов чтения конструкции Пролога Head:- Body
заключается в следующем: «Чтобы выполнить Head, сначала выполните Body». Таким образом, в теле вы можете иметь встроенный предикат write/1
для вывода на экран.
Cheers / JC