如何在SWI-Prolog中使用谓词转置?

如何在SWI-Prolog中使用谓词转置?,prolog,swi-prolog,Prolog,Swi Prolog,大家好,我想在SWI Prolog中使用predicatetranspose(Matrix0,Matrix),当Matrix0和Matrix0是列表的列表,并且每个列表的“列”是另一个列表的“行”时,它就起作用了。问题是当我添加:-确保加载(库(clpfd))。到我的源文件并尝试使用它时,我得到了这个 % library(occurs) compiled into occurs 0.00 sec, 14 clauses % library(apply_macros) compiled

大家好,我想在SWI Prolog中使用predicate
transpose(Matrix0,Matrix)
,当
Matrix0
Matrix0
是列表的列表,并且每个列表的“列”是另一个列表的“行”时,它就起作用了。问题是当我添加
:-确保加载(库(clpfd))。
到我的源文件并尝试使用它时,我得到了这个

%    library(occurs) compiled into occurs 0.00 sec, 14 clauses
%   library(apply_macros) compiled into apply_macros 0.00 sec, 44 clauses
%   library(assoc) compiled into assoc 0.00 sec, 103 clauses
ERROR: /Users/Benjamin/Documents/prologworkspace/test.pl:27:
    import/1: No permission to import clpfd:transpose/2 into user (already imported from ugraphs)
%  library(clpfd) compiled into clpfd 0.08 sec, 1,372 clauses
% test compiled 0.08 sec, 1,388 clauses
true.
当我尝试这个时,我得到了
false

?- transpose([['_','_'],['_','_']], X).
false.
有什么建议吗?多谢各位

导入/1:不允许将clpfd:transpose/2导入用户(已从ugraphs导入)

你有名字冲突。这不是
clpfd:transpose/2
本身的问题

要不导入模块的所有导出谓词,请使用

:- use_module(library(clpfd), []).
然后需要调用
clpfd:transpose/2
,包括名称空间

到岸价

导入/1:不允许将clpfd:transpose/2导入用户(已从ugraphs导入)

你有名字冲突。这不是
clpfd:transpose/2
本身的问题

要不导入模块的所有导出谓词,请使用

:- use_module(library(clpfd), []).
然后需要调用
clpfd:transpose/2
,包括名称空间

到岸价

导入/1:不允许将clpfd:transpose/2导入用户(已从ugraphs导入)

你有名字冲突。这不是
clpfd:transpose/2
本身的问题

要不导入模块的所有导出谓词,请使用

:- use_module(library(clpfd), []).
然后需要调用
clpfd:transpose/2
,包括名称空间

到岸价

导入/1:不允许将clpfd:transpose/2导入用户(已从ugraphs导入)

你有名字冲突。这不是
clpfd:transpose/2
本身的问题

要不导入模块的所有导出谓词,请使用

:- use_module(library(clpfd), []).
然后需要调用
clpfd:transpose/2
,包括名称空间

到岸价