Как создать арифметические предикаты в pyDatalog?

как перевести этот арифметический предикат в допустимый предикат pyDatalog?

добавить (X, Y, Z) ← X + Y = Z

Например:

?Добавить(5, 7, Z).

ответ должен быть: добавить (5, 7, 12).

Спасибо!


person user2199630    schedule 23.06.2017    source источник


Ответы (1)


person    schedule
comment
Спасибо за ваш комментарий. Но когда я запускаю add(5,Y,15), ничего не возвращается. Он должен вернуть 10.. - person user2199630; 28.07.2017
comment
Действительно, pyDatalog не имеет решателя ограничений/уравнений. - person Pierre Carbonnelle; 28.07.2017
comment
Вы можете попробовать с 3 предложениями, просто добавьте: add(X,Y,Z) ‹= (X == Z-Y) и add(X,Y,Z) ‹= (Y == Z-X) - person Pierre Carbonnelle; 28.07.2017