Логическая головоломка в Прологе - использование списков

Я пытаюсь решить следующую проблему в Прологе, и я думаю, что я правильно ее кодировал, но мои запросы просто возвращают false. Любой совет, что изменить? Проблема заключается в следующем:

«Bagel Alley, местный магазин по продаже бубликов, всегда был местом яростной активности во время утренних поездок на работу, когда люди останавливались, чтобы принести кофе и бублик по дороге на работу. Каждое утро свежие бобы изготавливались на месте, бублики были очень популярны, и тот факт, что в магазине также был отличный кофе, был как глазурь на торте! Люди, которые работали на Bagel Alley, были веселыми и дружелюбными, а также компетентными, поэтому, несмотря на большое количество покупателей, ожидание никогда не было долгим или неприятным. четыре его коллеги остановились сегодня утром, чтобы посмотреть, что каждый бредил, и были приятно удивлены, обнаружив, что магазин оправдал свою репутацию. Определите имя каждого сотрудника, какой бублик с его начинкой, какой вкус и размер кофе (маленький, средний или большой) каждый заказал. "

Брэд получил свой рогалик, который не был пшеницей, на котором ничего нет. Уолт заказал маленький кофе.

Два сотрудника, которые получили кофе среднего размера, были тем, кто получил вкус лесного ореха, и тем, кто получил его бублик с арахисовым маслом.

Тот, кто получил бублик с луком, но не с маслом, тоже получил французский ванильный кофе, но не маленького размера.

Пятью сотрудниками были Джо, тот, кто получил большой кофе, тот, кто получил кофе со вкусом амаретто, тот, кто получил бублик пшеницы, и тот, кто получил яйцо и бекон на своем бублике.

Рик не заказывал черничный бублик, но получил колумбийский кофе. Кофе Амаретто был заказан с бубликом чеддер, но не Уолтом.

Сливочный сыр не шел с черничным бубликом, но с большим кофе. Бублик с кунжутом шел с маслом, но Карлос его не заказывал.

Код Пролога, который я написал, находится здесь:

bagels(Sol):-
   Sol = [[_,_,_,_,_],[_,_,_,_,_],[_,_,_,_,_],[_,_,_,_,_],[_,_,_,_,_]],
   member([brad,X,plain,_,_], Sol), X \== wheat,
   member([walt,_,_,small,_], Sol),
   member([_,_,_,medium1,hazelnut], Sol),
   member([_,_,peanut_butter,medium2,_], Sol),
   member([_,onion,Y,Z,french_vanilla], Sol), Y \== butter, Z \== small,
   member([joe,Ja,Jb,Jc,Jd], Sol),Ja\==wheat,Jb\==egg_bacon,Jc\==large,Jd==amaretto,
   member([La,Lb,Lc,large,Ld], Sol), La\==joe,Lb\==wheat,Lc\==egg_bacon,Ld\==amaretto,
   member([Aa,Ab,Ac,Ad,amaretto], Sol), Aa\==joe,Ab\==wheat,Ac\==egg_bacon,Ad\==large,
   member([Wa,wheat,Wb,Wc,Wd], Sol), Wa\==joe,Wb\==egg_bacon,Wc\==large,Wd\==amaretto,
   member([Ea,Eb,egg_bacon,Ec,Ed], Sol), Ea\==joe,Eb\==wheat,Ec\==large,Ed\==amaretto,
   member([rick,R,_,_,columbian], Sol),R\==blueberry,
   member([A,cheddar,_,_,amaretto], Sol), A\==walt,
   member([_,B,cream_cheese,large,_], Sol), B\==blueberry,
   member([C,sesame,butter,_,_], Sol), C \== carlos,
   member([_,_,_,other,_], Sol),
   member([_,_,_,_,other], Sol).

Я считаю, что работает запрос "бублики (X)". должен дать мне решение проблемы, но возвращает false. Я что-то пропустил? Спасибо заранее!

Ответы на вопрос(2)

Ваш ответ на вопрос