没有函子的 prolog 术语
我面临着有关列表和术语的序言问题。那么我的问题是如何编写一个谓词 transform([a,b],X) 将返回 X = (a,b) 或反之亦然 这对我来说很奇怪,因为我以前…
Prolog 在列表中追加列表
我有一个列表列表,我想向其中添加更多列表。 假设我有一个列表: L=[[A,B],[C,D]] 我想向 L1 = [E,F] 其中追加一个列表,应该如何完成? “append”…
Prolog:以声明方式创建列表的 DRY 方式
我正在使用 Prolog 进行一些实验,但遇到以下规则的困难: row(Row, Matrix, [R1,R2,R3,R4]) :- cell(1, Row, Matrix, R1), cell(2, Row, Matrix, R2)…
Prolog如何将列表中的前3个元素存储到另一个列表中
我尝试过这样的事情: 说path = [[1,2],[2,3],[3,4],[5,6]] first_three(N,[H|T],[H|_]):- not(N=0),N is N-1, first_three(N,T,L). 然后我调用first_…
Prolog 将列表作为元素插入到另一个列表中
在我的程序中,我的 P = [0,1,2] 我想将其存储到另一个 LIST 中,因为 P 会在循环中不断变化,所以我想将 P 存储到一个 LIST 中,所以我的 LIST 将如…
如何从序言中的两个列表创建原子对列表?
我是序言新手。 让我向您展示我想要的内容作为评论.. % ?-pair([1,2],[a,b],Result). % Result= [{1,a},{1,b},{2,a},{2,b}]. 我所做的是.. pair([],Q,…
使用java的测试用例生成器
我正在使用 java 开发一个“自动测试用例生成器”。 java 程序的输入将由 prolog 程序提供。例如,如果输入是整数 2,那么 java 程序应该对数字进行平…
Prolog如何打印列表中的前3个元素
如何打印列表中的前 3 个元素。 我有一个打印方法 print([]). print([X]) :- !, write(X). print([X|T]) :- write(X), write(', '), print(T), nl. …
在 Prolog 中检索给定区间内的所有数字
我是 Prolog 世界的新手,我想编写一条返回特定范围内的所有元素的规则。 我打算做类似的事情 ,例如: foo(X, Low, High) :- X > Low, X < High. 当…
在 Prolog 中删除 List L 的最后 3 个元素以生成 List L1
我如何编写一个目标,从列表 L 中删除最后三个元素,生成另一个列表 L1? 另外,我将如何编写多个目标来从生成 L2 的列表 L 中删除前三个元素和最后三…
core.logic lvar 上的算术和 clojure 函数
两个相关问题合二为一: Clojure 的 core.logic 模块可以像普通 Prolog 一样执行算术、逻辑比较等吗?我设想如下: (defrel points person n) (fact :…