как установить арифметическое отношение в базе данных Prolog

Я использую алгоритм прямой цепочки, предложенный Братко. Как я могу ввести арифметические правила в пролог БД. Например, я хочу ввести возраст 35 лет. Другими словами, я хочу ввести факт (возраст, 35 лет).

Спасибо


person remo    schedule 12.11.2012    source источник


Ответы (1)


Многое зависит от того, какой Пролог вы используете.

Я думаю, можно с уверенностью предположить наличие assert/1 и «обратного» retract/1. Код, который вы связали, уже использует assert/1.

Некоторый Prolog требует объявления предикатов, которыми можно манипулировать через assert/retract:

:- dynamic fact/2.

...
  assert(fact(age, 35)),
...
  retract(fact(Kind, Value)),
  write(Kind:Value),
...
person CapelliC    schedule 12.11.2012
comment
Спасибо за ваш ответ. Вы имеете в виду, что я могу использовать две версии факта (то есть факт/1 и факт/2). Это интересно. - person remo; 12.11.2012