このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1289816228/821
#  質問させてください。 
#  線形リストで、リストlのk番目に要素xのセルを挿入するプロシージャーINSERT(l,k,x)を再帰呼び出しでやるにはどのようにすれば良いんでしょう? 
# 
# 

insert(List1,K,X,List2) :-
        length([_|L0],K),
        append(L0,L1,List1),
        append(L0,[X|L1],List2).