[Top] [All Lists]

[ontolog-forum] Meaning in ontologies and mathematical theories

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Patrick Cassidy" <pat@xxxxxxxxx>
Date: Fri, 5 Feb 2010 23:58:04 -0500
Message-id: <00bb01caa6e8$f7e146c0$e7a3d440$@com>

PatH has provided some clarification about what he (perhaps the world?) considers as the “meaning” of terms in a mathematical theory.  This is very useful, and it  now seems to me that we can distinguish the meaning of “meaning” in math and in computational ontology (the computer technology).  From this, it appears that the notion of “primitives” as I consider them to be useful in ontologies dealing with real-world entities may have only an analogical  relation (or no relation at all) to the elements used in mathematical theories.  I have often (when trying to be careful) used the term “intended meaning” to emphasize that the “meaning” of an ontology term should be what the ontologist intended it to be (unless s/he made a logical error -  which should be detectable by testing).  To reiterate PatH’s comment:


Concerning the distinction between ontology primitives and non-primitives:


>>> [JS] >

>>> What I was trying to say is that terms specified by imagery are

>>> family resemblance terms that cannot be defined by necessary and

>>> sufficient conditions.

>> [PC] Agreed - they cannot be defined by necessary and sufficient

>> conditions, and I have never said and have tried hard to avoid

>> implying that they are.


[PH] > Well then, you have to give us some idea of what you ARE saying. Let me summarize so as to reveal my confusion. You insist that there is, or will be, a clear distinction between primitive concepts in the FO and others. The others will be 'defined in terms of' the primitives. 

   But this does not mean by necessary and sufficient conditions, so it does not mean 'defined in terms of' as this is understood in mathematics and logic.


[PC] Right, although some primitive elements may be defined by necessary and sufficient conditions, others, perhaps most will not be. I have tried hard not to use phrases such as “defined in terms of” to avoid giving the impression that I am talking about necessary and sufficient mathematical definition.  If I slipped and actually used that phrase, apologies, my bad.


[PH] > So what *does* it mean? Apparently, necessary conditions are all that will be required in some cases.


[PC] Correct, as far as the FOL elements of the ontology are concerned.  But (1) there may also be procedural code that adds to the specificity of the interpretation that a computer will place on the ontology elements (I use “ontelm” to refer to any ontology element: type, relation, function, instance, rule) – procedures can be labeled as functions in the ontology, but executed as procedural code (e.g. arithmetic functions, string manipulation, input-output, display); (2) the linguistic documentation may provide additional information, such as reference to well-known instances of types, that help the **human ontologist or programmer** to properly interpret and properly use the type or relation.; and (3) the intended meanings of each relation has to be specified by rules describing the logical inferences that can be calculated for an assertion using that relation.  Perhaps the most important difference between a computational ontology and a mathematical theorem is that the ontology is only valuable if used in some practical application that reference entities *outside* of the ontology itself (math theories may also be intended to model real-world entities, but don’t have to); this means that the programmer or ontologist who uses the ontology must understand enough of the intended meanings of the ontelms so that the application uses the ontology appropriately.  The meaning of an ontology element in a practical application depends on how that element is used in that application; here “meaning” invariably references something outside the symbols of the ontology itself.

So it appears that the meanings for mathematicians of symbols in a mathematical theorem have only at best analogical relation to the intended meanings in an ontology that both the ontologist and computer need to interpret properly in order for the application to work as intended.

    So, I now conclude (if I have interpreted you correctly) that you are correct, that the “meanings” of the mathematical primitives that are used in the time catalogue are not the kinds of meanings that I believe a computational ontology tries to describe.    A computational ontology used in an application is definitely not just a closed set of symbols related by logical operators.  The meanings of the elements are given grounding at a minimum  by the way they are used in the program.  There may be even more direct grounding if functions in the ontology call procedural code.  For example, a function searchGoogleFor(?String) could return the ranked list of hits (as strings).  This is  direct connection to the external world, and the function is not merely related to other symbols in the ontology, it is directly related to the internet and the world external to the local computer.


[PH] > So, to take an example, if we have the concepts of time interval, mass and duration in the FO, as I believe you have suggested, then we introduce the concept of dieting, and have the axiom that dieting over an interval implies the ones mass decreases during the interval, if the dieting is successful, then an axiom expressing  this necessary condition might count as a *definition* of 'dieting' in terms of mass and timeinterval, say. Is that more or less right? Or would you want to say that one needs more than just a simple observation like this to count as a 'definition' of dieting? But how much more? How are we to judge when enough axioms are written to count as having captured the essence of a concept and reduced it definitionally to others?


