hi(g,plus(A,B),int) :- hi(g,A,int),hi(g,B,int),!.
в приведенном выше утверждении, что означает "!" подписать в конце заявления сделать?
Это оператор cut , который в основном гласит: «если мы добрались до этого, не возвращайтесь назад».
Так что, если оба рекурсивных вызова завершатся успешно, предикат hiне буду повторять их.
hi