Prolog可逆算术

faf*_*ner 4 math prolog

在prolog中是否有任何方式可以提出类似的问题4 is 2^X,然后再回来X=2?我试着使用=,==,=:=都没有成功(获得要么只是falsearguments not sufficiently instantiated).

joe*_*l76 6

使用SWI-Prolog和库(clpfd),您可以提出类似的问题.

 ?- use_module(library(clpfd)).
%  library(apply_macros) compiled into apply_macros 0,00 sec, 39 clauses
%  library(assoc) compiled into assoc 0,03 sec, 143 clauses
% library(clpfd) compiled into clpfd 0,11 sec, 1,456 clauses
true.

 ?- 4 #= 2 * X.
X = 2.
Run Code Online (Sandbox Code Playgroud)