3.1.4 Universal and Absurd

Example

Consider again the following example:

Adult > Woman, Man.
Young > Girl, Boy.
Female > Woman, Girl.
Male > Man, Boy.

Built-in Absurd element

It will be noticed that there is no "Absurdity" element. This could be represented, but this is not normally done.

The reason it is not normally done is that Prolog+CG implicitly adds a built-in type called "Absurd" as a subtype of every leaf node.

Built-in Universal element

It will also be noticed that, in this example, there is no single common supertype, such as "Entity", to gather "Male", "Female", etc.

This is allowed, since Prolog+CG always implicitly adds the built-in supertype called "Universal" as the sole supertype of the top-most elements.

This is true even if you add a top-most element yourself, such as "Entity". In such cases, "Entity" will have a supertype, namely "Universal".

You can use Universal

You can let types be subtypes of Universal:

Universal > Male, Female, Young, Adult.
Adult > Woman, Man.
Young > Girl, Boy.
Female > Woman, Girl.
Male > Man, Boy.

The reason we don't do it in most of the examples is that "Entity" is the preferred terminology in this course, as it is in Sowa's book from 2000 (see the references).

Next

The names of types must follow certain rules. Next, we look at these.


PrevLite: 3.1.3 Multiple inheritance
NextLite: 3.1.5 Identifiers

Prev: 3.1.3 Multiple inheritance
Up: 3.1 Concept types and type-hierarchies in Prolog+CG
Next: 3.1.5 Identifiers