%% 知識情報処理実習 r5の練習問題 解答例
% 1.
are_edges(a,[b,c]).
are_edges(b,[a,c,d]).
are_edges(c,[d]).
are_edges(d,[]).
list_length([],0).
list_length([_|Y],N) :- list_length(Y,N1), N is N1+1.
n_of_edges(N,K) :-
are_edges(N,L), list_length(L,K).
test5_1(K) :- n_of_edges(a,K).
% 2.
has_duplication([A|L]) :- member(A,L).
has_duplication([_|L]) :- has_duplication(L).
test5_2_1 :- has_duplication([a,b,a]).
test5_2_2 :- has_duplication([a,b]).