Category Archives: Prolog

Predicate Logic

Represent the following statements as formulas of Predicate Calculus, stating the
intended interpretation of any predicates and constants that you use. You should
give two versions of each formula, one using the existential quantifier and one
using the universal quantifier .
i. Someone who writes novels is a novelist.
ii. All novels are books.
iii. All novelists, poets and journalists are writers.
iv. Poets are not the only writers.
v. Some novelists are American and some are Indian.
vi. Not all writers are American or Indian.

Encode the following facts as Prolog clauses. NB you may need to code more than
one clause for each numbered sentence. You should keep the queries (i-v) below in
mind when deciding how to structure your clauses.
1. Olga Tokarczuk is Polish and wrote the novel Flights.
2. Martha Gellhorn was an American novelist and journalist.
3. Sylvia Plath was American and wrote a poem called Ariel.
4. Arundhati Roy is an Indian activist and novelist.
5. George Eliot was British and wrote the novel Middlemarch.
Use your Prolog implementation to derive answers to the following queries, based on the
information given in 15 above. You may need to encode some of your answers to Question
2(c) and/or other reasonable general statements as Prolog clauses, in addition to your
encodings of 1-5 above. Explain your results.
i. Give the name of a British writer.
ii. Is Tokarczuk a novelist?
iii. Was Gellhorn a poet?
iv. Name an American writer who was not a journalist.
v. Give the nationality of a writer who is also an activist.