SUO: Re: Knowing that something is a class
Hi Ian,
I'm still thinking about this.
It brings to mind the situation in Smalltalk.
I think there was a little magic performed with respect to the top of
the object class hierarchy and with respect to classes as objects--
In "Smalltalk-80 The Language" by Goldberg and Robson
there's chapter on Metaclasses.
"Since all Smalltalk-80 system components are represented by objects and
all objects are instances of a class,
the classes themselves must be representd by instances of a class.
A class whose instances are themselves classes is called a metaclass.
...
.....
In earlier versions of the Smalltalk system,
there was only one metaclass, named Class.....
<snip discussion and figure>...
...
This approach had the difficulty that ....
...
THe Smalltalk-80 system removes the restriction that all classes have
the
same message protcol by making each class an instance of its own
metaclass.
...
Metaclasses are similar to other classes because they contain
the methods used by their instances.
Metaclasses are diffrent form other classes because
they are not themselves instances of metaclasses.
Instead, they are all instances of a class called Metaclass.
Also, metaclasses do not have class names. ......."
-Fred
Ian Niles wrote:
>
> Hi Fred,
>
> I think the general import of your message is that it's very
> difficult to find a place for the concept of 'Class' in an upper-level
> ontology. It's most natural to make it a subclass and/or instance of
> 'Abstract', as I did in the merged ontology. However, this is problematic,
> since every concept in the ontology is a class and, hence, both an instance
> and a subclass of 'Class'. Any suggestions you might have about how to
> resolve this problem would be very welcome. See more detailed comments
> below.
>
> Thanks,
> Ian
>
> > -----Original Message-----
> > From: Frederick N. Chase [mailto:fnc@mitre.org]
> > Sent: Wednesday, February 28, 2001 8:23 AM
> > To: Ian Niles
> > Subject: Knowing that something is a class
> >
> >
> > Dear Ian,
> >
> >
> > In the merged ontology,
> > I can infer that Abstract is a class, from:
> >
> > ;; Abstract is a class (is an instance of Class).
> >
> > (instance-of Abstract Class)
>
> You're right that this is in the merged ontology, but I wonder if we should
> replace it with a general rule, since every concept in the ontology is a
> class and, hence, an instance of 'Class'.
>
> >
> >
> >
> > But I don't think I can infer that, e.g.,
> > Physical is a class (is an instance of Class).
> >
>
> Right, parity is lacking here, so maybe we need a general rule that would
> allow us to infer that all nodes of the ontology are instances of 'Class'.
>
> >
> > Perhaps we should also have something like:
> >
> > ;; Entity is a class.
> >
> >
> > (=>
> > (instance-of Entity Class))
>
> Right, this would follow from the general rule as well.
>
> >
> >
> > ;; Every subclass is a class.
>
> This actually follows from a definition of 'subclass-of' which I've
> formulated and which I'll propose adding to the "Structural Ontology"
> section of the merged ontology:
>
> (instance-of subclass-of TransitiveRelation)
> (nth-domain subclass-of 1 Class)
> (nth-domain subclass-of 2 Class)
> (documentation subclass-of "Class C is a subclass of parent class P if and
> only if every instance of C is also an instance of P. A class may
> have multiple superclasses and subclasses. Subclass-of is transitive:
> if (subclass-of C1 C2) and (subclass-of C2 C3) then (subclass-of C1 C3).")
>
Ian, I don't believe what I wrote, below, follows from what you write,
above.
What you write (above) makes a conclusion about something being
subclass-of.
What I wrote (below) makes a conclusion about something being
instance-of.
Is there any reason we can't add the below as a theorem or axiom of the
Merged Ontology?
(And also add (=> (instance-of Entity Class)) as a theorem or axiom?)
-Fred
> >
> > (=>
> > (and
> > (instance-of ?x Class)
> > (subclass-of ?s ?x))
> > (instance-of ?s Class))
> >
> >
> >
> > (This is the first SUO-KIF I've written, so ...)
> >
> >
> > Regards,
> >
> > -Fred
> >
> >
> >