在 Prolog 的列表中插入零

Insert zeros in a list on Prolog

我需要在 prolog 中给定列表的每个元素后插入零,请你帮帮我,我找不到正确的方法让它工作。这是我的代码:

insert_zero([A|T]),([A|B]):- 
   insert_zero([Rest|R1]), append(0,R1,B).

答案应该给我这个

?- insert_zero([a,2,c,3], R). 
R = [a,0,2,0,c,0,3,0].

这可以用一个简单的谓词来实现:

insert_zero([],[]).
insert_zero([H|T],[H,0|T1]):-
    insert_zero(T,T1).

?- insert_zero([a,2,c,3], R).
R = [a, 0, 2, 0, c, 0, 3, 0].