Я новичок в концепциях Datalog и изучаю его с помощью pyDatalog. Я экспериментирую с преобразователем единиц измерения. Итак, учитывая факты о том, сколько дюймов в метре, например, он должен быть в состоянии сказать мне, сколько метров в дюйме. Вот мой код:
from pyDatalog import pyDatalog
from pyDatalog.pyDatalog import create_terms as cterms
pyDatalog.create_terms('scale') # the long way of doing it
cterms('A, B, V')
scale['meter', 'inch'] = 39.3707787
scale[A, B] = 1/ scale[B, A]
print(scale['inch', 'meter'] == V)
Почему программа не конвертирует дюймы в метры правильно? Он должен увидеть, что в метре 39,37 дюйма, и применить правило обратного преобразования, чтобы преобразовать его в другую сторону. Таким образом, он должен выводить 0,0234, но на самом деле выводит
V
----------
39.3707787