Is subclassing "strict order" or is it reflexive? RE: [sc34wg3] New SAM PSIs
Tue, 18 Feb 2003 17:02:06 +0000
[I've differentiated parenthetical/perhaps-orthogonal statements
by square brackets. I could have edited them out, but this thread
is so long anyway that only those really interested could be
reading at this point; they might add some understanding of my
argument, since some of the things I've written have been
Martin Bryan wrote:
> I'd always understood that, as Murray quoted:
>> Peirce notes that the
>> class relation "does not contain any individuals at all. It
>> only contains general conditions which _permit_ the determination
>> of individuals."
> though I would paraphrase it to state "classes define the set of properties
> that can be used to determine whether or not a particular instance may
> legitimately be added to the 'set of instances of members of the class'."
This isn't Peirce's point. He was making a different and more
important point, i.e., that class definitions permit the ability
to differentiate individuals, which is a necessary condition for
set definition. If you can't differentiate individuals, you can't
define a set. [At least this seems to be a predominant argument in
set theory, with many arguments over infinite sets, eg., the
set of real numbers between 0 and 1, etc.] This issue is also true
of classes-as-sets, in the sense that if you can't differentiate two
classes -- can't determine if they are distinct -- you can't
determine relations between them. Interestingly, you can define
a class without being able to differentiate individual members
(eg., the set of all alien beings). You can create a class for
anything you can name. Nominalists would say it's the same thing.
[This is not to say that differentiation of individuals is a
necessary condition for the existence of a set, just as we may
not be able to get inside the glass bubble to count the gumballs
in a vending machine, but we do know that the gumballs are
differentiatable by them each having a specific spatio-temporal
extent, a location in time and space. So there is both a set of
gumballs, and a class of "gumballs within the glass sphere" but
absent our ability to differentiate them (by handling them) we
can't compose sets except by intension, or make class statements
such as "all red gumballs". I consider these as different things.]
[Your example is also not rigorous enough, as it's missing a domain
or "universe" of discourse (what I prefer to call a "context", and
what may be supported in TM by scope), and secondly, you've essentially
defined a class when you *say* "set of properties", so the problems
of proper names and class definition remain. Peirce's Firstness,
Secondness, and Thirdness are an attempt to bridge the conundrum.
In practice, of course, this is how people typically define classes,
but I think this is at their peril. I've been coming around to the
realization that Peirce was probably correct, and that the form of
logic used in KR/ontological engineering is deficient, and that the
approach to ontology in OWL is going to have these same problems;
(though that's obviously a different discussion entirely).]
> But then we come to the claim:
>>>- Sets equality A = B can be proven either by extension, checking "one
>>>by one" that any element of A belongs to B, and vice-versa, or by
>>>proving the equivalence of characteristic properties.
> But can't we check class equality by checking that the set of properties
> needed to identify x as an A is the same set of properties needed to
> identify x as a B? What happens if the set of properties needed to identify
> x as a C is a subset of the set of properties needed to identify x as either
> a B or an A? Is C a "subclass" of A and B, and are both B and A valid
> superclasses of C? It was questions such as these I was hoping you would get
"set of properties" is here a euphemism for "class definition". I'm not
clear what question you're asking, since the statements at their face
seem correct and logical. If you consider that the existence of "x" in
this argument is not necessary (and irrelevant to the discussion of class
definition), then this devolves to some simple logical statements.
While this may seem to belabour the point, it may be a good idea to
delineate our statements/assumptions:
I. some class definitions and their designations:
"set of properties to identify a member of 'A'" is called "A"
"set of properties to identify a member of 'B'" is called "B"
"set of properties to identify a member of 'C'" is called "C"
I realize this seems a bit strange, but you chose to define a
class by the set of properties required for membership in the
set, and I'm merely naming that. We assume we are able to
differentiate an individual in order to assign it to a set,
"A1" = "A2"
is a tautology if "A1" and "A2" are synonyms.
II. some class relations:
C is a subclass of A
A is a superclass of C
C is a subclass of B
B is a superclass of C
III. some set designations:
"x" is an identifier for a set
"y" is an identifier for a set
"z" is an identifier for a set
IV. statement about some sets:
x is a set of class A
y is a set of class B
z is a set of class C
Some people want to make statements about either "A", "B", or "C":
there is some relation between class name "A" and class name "B"
or statements about A, B and C:
there is some relation between class A and class B
on x, y, and z:
there is some relation between set x and set y
or on members of the sets x, y, or z:
there is some relation between the members of set x and
the members of set y
It's only when one makes a mistake between these types of statements
that a problem arises, which is where the nominalist-realist argument
arises I believe. So rather than saying
if designation "A" and designation "B" have the same referent class,
"A" and "B" are alternate designations for the same class
(merely a tautological relation), some are mistakenly saying
if class A and class B have the same set of members (i.e., the same
extension), A and B are the same class
This is the "superclass-subclass loop" mistake, and it's dangerous
simply because it's not rigorous: there are demonstrably instances
of sets whose members have the same extension, but whose classes
are not the same.
[Eg., at some point, say at 13 Feb 2003 3:15am, all people in London
Euston railway station may all be men (i.e.,. no women, rats or other
forms of life are present), and one might "correctly" state within
some class definitions:
"the class of 'man' (i.e., male human)" is called "A"
"the set of people in London Euston at 13 Feb 2003 3:15am" is called "B"
and the sets belonging to these classes may have the same extension
but obviously different class definitions. I have a gut-level difficulty
with class definitions of the latter type, which (A) defines a class by
its membership, (B) uses a spatio-temporal constraint in its definition
rather than considering this as a context (forcing a diadic relation
rather than a triadic relation). Again, I think this type of error will
regrettably be commonplace in practice.]
> The problem is that many subsets of properties are shared. In such cases is
> the differentiators that are more important than the shared properties.
Agreed. This is a corollary to both the notion of the context in which
a relation is stated, and Peirce's point I noted above about the
distinction of individuals.
> Let me try to give a simplified example, similar to the simple ones give
> Pet mammals: Properties: legs=4, ears=2, eyes=2
> Dogs: Properties: legs=4, ears=2, eyes=2, sound emitted = bark ....
> Cats: Properties: legs=4, ears=2, eyes=2, sound emitted = meow ....
> Cow: Properties: legs=4, ears=2, eyes=2, sound emitted = moo ...
> Now the three-legged one-eared furry ball that has just gone past my window
> would not fit into any of these classes. The fact that he meowed as he went
> past is theoretically irrelevant. The fact that he eats dog-food as readily
> as cat food does not differentiate him any more than the fact he was in the
> same field as the cow. Is the cow really a pet mammal? What exactly
> determines whether or not one of the instances of animal types is also an
> instance of pet mammals?
Your anecdotal example is well outside of the context of your class
definitions, which seemed to be for ideal, or prototypical animals, but
do hint again at the *real* problem in ontological engineering context.
[There's a number of ontological committments you've made that are suspect:
your class definition of "pet mammals" conflates anatomy with an
animal's status as a "pet"; your example uses sound, using an English
onomatopoeic word for one of the potential sounds an animal is known to
make, ignoring that there's no standards for this especially as one steps
outside English norms -- eg., in Czech a dog "huff huffs" -- or the
ability of some animals to mimic others, eg., a parrot can "meow";
your example uses food as a differentiating factor despite it not being
part of the class definition; defines cow as a potential pet (which is
quite correct if you are defining an ontology of your own feelings about
cows-as-pets -- I have a cousin that has lived her whole life with that
notion -- but most people wouldn't agree), etc. and yes, I realize your
point is the same as mine here...
Just taking your example further, we might note that these types of
problems are probably more common than not. As I've noted previously,
if Tim Berners-Lee, James Hendler and Ora Lassila make these types of
mistakes in Scientific American, just think how the average Joe or
Jane ontologist is going to fare...]
>>>- Classes are not defined in extension. That is where the notion
>>>introduced by OWL of "enumerated classes" (owl:oneOf) is quite strange,
>>>I agree. Classes definition is intensional. But instantiation of a class
>>>in a given context can define a set.
> I am not sure this is true. The definition of oneOf is "the means to define
> a class via direct enumeration of its members". To me this says that "if
> property x of instance y has oneOf the values specified for the class then
> it is a member of the class, otherwise it isn't". Surely this is not
> definition by extension but definition by example. You don't define the
> members of the class, only the property values that must be exhibited by
> members of the class.
Actually, owl:oneOf is by definition defining a set by its enumeration.
There is no other class definition. I would define (in this context)
enumeration as simply the serialization of a set's extension, if that's
truly any different at all (other than grammatically).
Note that I didn't use the word "class" because this is not a class;
it's merely a set. A class requires a class definition. If one said,
"the class of members of set A" you'd have named it, which could then
perhaps be considered as a class definition, but this is really weak.
The statement "the set of gumballs in the jar" is different than "the
class of gumballs in the jar" in that the former is a statement about
the actual individual gumballs as a collective entity, the latter
about a definition of a set of gumballs based on their spatio-temporal
location, IOW, the former a set, the latter a class since it includes
a "set of properties" (as you call it) defining its membership. If I
put in a nickel and a gumball were removed from the globe, the set
would decrease in size by one; the class definition is independent
of the extant set's membership.
>>I believe OWL should revisit the issue and simply rename
>>their conundrum as a "superset-subset loop". The current
>>text doesn't make sense.
> Where is this OWL specifications? As OWL only defines class and
> subclass I cannot see how this loop can be created within OWL.
My understanding is that Pat Hayes brought up the issue during
the OWL discussions to clarify if they meant that owl:subclassOf
meant a "proper subclass":
[noting that there was some "chorus of dismay" over the issue
there; I'm not sure if this is because some people consider or
don't consider "subclassOf" as "proper subclass". I don't buy
either the argument of RDF's or Java programming's definition
of class being used to support a logically incoherent stance,
if I understand their decision correctly.]
Since I brought this question up as a reaction to the note in
the SAM re: superclass-subclass loops, we only need resolve it
as regards the SAM, not OWL. If OWL is wrong in some way, it's
not up to us to fix it, just inform the editors of our opinion
if someone thinks that's appropriate. My opinion on this is that
the question is itself wrong: the concept of a "proper subclass"
is mistaken, that only "proper subset" makes sense: if class A
and class B are distinct, then A cannot be a subclass of B. If
they are not distinct, then "A" and "B" (note the quotes) are
simply synonyms. We're not talking about set extension, but class
definition. IOW, superset-subset loops exist, but superclass-
subclass loops do not.
Murray Altheim <http://kmi.open.ac.uk/people/murray/>
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.