Is subclassing "strict order" or is it reflexive? RE: [sc34wg3] New SAM PSIs

Murray Altheim
Fri, 14 Feb 2003 18:33:58 +0000

[Bernard thinks we've carried this on too far on this list, so this
is my last public message on the subject. I wouldn't belabour this
except that if I'm right I'm pointing out a fundamental and common
problem in applications of logic which seems to have surfaced here.]

[also, I'd like another round of editing but have to go home now,
so I'll send and see what you guys say. I've already looked over it
a few times...]

Lars Marius Garshol wrote:
 > * Murray Altheim
 > |
 > | On the one hand, and the error I think OWL is making, is that it
 > | seems to be talking about *members* of sets. So, if we have a set A
 > | and a set B whose members are all the same, they are identical sets.
 > | Eg., if we have 100 hominids and 100 primates, and they are the same
 > | 100 individuals, we can consider the two sets identical. We cannot,
 > | and I repeat, cannot, necessarily therefore consider the classes of
 > | primates and hominids as identical. They are not.
 > Murray, this is precisely what I tried to explain in
 >   <URL: >
 > The classes are not identical because they may have different
 > intensions, even though their extensions are the same.

Yes, I read that and understand the distinction.

 > | A type hierarchy or taxonomy is strictly talking about the
 > | relationships between types or classes, not their instances. This is
 > | the point about extension and intension that Lars Marius brought up.
 > Extension == set of all instances. So you may have misunderstood me.

No, I just think it's irrelevant to the discussion. You said that
"two classes are in the same superclass/subclass loop if they share
the same extension", which means nothing in terms of the two class
definitions. There are at least two errors in this approach to
classifying individuals, one I attempted to explain in my last
message (which has to do with mixing up classes and instances, as
when I wrote "The error here is that a type hierarchy is a higher order
relation not between the individual classes, but between classes of

The second, which I think will likely be endemic to the Semantic
Web since it seems already present in its it prime specification,
seems to be a lack of concern over relation context. If we were to
look at an example which I think typifies this fuzziness, perhaps
you'd see my point.

Eg., "a group of people standing in a railway station" may be the
same group of individuals as "all people from Chicago named Chris"
but their class definitions are quite different. If by "superclass/
subclass loop" one means "two sets containing the same members" this
has absolutely nothing to do with superclass-subclass relations, which
is the relationship between classes, not its members.

There is no necessary transitivity, for example, between the members
(though there *could* be, which is different). Using my example,

      A is the class defined by "people in the railway station"
      B is the class defined by "people named Chris"

if we were to say that

      C is the class defined by "people whose gender is male"

then we could claim that both A and B were subsets of C, but we
could not say that A and B were subclasses of C, *unless* one were
to ignore contexts (what I've also called domains). In this example,
classes are defined by Location (A), by Name (B), and by Gender (C),
yet I easily imagine someone simply ignoring that. Superclass and
subclass definitions are only transitive when the definitions are
within the same domain and make sense (i.e., when applying
mathematics to the real world, one must define a domain of discourse,
and if one does a poor job of defining that domain of discourse,
one's reasoning will likewise be poor, i.e., erroneous).

So in this example, it's conceivable that somebody might say that
B and C share a "superclass/subclass loop" because the individuals
in each of those sets overlap completely, but this does *not*
say that B and C are superclasses or subclasses of each other,
or indeed that the class definitions have any overlap whatsoever
other than that they share a set of instances (they share extensions).
"People named Chris" is not a superclass or subclass of "Male People",
but individuals of the class "people named Chris" certain might
be members of the class "Male People".

 > | This may be interpreted one of two ways. First, as a relationship
 > | between sets of individuals, secondly as essentially an argument
 > | about differences in labels, saying, for example, that "primate" in
 > | English and "primas" in German refer to the same class, or that two
 > | different labels for a specific star refer to the same star; we're
 > | not actually talking about a *difference* in classes, merely their
 > | labels, that within one context or domain a difference in label is
 > | not a difference in actual class, i.e., it does not constitute a
 > | different class but merely a different label for the same class.
 > I think you're missing the point about intensions. The intension is
 > not the label of the class, but something along the lines of the
 > definition of what the class is.

Intensionality is related to Peirce's concept of Thirdness, which
goes from Firstness (the form), to Secondness (the effect), to
Thirdness (intension or motive).

Intensionality extends classification beyond simple definition to
include the intension or subjective (i.e., human) perception of a
perceiving agent (i.e., human). This is where two people can look
at the same thing and see two different things, heading straight
into the muddy waters of phenomenology and epistemology. It's also
where we depart from simple FOL and set theory into the easy
possibility of mistakes, as Sowa remarks in "Conceptual Structures"
(on p.82):

    "Many people confuse types and sets. Yet there is a fundamental
     difference. Statements about types are _analytic_; they must be
     true by intension. Statements about sets are _synthetic_; they
     are verified by observing the extensions. To say that the
     intersection of the set δCAT with the set δDOG is empty simply
     means that at the moment no individual happens to be both a dog
     and a cat. A biologist might examine litters of puppies and
     kittens looking for an exception. But to say that DOG ∩ CAT = ⊥
     means that it is logically impossible for an entity to be both a
     dog and a cat. Any mutant that might arise could not falsify the
     statement; it would just force the biologist to invent a new type."

This makes my case about as best as I can. To say that some kind
of "loop" could exist between the classes of dogs and cats is to
my mind goofy. It's impossible according to the definitions of
superclasses and subclasses for a class to exist both above and
below itself in the type hierarchy, unless one steps outside of a
domain (IOW, has erroneous and out-of-domain class definitions).

 > | Even if there is some mathematically-logical sense within which this
 > | is true, which I think I've demonstrated is not the case (unless
 > | we're talking about the relationships between classes of individuals
 > | and *not* the relationships between classes (ie., taxonomy), I still
 > | think this decision would be a mistake, since such "subtleties" are
 > | likely lost on 99% of the buying public (ie., developers and
 > | implementors).
 > Note that all we are saying is that it is allowed to do this. We're
 > not saying people have to do this, or even think about it. We're just
 > being clear that implementations are supposed to not detect this and
 > flag it as an error. (Though I imagine TMCL schemas might allow you to
 > disallow this in your own applications.)

I can't believe somebody is arguing for the inclusion of illogic
in a system designed to follow logic at its intersection with
humanity -- the "semantic" web should be at its base logical.

 > | Based solely on the "principle of least surprise" I believe most
 > | people would intuitively disbelieve that a class can simultaneously
 > | have both a superclass and a subclass relationship to another class,
 > | [...]
 > I had the same reaction, and I've seen it in lots of people when
 > discussing this with them, but so what, really? Who do you think will
 > be upset by this in practice? How is it going to harm anyone?

Upset by it? If we're going to develop systems that muck up class
distinctions, distinctions between classes and instances, or between
sets and their members, I'd rather not be responsible for the
consequences. This was precisely my problem with the language of
the Scientific American article on the Semantic Web that proudly
stated (on page 38) that it was going to find a person on the web.
Nobody exists on the web, only information about people. These
kinds of distinctions are important and I'm saddened to think people
don't think so.


Murray Altheim                  <>
Knowledge Media Institute
The Open University, Milton Keynes, Bucks, MK7 6AA, UK

      "In Las Vegas Mr Gates also demonstrated a prototype
       fridge magnet which can be programmed to receive traffic
       reports, sports results and advertisements from local
       restaurants using the same FM signal as the wristwatch."
                                   -- The Guardian, 10 Jan 2003.