Dear Matthew, Chris, and Nicola,
MW
> One of the problems with primitives is that if
you are developing
> an ontology, then it is quite likely that
entities that start out
> primitive may acquire a complete definition over
time.
Yes, indeed. That is also a problem with URIs that
are supposed to
point to unique definitions. When you import such a
definition into
a context A that contains a lot of other axioms and
definitions, the
simple imported terms will be used in more specialized
ways.
Then if somebody else imports the same term into a
different context B
with different axioms (or procedures), it will be used
in a different
specialization.
So far, so good. But a problem arises when systems A
and B exchange
messages that use only the "common" vocabulary defined
by the shared
URIs. They may use the same terms, but their
specialized "senses"
of the terms may be inconsistent.
CM
> It is impossible to define addition in terms of
zero and successor.
> The reason for this, in a nutshell, is that the
addition symbol is
> not eliminable; given the axioms for addition
along with the axioms
> for zero and successor, you can "say" things that
you cannot say
> in terms of the axioms for zero and successor
alone...
Yes. In general, a "closed form" definition can be
eliminated.
For example,
f(x) = 3x^2 + 5x - 17
You can replace any occurrence of f(y) by replacing x
with y in the
defining _expression_. But you can't do that for
functions that are
directly or indirectly defined by recursion. That is
true of most
terms in any realistic ontology.
You can adopt a language that prohibits recursion, but
that doesn't
solve the problem. It just makes it impossible to
state the full
definition of your critical terms.
Basic contradiction: You can't have a practical
system with completely
specified URIs and a restricted language to define
them.
NG
> This is the reason why lightweight ontologies
work very well as long as
> their terms are simple and understood by
everybody. When we have very
> general, highly ambiguous terms, or technical
terms whose meaning is
> not understood by everybody, then the importance
of a clear semantic
> characterization (i.e., an axiomatic ontology)
increases.
Yes, indeed. And as in the examples by Chris, those
axioms will be
explicitly or implicitly recursive.
The net result (Horror of Horrors!) is that your
ontology language
will be undecidable. But as anybody who has worked
with any practical
application knows, people have learned how to use
undecidable languages
in practical ways for real-world applications. In
fact, decidable
languages are *never* used in practical applications
without having
undecidable supplementary languages to do all the
"heavy lifting".
John
_________________________________________________________________
Message Archives:
http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr:
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:
ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files:
http://ontolog.cim3.net/file/
Community Wiki:
http://ontolog.cim3.net/wiki/
To join:
http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
_________________________________________________________________
Message Archives:
http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr:
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:
ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files:
http://ontolog.cim3.net/file/
Community Wiki:
http://ontolog.cim3.net/wiki/
To join:
http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J