次の2つのリストの違いがちょっと混乱しています。
K = [1,2,3 | X].
と
K = [1,2,3,X].
Bratko の本の質問は、実際にはconc
.
conc は次のように定義されます。
conc([], L, L).
conc([X|L1], L2, [X|L3]) :- conc(L1, L2, L3).
現在の実際の問題は、
conc([1,2,3], [X], L2).
L2 はクエリの K と同じリストです K = [1,2,3|X].
L2 と K は同じではないと思いますが、説明の仕方がよくわかりません。L2 は 2 つのリストの連結です。K は、リストで入力できる変数 X と、よくわからないものを連結したものです...
まだ Prolog を学習中なので、これが「ばかげた」質問である場合はご容赦ください。