> What bothers me is that there are no such criteria, in fact, and that all you are actually saying is that axioms will get written which are enough for practical purposes to draw the conclusions that people feel ought to be possible to draw.


[PC] Yes and perhaps no - I view the utility of a computational ontology as an artifact serving some practical purpose at any given time for some users, and there is no guarantee that a given set of primitives will always suffice to logically describe everything new that one would want to describe (to whatever level of detail the users consider adequate).  But even without such a guarantee the question that I think is still important to answer is whether some set of primitives will in fact prove sufficient, after at least a some years of testing in different applications and modification to correct deficiencies, to remain stable (not need supplementation), say for a whole year at a time, and be adequate to construct the desired representations.  I would expect this to the quite useful for supporting semantic interoperability. (more below)   



[PH] > But this is exactly the Cyc vision of a large Theory of Everything,

[PC]  No, it is not.  I specifically asked Doug Lenat (last year) whether CYC had tried to identify some set of primitives from which they could logically describe the remainder of the CYC and he specifically said “no”.  It may be that the CYC BaseKB is a good approximation to such a set, but it hasn’t been tested.  From my own effort at trying to represent the Longman, I suspect it would need some supplementation – don’t know how much.

   Perhaps you have new information?



[PH] > and I see nothing in it which suggests that identifying this Longman Core of concepts is going to serve any useful purpose. The theory as a whole is not going to be a conservative extension of the core theory (because then all those definitions would be necessary and sufficient; but you insist they are not.


[PC] The simple case of defining a new type by adding a necessary condition to an existing FO class would (if I interpreted John S correctly) be a conservative extension.  I still do not fully understand that term; would it still be a “conservative extension” if one (1) adds a new relation; (2) creates a rule, using only the new term plus terms already in the FO, describing the logical consequence of that relation holding; (3) adds a new subtype as in the simple case; and (4) uses that new rule to assert some relation between the new type and existing types in the FO?  It seems that this process would not be creating necessary and sufficient conditions, but please enlighten me if it actually does.  In any case, I think that this would be at least one method to use the FO to create new useful concepts in a non-trivial way.


[PH] > So how does the presence in it of this subtheory make it any different from any other large, interconnected general-purpose ontology such as CYC or SUMO?


[PC]  If after testing CYC or SUMO, or some subset of either, one concludes that its existing inventory of ontelms is sufficient to specify all new domain ontelms desired, that would be great!  It might save perhaps as much as six months from the 3-year FO project that I have suggested.  As I mentioned on several occasions, the actual construction of and agreement to the FO by a large consortium is only a minor part of the FO project – most of the required elements are already in existing ontologies; mapping to the domain ontologies, development of translations among the linked ontologies and useful open-source demo applications, and demonstration of the utility of the FO to support semantic interoperability among the applications are the *main* goals.  Achieving those goals are what will determine how widely the FO and its accompanying utilities could be used, and create incentives for others to actually use it.


>> [PC] This system will, as best I can tell, enable a  broad semantic interoperability

> [PH] You keep saying this. I simply do not believe it. Can you show HOW the existence of this ontology will enable any kind of semantic interoperability?


[PC] First to define what is “broad general accurate semantic interoperability”:  a system of agreed data structures and programs that allow *any* local group using this common system to place information **on any topic** on the internet or some other public place, or to transmit it directly to another system, and have the information interpreted in the sense intended by its creators, regardless of whether the transmitting and receiving systems have any prior contact.

     The tactic I envision as being the closest I can imagine to one enabling broad general accurate semantic interoperability uses the FO in this manner:

(1)      The ontelms in the FO all have a meaning agreed to by the participants, and the logical specifications and linguistic documentation is unambiguous enough to satisfy all participants that they agree on the intended meanings,

(2)    The ontelms in domain ontologies or upper ontologies are identical to or logically specified as FOL combinations of ontelms in the FO. 

(3)    The computations performed with ontology-specified data in applications (other than simple input-output, or computations not affecting data communicated among applications) are performed either (a) using an agreed common implementation of FOL; or (b) the procedural code that is part of some element in the FO.

(4)    When any two programs that want to interoperate and have separately developed domain ontologies need to communicate, then in addition to the data that is to be transmitted, the transmitting system must send all the logical descriptions of the domain elements needed to describe the data that are not already in the FO or in some public extension used in common between those two applications.   There then needs to be an integrating program that (on the receiving side) takes the new descriptions of previously unknown elements, and integrates them into the local ontology, to arrive at an ad-hoc (temporary)  merged ontology that is sufficient to properly interpret the data communicated.  The merger should be accurate because all of the new ontology descriptions use only FO elements in FOL combinations, and the FOL implementation is common among all communicating systems.

(5)    Any application that can properly interpret elements of the FO should be able to properly and consistently interpret elements described as FOL combinations of those elements.

(6)    Therefore the computations performed by all applications using the FO should all arrive at the same inferences from the same data.  That is all I can expect to demand for programs  that are intended to be interoperable.

(7)    If any procedural code is used locally that manipulates the data other than for input output or presentation, there may be a risk of misinterpretation.  The local programmers need to be aware of the risk, and avoid misuse of the data so as to change its intended meaning.

(8)    For information not transmitted to other systems, of course local systems have complete freedom to use them as they consider optimal.  It is only the information transmitted to other systems that has to be interpretable by means of the FO specification.

(9)    Recall that the FO will be able to have procedural code labeled as functions.  Any systems that require procedural code that is not adequately mimicked by FOL can add it as a primitive function to the FO.

(10)  The FO, in order to accommodate newly mapped systems that require new primitives, should have an expeditious procedure for rapidly adding new primitives, after review by the technical committed agrees that the new element is not FOL specifiable using existing FO ontelms, and is not redundant or logically contradictory to the exiting FO.



I can anticipate some objections or problems in this tactic, in particular on the issue of the ontology merging .  One potential problem may be in recognizing when the intended meanings of elements in the separately developed domain ontologies are identical.  Since the FO allows alternate structures to represent the same meanings, but has  translation axioms among them , the various alternatives can be calculated and compared for identity.   But unless the system can develop some normal form into which all elements can be converted, identical meanings may not be recognized as such.  I do not have any feeling for how easy it might be to develop a normal form for the FO, or whether failure to recognize identity would have significant negative effects.


An additional issue is whether newly added axioms could change the interpretations of existing FO ontelms.   To minimize that potential, it would seem important to try to identify all axioms necessary to specify the intended meanings of the FO primitives as fully as possible at the earliest stage, so that few if any need to be added after the initial shake-down period of a few years.  Additions that are conservative extensions of the FO may not be problematic in the same way.


   I expect this approach to semantic interoperability to be (1)  faster than a slow aggregation of local agreements that eventually coalesce into some usable global agreement; (2) less costly than the ad hoc creation of semiautomated mappings between different ontologies; and (3) more accurate than any automated mapping, at least until machines have the intelligence and expertise of trained human ontologists.


[PH] > BUt to get down to details. Take the basic ideas of timepoint, interval and duration. What is the FO for these? Is the timeline dense or discrete? They are logically incompatible, so either one cannot be in the FO. So we simply make no assumptions as to continuity or density. Are timepoints totally ordered? SOme axioms (eg the situation

calculus) say no, so we cannot assume that. Do intervals meet at points? Many theories assume so, but there are some that refuse to even contemplate points in this exact sense; so we cannot assume that the temporal FO allows Allen-interval-relation reasoning. What we are left with in the temporal FO is that time-intervals can be partially ordered and might be contained on one another. Not very much, this, for a temporal FO. Not enough, for example, to even support simple calendar applications, which would have to all be in extensions. In fact, just about anything useful at all will have to be in some extension, and they are all logically incompatible with one another. 

So we have a variety of temporal ontologies, all mutually incompatible. Which is exactly what we have had for the past decade or more.


> I see absolutely no reason why this pattern will not be repeated over and over again.


Every primitive including time (points and intervals)  will have to be agreed to by the majority of participants in the FO project.  I wouldn’t attempt to dictate an outcome.  I would expect the majority to want to represent the ordinary interpretation of time used in most physics, that the time line (as measured by any one clock)  is isomorphic to the real line (or at least to rational numbers), and its magnitude is measured by the distance between the two end points, using some time unit.  If this cannot accommodate other preferred theories, then the other theories, if they cannot be specified with the same primitives, may not be compatible with the agreed FO.  The FO can include things like open, semi-open and closed intervals, and ways of testing whether they abut or overlap, or are disjoint.  If the *agreed* methods do not accommodate those who prefer other theories, then those who feel they need those other theories will presumably choose not to participate in the project.  I don’t expect such holdouts to create any problems for the project.  The goal is not to create a universally acceptable FO, but one that has a wide user community, so that those who *want* to interoperate accurately with a wide community will have a means to do so.  I expect that the overwhelmingly largest number of end-users will be database developers, who are not likely to be concerned about the finer points of such theories and will find any self-consistent theory that gives them measurable intervals and fixed time locations as satisfactory.

I expect most users to be more proprietary about different representations that affect specific domain elements.  If those can all be specified logically using FO primitives, they can all use the same FO and use their preferred local representations, having translations among them.  More logically sophisticated ontology developers may (or may not) conclude that they cannot reconcile their local uses to the common FO.  It will be a shame, but they can create their own FO (perhaps by mere excision of a few theorems in the most common FO) and communicate accurately within their own community.


*** on a point from a different note from PatH ***

[PC] >>  There is no logical contradiction in an ontology

>> *describing* logically contradictory theories


[PH] > Yes, there is, at least if an ontology is itself a logical theory, which I take it we all agree that it is.


[PC] Part of the FO is a logical theory (other than the procedures that may implement some functions), but my understanding of a logical contradiction is that it requires something that can reduce in whole or part to:


    P(x) and not P(x).


But I don’t see the logical contradiction in:

P(x, ?CONTEXT1) and not P(x, ?CONTEXT2)

  Where ?CONTEXT1 is not equal to ?CONTEXT2.

The ‘contexts’ are the incompatible theories described as combinations of the elements of the FO.


[PH] > . The OBO foundry, for example, is in wide use, has funding, a vibrant and active user community, etc..  But it embodies and sets in stone some very bad (IMO) ontological decisions. And now it is impossible to change or even discuss these because the very utility of the 'consensus' of the OBO foundation makes it practically impossible to change it.

Ø  . . .

> This kind of ossification of early decisions happens throughout large- scale standards activities, and I see no reason why it won't happen here in the same way and for the same reasons


[PC] The FO project as I envision it is intended to avoid precisely those problems.  The ontological decisions used in the upper level of OBO (specifically BFO) for example were *not* determined after a bunch of independent users tested it in some practical applications  - the minimalist single-inheritance BFO was created by a small group with a unique viewpoint.  The FO will have to be (a) satisfactory to a lot of people to start; and (b) survive testing with at least a dozen practical applications that actually test it as an inference engine, not just as a hierarchy; and (c) from the start and always public and open so that anyone who detects a flaw can inform the technical committee that manages it.  This doesn’t guarantee that the result will last forever, but it makes its likely that it will be more usable and more long-lasting than any of the foundation ontologies thus far developed by small groups (or, as SUMO, even with some minimal input from a larger community but ultimately restricted by its very few managers).  If you think that CYC would be a better starting point, as I do, then it may well be that the public part of CYC will turn out to be the backbone of the FO, perhaps with some minor changes and additions.

   The FO, if it develops as I hope, will always be open to supplementation and even modification.  If it proves to be necessary even after a few years, it should continue to evolve to take advantage of any new lessons learned from applications.  I would hope that an agreement against freezing the FO would be part of the agreed process, at least until such time that it appeared to be adequately stable so that only conservative extensions could subsequently be added.


>> [PC]  My expectation is that, after some initial period in which

> the FO is used by, say, at least 50 independent groups, the need to

> add new primitives will dwindle


[PH> I see no reason why the rate would dip even slightly. Cyc did not experience any such 'reduction to the primitive'.


[PC] I recall some paper or presentation by Doug Lenat in which he asserts that the need to modify the BaseKB (common to all microtheories) dwindled to zero or almost zero after some time (not sure how long).  The BaseKB is not an FO, but its concepts are similarly basic.  That is the only analogy I can think of between CYC and the FO – what part of CYC did you have in mind that keeps growing?

   In any case, that is precisely one of the questions that only a project like the FO project could answer – in response to a method that tests that specific question.




Patrick Cassidy



cell: 908-565-4053


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    (01)

<Prev in Thread] Current Thread [Next in Thread>