SWI-Prolog是Prolog的开源实现,可在Unix,Windows和Mac上运行。
所以这是我目前的代码库结构。 trans([],[])。 trans([H | T],[NewH | NewT]):-表示(H,NewH),trans(T,NewT)。意味着(一个,一个):-!意思是(两个,dos):-!手段(X,...
我一直在尝试编写一个简单的代码,该代码将以这种方式运行:| ?-hasCoppiesOf(X,[a,b,a,b,a,b,a,b])。 X = [a,b]? ; X = [a,b,a,b]? ; X = [a,b,a,b,a,b,a,b]? ;和| ?-hasCoppiesOf([...
请考虑以下设置::-use_module(library(chr))。 :-chr_constraint a / 1,b / 1。 %确实会有很多这样的规则,可能是100%%关于如何用bs替换的一些规则,例如。...
我正在尝试通过序言向其他rest api发出发布请求。 (如果我要在js中执行):body = {login =“ login”,passsword =“ password”} axios.post(“ http:// localhost:...
我必须使用-/ 2在前两个列表中表示对,并将它们放在第三个列表中。例如:?-pairstobe([1,2 ,, [a,b],X)。 X = [1-a,2-b]。我已经尝试解决这个问题了一段时间了...
您好,我目前是Prolog的初学者,正在尝试学习该语言。我的问题有很多事实,有没有一种方法可以计算它们而不使用我尝试做过的内置函数...
我得到了树构造器tree(tip)。 tree(bin(L,_,R)):-tree(L),tree(R)。我的任务是确保给定一棵Ints树bin(L,X,R)如果L中的每个节点均<= X并且每个节点...
我试图在序言中创建紧凑的代码,以简化方程组。例如,在这种情况下,假设必须为A + B-C-D = 4,A + B + C + D = 14,A-B + C-D = 2。我正在尝试将其放置在...
[我想我在理解序言时遇到了更大的问题,但是由于我无法完全表述它,所以我专注于单个问题,我想创建一个自然定律(X),如果X为1,2,3,则为true, 4,...更多...
是否可以在Swi-Prolog中获得以毫秒为单位的经过时间?
简单的问题。我需要计算执行谓词X所花费的时间。所以我写了这个谓词:chronometrise(X):-write('Executing:'),write(X),nl,nl,statistics(walltime,_),。 ..
我正在尝试编写一个谓词,以确定第一个列表是否与Prolog中的其他两个列表具有相同的元素。这是我尝试过的:same([],[],[])。相同([A | As],[B | Bs],[C | ...
如何在Windows上的Prolog swipl REPL上发送EOF以关闭伪用户文件?
我在Windows上使用swipl.exe Prolog REPL,并尝试使用通过[user]打开的用户伪文件。但我不知道离开伪文件的快捷键:c:\ code> swipl.exe ...
vertex(1)。顶点(2)。顶点(3)。顶点(4)。 color(1)。 color(2)。 color(3)。边(1,2)。边(1,3)。 edge(1,4)。 edge(2,4)。 edge(3,4)。 edge(X,Y):-edge(Y,X)。 getelement(1,[Z | _],Z)。 getelement(X,[Z | Zs],M):-...
当我运行代码时,它返回sat作为输出?是要传达错误还是输出是什么意思? %场景2:%Amy:“我的报告是原始报告。”%Brian:“也是我的报告” report(2,...
我正在尝试从命令行执行序言脚本。我的尝试基于在如何从命令行运行SWI-Prolog中找到的内容。但是,这不适用于任何非平凡的...
我正在从PHP调用SWI-prolog,发送问题并获得结果。我为此使用exec()函数:$ goal =“ all_facts('S')。”; $ cmd =“ /软件/ swipl / bin / swipl -f Domain.pl -g”。 $ goal。 “ ...
考虑此Prolog程序:a(1)。 b(X):-X。这在SWI Prolog中有效。并且以下查询在没有任何警告的情况下给出了理想的(乍看之下)结果:?-b(a(1))。真?-b(a(2))。 ...