Прочитать ввод в прологе и распечатать результат

Я изучаю идеи Пролога и вот что я хочу практиковать:

Я хочу написать программу Prolog, которая может работать так:

?- input([apple,is,fruit]).
?- input([chicken,is,meat]).
?- input([Is,apple,meat]).
No, it is a fruit
?- input[(Is,chicken,meat])
Yes.

И когда я пытался реализовать эту программу, у меня возникли некоторые проблемы:

(1) Я использовал этот код, пытаясь прочитать входные данные и различить вопросы и утверждения, но он не работает:

input([]).
input([X|R]) :- X is 'Is', write('test code read question'); write("test code read assertion").

(2) Я все еще не понимаю, как я могу отфильтровать полезную информацию из входного сообщения. Например, в[Apple,is,fruit]входной массив, все что мне нужно этоapple а такжеfruit, Как мы обычно делаем, чтобы прыгатьis слово?

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

Заранее спасибо.

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

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