Prolog中的标签变量

Prolog中的标签变量,prolog,prolog-toplevel,Prolog,Prolog Toplevel,我正在写一个Prolog谓词,它重新运行变量列表。现在,变量列表是u(下划线)变量,例如: Xs = [_2654, _2690], . . . Xs = [X1, X2], . . . 我想用递增的指数来标记这些变量,例如: Xs = [_2654, _2690], . . . Xs = [X1, X2], . . . 有什么技巧来标记这些变量吗 编辑:所以这可能不容易做,也可能不是必需的,但是因为一些评论者想要更多的信息,我正在实现一个逻辑加法电路,它由全加器组成 full_adde

我正在写一个Prolog谓词,它重新运行变量列表。现在,变量列表是u(下划线)变量,例如:

Xs = [_2654, _2690],
.
.
.
Xs = [X1, X2],
.
.
.
我想用递增的指数来标记这些变量,例如:

Xs = [_2654, _2690],
.
.
.
Xs = [X1, X2],
.
.
.
有什么技巧来标记这些变量吗

编辑:所以这可能不容易做,也可能不是必需的,但是因为一些评论者想要更多的信息,我正在实现一个逻辑加法电路,它由全加器组成

full_adder(X, Y, Cin, Z, Cout)
需要有意义的变量名,如:

?- addition_circuit(2, Xs, Ys, Zs, Fs).
   Xs = [X1, X2],
   Ys = [Y1, Y2],
   Zs = [Z1, Z2, Z3],
   Fs = [ full_adder(X1, Y1, 0, Z1, C2),
   full_adder(X2, Y2, C2, Z2, Z3)
   ]

谢谢你的帮助。现在我将继续使用带下划线的变量。

有意思的是:您能更具体地说明为什么变量需要名称吗?它是用于打印、写入文件还是用于其他地方的代码等?使用另一个顶级或另一个系统。相关的是,你可以使用类似于数字的东西(Xs,0,_End,[functor_name('X')])来获取[X(0),X(1)],但这并不完全是你想要的……我用更多的信息编辑了我的帖子。不再需要任何帮助,只是为了未来的读者。有趣的是:你能更具体地解释为什么变量需要名称吗?它是用于打印、写入文件还是用于其他地方的代码等?使用另一个顶级或另一个系统。相关的是,你可以使用类似于数字的东西(Xs,0,_End,[functor_name('X')])来获取[X(0),X(1)],但这并不完全是你想要的……我用更多的信息编辑了我的帖子。不再需要帮助,只是为了未来的读者。