Prolog 如何得到术语的泛化。序言

Prolog 如何得到术语的泛化。序言,prolog,term,Prolog,Term,例如,我有一些术语: moves(1, [1]). moves(1, [2]). moves(1, [3]). 下学期我该怎么办 moves(1, [1,2,3]). 节目: :- dynamic moves/2. moves(1, [1]). moves(1, [2]). moves(1, [3]). transform_moves(Pos) :- findall(Y, moves(Pos, [Y]), L), retractall(moves(Pos, _)),

例如,我有一些术语:

moves(1, [1]).
moves(1, [2]).
moves(1, [3]).
下学期我该怎么办

moves(1, [1,2,3]).

节目:

:- dynamic moves/2.

moves(1, [1]).
moves(1, [2]).
moves(1, [3]).

transform_moves(Pos) :- 
    findall(Y, moves(Pos, [Y]), L), 
    retractall(moves(Pos, _)),
    assert(moves(Pos, L)).
电话:


你说“得到”是什么意思?你想从前三个词中构造出最后一个词吗?现在看问题。我会更新它。
:- dynamic moves/2.

moves(1, [1]).
moves(1, [2]).
moves(1, [3]).

transform_moves(Pos) :- 
    findall(Y, moves(Pos, [Y]), L), 
    retractall(moves(Pos, _)),
    assert(moves(Pos, L)).
?- transform_moves(1).