Re: SUO: Re: Knowing that something is a class
Fred, Ian-
On the problems of class being a class, and so on, and the apparent
need for the circularity at the top.
This is closely connected with a rather tricky technical issue in the
semantics of the new KIF, which arises from the fact that it is legal
(in the new KIF) to say that a predicate is true of itself. We argued
about this for a while, but it seems clear that the language can be
given a uniform, consistent semantics which allow unlimited
self-application of classes, predicates, relations or sorts. The
basic technique for doing this was provided by Chris Menzel.
Hopefully we will have this written up fairly soon; but in the
meantime, relax. It is OK to say that a class is a subclass of itself.
There are several ways to relax, depending on your philosophical
propensities. (None of these change the formal language: they are
just alternative ways to think about what it means.) One way is to
think of a 'class' as not actually *being* a set, but as having an
associated set called its extension. Another, related, way is to
think of the class name as being a kind of label for the class
extension (something like a Smalltalk metaclass, perhaps?), so that
putting a class into itself means putting its label in there. If you
find that uncomfortable, another way to relax is to say that classes
are sets, and just assume that some sets can contain themselves as
members (the resulting set theory was inspired by ideas from process
descriptions in computer science and formalized by Aczel in 1988; it
works.) If you find all of these uncomfortable, you really shouldn't
say that classes are inside themselves; and if you refrain from
doing that then the language has a conventional extensional
interpretation in ordinary ZF set theory.
Pat Hayes
---------------------------------------------------------------------
IHMC (850)434 8903 home
40 South Alcaniz St. (850)202 4416 office
Pensacola, FL 32501 (850)202 4440 fax
phayes@ai.uwf.edu
http://www.coginst.uwf.edu/~phayes