3

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 と一致するかどうかを確認しないのはなぜですか?

4

3 に答える 3