A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 





A term in mathematical algebra, as well as graph theory


A lattice is a special kind of graph. Lattices are used in many contexts, but in the study of ontologies, lattices are used to depict type-hierarchies.

Multiple inheritance

Lattices support multiple inheritance. That is, a type can inherit from more than one supertype. This can be exemplified as follows:

Example #1

The following is an example of a lattice:

Example #2

And another example:

Leaf node


A term in lattice theory


A leaf node in a lattice is a node which is lowermost in the tree, right above the Absurdity element.


Consider the following lattice:

The leaf nodes are:

  • Husband
  • Bachelor
  • Wife
  • Bachelorette

because they are lowermost in the lattice, right above the Absurdity element.



A term in structure theory (Prolog).


A list is a structure which is a sequence of items, called elements.

For example, the following list has three elements:


A note on the word "structure" in the definition

Note that the word "structure" is used in this definition in a wider sense than in Prolog, where a structure is something quite specific. Here, the word "structure" is used in a broader sense, which also includes things like sets, graphs, sentence-diagrams, and everything else which has the essential properties of a structure.

A list is ordered

A list is ordered, which means that the order of the sequence matters.

For example, the following two lists are different lists:

  • <Peter, Paul, Mary>
  • <Paul, Mary, Peter>

They are different because, even though the elements are the same, their order is different.

A list may have duplicates

A list may contain the same element more than once. For example, the following list is a perfectly good list:


The syntax does not matter

In the examples above, we have used the notation


It is important to realize that a list is an abstract entity which may have any syntactic realization in symbols. For example, these are all various syntactic representations of the same list:

  • <Peter,Paul,Mary>
  • <Peter;Paul;Mary>
  • |Peter,Paul,Mary|
  • Peter,Paul,Mary
  • Peter;Paul;Mary
  • Peter Paul Mary

The syntax is not important, except it must conform to whatever language we are expressing our lists in (e.g., Prolog+CG).