Concerning the meaning of Primitives in a Foundation Ontology: (01)
John Sowa said:
[JFS] > " My objection to using 'primitives' as a foundation is that the
meaning of a primitive changes with each theory in which it occurs.
For example, the term 'point' is a 'primitive' in Euclidean geometry and
various non-Euclidean geometries. But the meaning of the term 'point' is
specified by axioms that are different in each of those theories."
(and in another note):
[JFS] >> As soon as you add more axioms to a theory, the "meaning" of the
>> so-called "primitives" changes. (02)
Pat Hayes has said something similar but more emphatic: (03)
[PH] > "Each theory nails down ONE set of concepts. And they are ALL
'primitive' in that theory, and they are not primitive or non- primitive in
any other theory, because they aren't in any other theory AT ALL." (04)
Given these two interpretations of "primitive" in a **mathematical** theory,
it seems that the "meanings" of terms (including primitive terms) in a
mathematical theory have little resemblance to the meanings of terms in a
computational ontology that is intended to serve some useful purpose,
because the meanings of the terms in the ontology do not depend solely on
the total sum of all the inferences derivable from the logic, but on the
**intended meanings**, which do or at least should control the way the
elements are used in applications - and the way the terms are used in
applications is the ultimate arbiter of their meanings. The intended
meanings can be understood by human programmers not only from the relations
on the ontology elements, but also from the linguistic documentation, which
may reiterate in less formal terms the direct assertions on each element,
but may also include additional clarification and examples of included or
excluded instances. It seems quite clear to me that it is a mistake to
assume that the interpretation of "meaning" or "primitive" in a mathematical
theorem is the same as the way that "meaning" and "primitive" are used in
practical computational ontologies. (05)
This discussion was prompted by my assertion that the meanings of terms in
a Foundation ontology, including terms representing primitive elements,
should be as stable as possible so that the FO can be relied on to produce
accurate translations among the domain ontologies that use the FO as its
standard of meaning. Given the agreement by JS and PH that each change to
an ontology constitutes a different theory, and the meanings of terms in any
one theory are independent of the meanings in any different theory, I
believe that we need to look for a meanings of "meaning" and "primitive"
that is not conflated with the mathematical senses of those words as
expressed by JS and PH. (06)
I suggested that a useful part of the interpretation of "meaning" for
practical ontologies would include the "Procedural Semantics" of Woods.
John Sowa replied (Feb. 13, 2010) that:
[JFS]> " In short, procedural semantics in WW's definition is exactly what
any programmer does in mapping a formal specification into a program." (07)
I agree that computer programmers interpret meanings of ontology elements
using their internal understanding as a wetware implementation of
"procedural semantics". This does not exhaust the matter, though, because
computers now can perform some grounding by interaction with the world
independent of computer programmers in this sense: though their procedures
may be specified by programmers, those procedures can include functions that
themselves perform some of the "procedural semantics" processes, and the
computers therefore are not entirely dependent on the semantic
interpretations of programmers, at least in theory. For the present there
are probably few programs that have the capability of independently
determining the intended meanings of the terms in the ontology, but that is
likely to change, though we don't know how fast. I will provide one example
of how this can happen: an ontologist may assert that the type "Book"
includes some real-world instance such as the "Book of Kells" (an
illuminated Irish manuscript from the middle ages, kept at a library in
Dublin). With an internet connection, the program could (in theory) check
the internet for information about that instance, and to the extent that the
computer can interpret text and images, perform its own test to determine if
the Book of Kells actually fits the logical specification in the Ontology.
The same can be done for instances of any type that are likely to be
discussed on the internet. (08)
So, if we want the meanings of terms in an ontology to remain stable, and
**don't** want the meanings to change any time some remotely related type
appears in a new axiom, what can we do? Perhaps we can require that the
meanings across *different* versions of the FO can only be relied on to
produce *exactly* the same inferences if the chain of inferences is kept to
some small number, say 5 or 6 links (except for those elements inferentially
close to the changed elements, which can be identified in the FO version
documentation, and whose meanings in this sense may change). This is not,
IMHO, an onerous condition for several reasons:
(1) no added axiom will be accepted if it produces a logical inconsistency
in the FO;
(2) the programmers whose understanding determines how the elements are used
will not in general look beyond a few logical links for their own
interpretation, so only elements very closely linked to the one changed by
new axioms will be used differently in programs.
(3) as long as the same version of the FO is used, the inferences for the
same data should be identical regardless of the number of links in the chain
of inference;
(4) if there are only a few axioms that change (out of say 10,000) between
two versions of the FO, then the likelihood of getting conflicting results
will be very small for reasonable chains of inference; if the similarity of
two versions of the FO is 99.9% (10 different elements out of 10,000), then
a chain of inference would produce non-identical sets of results on average
for an inference chain 10 long at 0.999(exp 10) = 0.99 (99% of the time) 100
long at 0.999(exp 100)= 0.90, or 90% of the time. But the most important
and useful inferences are likely to be those that arise from short inference
chains, comparable to how humans would use them, and to how programmers
would imagine them being used in logical inference. (09)
The potential for changed inferences as new axioms are added, even though
no changing the intended meanings of the elements of the FO, does argue for
an effort to include as many of the primitive elements as can be identified
at the earliest stages. This is in fact the purpose of performing the
consortium project, to get a common FO thoroughly tested as quickly as
possible, and minimize the need for new axioms. (010)
In these discussions of the principles of an FO and a proposed FO project,
not only has there been no technical objection to the feasibility of an FO
to serve its purpose (just gut skepticism), but there has also been a
notable lack of suggestions for alternative approaches that would achieve
the goal of general accurate semantic interoperability (not just
interoperability in some narrow sphere or within some small group.) I am
quite aware that my discussions do not **prove** that the FO approach would
work, in fact the only way I can conceive of proving it is to perform a test
such as the FO project and see if it does work. But neither has anyone
suggested a means to **prove** that other approaches will work, and this
hasn't stopped other approaches (notably mapping) from being funded. (011)
In fact in my estimate, no other approach has the potential for coming as
close to accurate interoperability as an FO, and no approach other than the
kind of FO project I have suggested can possibly achieve that result as
quickly. (012)
I am grateful for the discussions that have helped sharpen my
understanding of how such a project can be perceived by others, and improved
my understanding of some of the nuances. But after considering these
points, I still think that a project to build and test a common FO is the
best bet for getting to general accurate semantic interoperability as
quickly as possible. (013)
Perhaps future objections could focus on genuine technical problems (not
analogies with human language), and better yet suggest alternatives to
solving the problem at hand: not just *some* level of interoperability, but
accurate interoperability that would let people rely on the inferences drawn
by the computer. If not a common FO, then what? (014)
Pat (015)
Patrick Cassidy
MICRA, Inc.
908-561-3416
cell: 908-565-4053
cassidy@xxxxxxxxx (016)
> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
> bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F. Sowa
> Sent: Saturday, February 13, 2010 12:31 PM
> To: [ontolog-forum]
> Subject: Re: [ontolog-forum] Foundation ontology, CYC, and Mapping
>
> Cory,
>
> I'd like to give some examples that may clarify that issue:
>
> CC> ... foundational concepts are very similar to the "minimally
> > axiomatized micro theories" I remember John-S describing as
> > a workable foundation, yet John does not see primitives
> > as workable - why the difference?
>
> My objection to using "primitives" as a foundation is that the
> meaning of a primitive changes with each theory in which it occurs.
> For example, the term 'point' is a "primitive" in Euclidean geometry
> and various non-Euclidean geometries. But the meaning of the term
> 'point' is specified by axioms that are different in each of those
> theories.
>
> Note that there are two kinds specifications:
>
> 1. Some terms are defined by a *closed form* definition, such as
>
> '3' is defined as '2+1'.
>
> In a closed-form definition, any occurrence of the term on the
> left
> can be replaced by the expression on the right.
>
> 2. But every formal theory has terms that cannot be defined by a
> closed-form definition.
>
> For example, both Euclidean and non-Euclidean geometries use the
> term 'point' without giving a closed-form definition. But calling
> it undefined is misleading because its "meaning" is determined by
> the pattern of relationships in the axioms in which the term occurs.
>
> The axioms specify the "meaning". But the axioms change from one
> theory to another. Therefore, the same term may have different
> meanings in theories with different axioms.
>
> For example, Euclidean and non-Euclidean geometries share the
> same "primitives". The following web site summarizes Euclid's
> five "postulates" (AKA axioms):
>
> http://www.cut-the-knot.org/triangle/pythpar/Fifth.shtml
>
> The first four are true in Euclidean and most non-Euclidean
> geometries. By deleting the fifth postulate, you would get
> a theory of geometry that had exactly the same "primitives",
> but with fewer axioms. That theory would be a generalization
> of the following three:
>
> 1. Euclid specified a geometry in which the sum of the three
> angles of a triangle always sum to exactly 180 degrees.
>
> 2. By changing the fifth postulate, Riemann defined a geometry
> in which the sum is < 180 degrees.
>
> 3. By a different change to the fifth postulate, Lobachevsky
> defined a geometry in which the sum is > 180 degrees.
>
> This gives us a generalization hierarchy of theories. The theories
> are generalized by adding axioms, specialized by deleting axioms,
> and revised by changing axioms (or by deleting some and replacing
> them with others).
>
> I have no objection to using collections of vague words, such as
> WordNet or Longman's, as *guidelines*. But the meanings of those
> words are ultimately determined by the axioms, not by the choice
> of primitives.
>
> Note to RF: Yes, the patterns of words in NL text impose strong
> constraints on the meanings of the words. That is important for
> NLP, but more explicit spec's are important for computer software.
>
> 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
> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> (017)
_________________________________________________________________
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
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (018)
|