Как решить уравнение в pyDatalog?
Страница pyDatalog показывает, как реализовать алгоритм факториала для вычисления N! ценности. Можно ли изменить его (например, используя предикаты), чтобы решить, для которого N N! будет равна заданному значению (например, 6)?
from pyDatalog import pyDatalog
pyDatalog.create_terms('factorial, N')
factorial[N] = N*factorial[N-1]
factorial[1] = 1
print(factorial[3]==N) # prints N=6
Но я хотел бы спросить:
print(factorial[N]==6) # and receive N=3
К сожалению, такой случай pyDatalog говорит:
DatalogError: Error: left hand side of comparison must be bound: >/2