Пролог с неравенствами

Я нашел эту программу для решения проблем неравенства из какого-то интернет-источника. Она работает хорошо. Это программа.

:-use_module(library(clpq)).

dec_inc(Left,Right):-
   copy_term(Left-Right,CopyLeft-CopyRight).
   tell_cs(CopyLeft).
   max(CopyRight,Right,Leq).
   tell_cs(Leq).

max([],[],[]).
max([E=<_|Ps],[_=<P1|P1s],[K=<P1|Ls]):-
   sup(E,K),
   max(Ps,P1s,Ls).

tell_cs([]).
tell_cs([C|Cs]):-                                   
   {C},
   tell_cs(Cs).

Проблема, связанная с этой программой, заключается в том, что когда я запускаю программу с использованием заглавной переменной, она работает.

Это синтаксис, который я использовал для решения этой проблемы.

например:-

{2*X+3>=5}.

Это работает и дает правильный ответ.

{2*x+3>=5}.

Когда я запускаю это, Пролог говорит

ERROR: Unhandled exception: nf(y,_G3082): argument 1 must be a a numeric expression

Я использую SWI-Prolog версии 6.6.0. В чем здесь проблема и как я могу ее решить.

0 ответов

Другие вопросы по тегам