Prolog - 多次操作同一个列表

Prolog - Manipulating the same list for several times

我是 Prolog 的新手,正在尝试通过按索引删除元素来修改列表。

例如:

remove(1,[1,2,3],Z).  
Z is [1,3]. 

然而,当我再次尝试 运行 这个谓词时,列表发送为 [1,2,3]。

据我搜索,我认为它不能在 Prolog 中实现 真的吗 ?

如果是真的,我可以尝试哪些替代方案?

我已经坚持了很长时间,真的很感激任何帮助。

使用预定义谓词nth0/3 and select/3

?- nth0(1,[1,2,3],Element),select(Element,[1,2,3],Z).
Element = 2,
Z = [1, 3] ;
false.