Я полный новичок в программировании и должен создавать и решать загадку в Prolog с помощью GNU Prolog, аналогично загадке Эйнштейна, хотя и менее сложной. Я пытался создать загадку для элементов, содержащихся в следующей таблице .
Мой код до сих пор выглядит так, но я действительно не совсем понимаю, что я делаю неправильно или прямо здесь. Я могу скомпилировать код в GNU Prolog, но он не решит загадки:
middle(M,[_,M,_]).
right(A,B,[[_|A]|B]).
left(A,B,[A|[B|_]]).
run:-
   X = [_,_,_],
   middle([_,brown,_],X),   /* the brown guinea pig lives in the middle of the cage */
   member([brown,carrots,_],X), /* the brown guinea pig loves to eat carrots */
   member([_,salad,giggles],X), /* the salad eating guinea pig giggles */
   right([_,salad,_],[brown,_,_],X),    /* the salad eating guinea pig sits to the right of the brown guinea pig */
   left([black,_,_],[_,_,squeaks],X),   /* the black guinea pig sleeps to the left of the squeaking guinea pig */
   member([black,_,grumbles],X),    /* the black guinea pig grumbles */
   member([grey,_,giggles],X),  /* the grey guinea pig giggles*/
   write(X),nl, /* write out all fur colors */
   write('the '),write(N),write(' guinea pig loves to eat cucumbers'),nl. /* answer to the question */
Я был бы очень признателен за любую помощь, поскольку я совершенно не знаком с этими вещами, но должен найти решение для класса, который я принимаю. Любые советы будут очень полезны. Спасибо!
