2.1.5 Another Example

Another example of a model represented in Prolog.

Here's another example of a model represented in Prolog, again over the same vocabulary.

  
  [therapist(peter),moron(anna),moron(john),love(peter,anna), hate(john,peter)] 

Now for a trick question: how many individuals are there in the domain of the model that this Prolog term represents? The answer is four. If you thought the answer was three-because only John, Peter and Anna are explicitly mentioned-you haven't properly grasped the role played by the constants listed in the vocabulary. In any exact model of this vocabulary there is the individual corresponding to the constant .

Again: Negative facts are implicit

As it happens, in this particular model no positive facts are listed about -but lots of negative facts about Mary are implicitly given. For example:

Summing Up.

In short, be careful. The listing of constants in the vocabulary plays an important role for us: it tells us exactly how many (and in a way also which) individuals there are in an exact model of that vocabulary. For this, it doesn't matter if anything positive is mentioned about each of them or not.

In Exercise 2.1 you can test if you understand how our way of representing models works. Exercise 2.6 asks you to implement well-formedness checks for representations of models.


Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)