Please start by translating the following sentences into colloquial
English. In this and future exercises, be careful with
the order of arguments in predicates. I have adopted the convention
that, where a predicate has two arguments: p(X,Y)
, then it would make
sense if written in English X p Y
.
If you look at just the names, you may think you know what the translation is going to be: several of the facts clearly resemble familiar proverbs. However, I have deliberately mangled some of the Prolog, so if you just rely on surface features, you may be mislead. Also, some are not legal Prolog. Which?
The predicate was_caught_at_time_with(F,T,B)
means that ``F was
caught at time T using bait B''. The operator \=
means not equal, and
is here being used to compare times.
Finally: is loves(mary,everyone)
a good translation of ``Mary loves
everyone''? Is not_lonely(X) :- knows(X,someone)
a good translation of
``X is not lonely if X knows somebody''? Why or why not?