Каков ваш базовый случай?Это будет выглядеть так:
prereqchain(Start, End, prerequisite(Start, End)) :-
prerequisite(Start, End).
Это дает вам следующую ситуацию:
?- prereqchain(comp281, itec450, L).
L = prerequisite(comp281, itec450).
Итак, это первое, что вам нужно, теперь то, что происходит, когда вы запрашиваете prereqchain(comp101, itec450)
?Вам нужен индуктивный случай, который следует за остальной частью цепочки:
prereqchain(Start, End, prerequisite(Start, Middle, Tail)) :-
prerequisite(Start, Middle),
prereqchain(Middle, End, Tail).