我希望能够在我当前的prolog程序中尽可能快地查找一个术语的存在,而不需要prolog引擎遍历所有术语,直到它最终到达现有的术语为止。% thousands of other animalsanimal(tiger).
swi引擎将需要经过成千上万的动物,试图与老虎统一,以确认动物(老虎)在我的prolog数据库中<
我正在尝试格式化来自程序的结果,但遇到了困难。作为结果,我想给出这样的东西:基本上,我想要将连续的项连接到initialState原子,但它不适用于atom_concat,因为要连接的其他项不是原子,而且我还想在每次传递"do“函数时添加)。所以应该是这样的: Res = initialState。conca
作为prolog的新手,我正在阅读现有的代码(以及试图编写一些代码)。有了一些以前的背景,在半决赛,我开始玩它,并看到一些东西,是混淆了我。示例断言:Remember: Internally, all resources are atoms.realised at compile-time using rules for goal_expansion/2我是否正确地假设图书馆以原子
我正在考虑把一个prolog程序的所有痕迹放在一个列表中。例如,假设我有 a.v(2).
a,
v(X).我想获得一个表单[[a,v(1)],[a,v(2)]]的列表(或者类似的东西,我可以随时使用findall来获得所有的解决方案)。我想到的最明显的想法是预处理prolog代码,将列表作为参数添加到谓词中(使用SWI中的term_expansion