10/02/18 06:11:28
>>732 (>>729)
% Prolog 理屈の上では、三頭の始祖馬が出てきたら、とすればそれで良さそう
% ですが、実際には血統不詳で切れている血統表も存在するからこれでは済まない。
父系の収集(_目標馬,_五代血統表,X) :-
member(_始祖馬,['Byerley Turk','Darley Arabian','Godolphin Arabian']),
append(L1,[_始祖馬|_],_五代血統表),
length(L1,N),
N < 5,
\+(member(_目標馬,L1)),
!,fail.
父系の収集(_目標馬,_五代血統書,X) :-
五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X),!.
父系の収集(_目標馬,[_一代父,_二代父,_三代父,_四代父,_五代父|_],[_一代父,_二代父,_三代父,_四代父,_五代父|R]) :-
jbis(_五代父,_五代遡った五代血統表),
父系の収集(_目標馬,_五代遡った五代血統表,R).