Ivan Bratko の Prolog Programming for Artificial Intelligence 本を読んでいますが、Prolog の経験はありません。本では、リストのサブリスト関係は次のように定式化されます。
S is a sublist of L if:
1) L can be decomposed into two lists, L1 and L2, and
2) L2 can be decomposed into two lists, S and some L3.
そして、関係は次のように与えられます。
sublist(S, L) :-
conc(L1, L2, L),
conc(S, L3, L2).
conc([], L, L).
conc([X|L1], L2, [X|L3]) :-
conc(L1, L2, L3).
リストを 2 つのリストに分解し、リストの 1 つが S と一致するかどうかを確認しないのはなぜですか?