6.1 Type hierarchies

Types can be organized in type hierarchies. Type hierarchies are networks of types (called 'lattices') where the types are ordered by a partial order. This partial order is called the "subtype relation", and is symbolized by "≤". For example, "A ≤ B" means that the type A is a subtype of the type B. For example, "Bird ≤ Animal" means "Bird is a subtype of Animal".

Example in graphical form

An example of a type hierarchy could be as follows:



"Example of type-hierarchy"

The lattice-notation is to be read as follows:

  • Each node in the graph (e.g., Elephant) is a type.
  • Types higher in the lattice are supertypes of those below them.
  • Each line means a "subtype relation". For example, since HumanBeing is connected with Person, and since HumanBeing is lower down than Person, HumanBeing is a subtype of Person. Put another way, Person is a supertype of HumanBeing.
  • The Absurdity element, being the lowest element, is seen to be a subtype of everything else. Likewise, the Entity element, being the highest element, is seen to be a supertype of everything else.

Example in linear form (Prolog+CG form)

As already noted, in Module II of this course, we will be studying a system called Prolog+CG. This system has a mechanism for specifying a type hierarchy in linear form. The above could be written as follows in Prolog+CG:

Entity > Living, NonLiving.
Living > Person, Animal.
Person > god, HumanBeing.
Animal > Bird, Fish, Mammal.
Mammal > Elephant.


Prev: 6 Core ontological ideas
Up: 6 Core ontological ideas
Next: 6.2 Subtype relation