Czytaj dane wejściowe w prologu i wyniki drukowania

Uczę się pomysłów Prolog i oto co chcę ćwiczyć:

Chcę napisać program Prolog, który może działać tak:

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

A kiedy próbowałem wdrożyć ten program, miałem pewien problem:

(1) Użyłem tego kodu, próbując odczytać dane wejściowe i rozróżnić pytania i twierdzenia, ale to się nie udaje:

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

(2) Nadal jestem zdezorientowany, jak mogę filtrować użyteczne informacje z komunikatu wejściowego. Na przykład w[Apple,is,fruit]tablica wejściowa, wszystko czego potrzebujęapple ifruit. Jak zwykle robimy, aby przeskoczyćis słowo?

Nie chcę kodować zbyt wielu rzeczy do programu i wolę dobry styl programowania funkcjonalnego, aby rozwiązać problem, który może pomóc mi się uczyć.

Z góry dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion