Various themes have emerged from this discussion, and I'll
try to sort them out: (01)
1. The fundamental distinction which many of us have
emphasized for years is between _intension_ and
_extension_. To avoid prejudging the choice of
technical terms, I'll use the example of Rabbit vs.
Peter or Thumper. The intension of 'Rabbit' is
determined by some definition that is independent of
any actual rabbits, real or fictional. The extension
of "Rabbit" at a particular point in time consists
of all the rabbits that happen to exist at that time. (02)
2. The word 'set', as used in all versions of set theory
for over a century, refers to the extension. Since
rabbits are notoriously prolific, the set of rabbits
at the instant you're reading this sentence is very
different from the set at the instant I wrote it.
The fact that sets are constantly being replaced by
new ones means that sets are not suitable for defining
any "meaning" that is supposed to remain constant. (03)
3. Aristotle introduced the word 'kategoria' as his term
for the intension, and that word was translated to Latin
as 'praedicatum'. From those, we get the English words
'category' and 'predicate'. The latter term has become
popular for the symbols used in _predicate calculus_, and
I would say that the defining rule for a predicate is
sufficiently stable to be used as the basis for drawing
a clear distinction between intensions and extensions: (04)
- The intension of 'Rabbit' would be determined by the
definition of a monadic predicate rabbit(x). (05)
- The extension of 'Rabbit' at time t would be the set
of all x at time t for which rabbit(x) is true. (06)
4. If we wanted to be traditional, we could use the four-
syllable word 'category'. Otherwise, we could adopt
a one-syllable word, of which the two main contenders
seem to be 'type' and 'class'. The word 'set' is not
a contender because all technical uses are extensional. (07)
5. The word 'type' has a long history of use as a technical
term whose meaning was very close to its use as a common
English word. Unfortunately, Bertrand Russell gave it a
very narrow sense in logic, which caused many logicians
to introduce the word 'sort' with a slightly different
technical sense. Meanwhile computer language designers
adopted the word 'type' for the kinds of data structures
used in their systems. All these uses fall within the
scope of the informal senses of the word 'type', and it
seems possible to adopt 'type' as a generalization that
would include all the technical senses and most, if not
all of the common senses. (08)
6. In another unfortunate twist, the object-oriented group
adopted the word 'class' to distinguish their thingies,
which have associated procedures called 'methods', from
the more static data types of the older languages. More
recently the Semantic Webbers adopted 'class' for the
thingies used in OWL, but as Chris, Michael, and others
have pointed out, OWL also uses the word 'type', and
all of its definitions are very confused and confusing. (09)
7. Meanwhile, the word 'class' has long been used as a
synonym for 'set' in some versions of set/class theory.
In other versions of set theory, a class is something
that is just as extensional as a set, but too "big"
to be a proper set. (010)
The major argument for using the word 'class' is that it has
been adopted by the Semantic Web movement, which currently
has a great deal of momentum. But one could also say that
the Semantic Web has also adopted the word 'type' in a way
that seems to be very closely linked to the word 'class'. (011)
Summary, I strongly believe that the word 'class' is the
*worst* possible choice to represent the intensional side
of the distinction between intensions and extensions: (012)
1. Logicians use the word 'class' in the same extensional
sense as the word 'set'. (013)
2. Object-oriented programmers use the word 'class' as
something that has associated procedures, and that
is definitely *not* a meaning we want to suggest. (014)
3. The OWL group uses both 'class' and 'type' in ways that
are related, but it seems safe to say that there is
probably nobody in the OWL community who could give
a clear argument for any distinction between them. (015)
In short, the distinction between intension and extension
is fundamental to ontology, and it *must* be highlighted.
The word 'class' would hopelessly confuse the issue. (016)
John Sowa (017)
_________________________________________________________________
Message Archives: http://colab.cim3.net/forum/ontac-forum/
To Post: mailto:ontac-forum@xxxxxxxxxxxxxx
Subscribe/Unsubscribe/Config:
http://colab.cim3.net/mailman/listinfo/ontac-forum/
Shared Files: http://colab.cim3.net/file/work/SICoP/ontac/
Community Wiki:
http://colab.cim3.net/cgi-bin/wiki.pl?SICoP/OntologyTaxonomyCoordinatingWG (018)
|