>>729
% Prolog jbis/2 の定義を長くなるのでここでは省略して。

父系の収集(_目標馬,_五代血統書,X) :-
  五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X),!.
父系の収集(_目標馬,[_一代父,_二代父,_三代父,_四代父,_五代父|_],[_一代父,_二代父,_三代父,_四代父,_五代父|R]) :-
  jbis(_五代父,_五代遡った五代血統表),
  父系の収集(_目標馬,_五代遡った五代血統表,R).

五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X) :-
  append(L1,[_目標馬|_],_五代血統書),
  length(L1,N),
  N < 5,
  append(L1,[_目標馬],X),!.