Folks, (01)
Pat Hayes and I usually agree on technical issues about logic,
but the following exchange with Patrick Durusau got hung up
on differences in terminology: (02)
PD> An ontology is first formed at conceptual level (design)
> being implemented is the last step. (03)
PH> What do you mean by "implemented"? (04)
PD> I mean that the LOGICAL THEORY does not have a single
> language attached to it. You can express a logical theory
> using a language, but the theory IS NOT the language. (05)
PH> The theory is not the language, but it is (and now I am quoting
> an almost universally accepted technical usage of 'logical theory')
> a set of sentences in some formal language. So any such logical
> theory has a single language associated with it, to wit, the
> formal language it is written in. So the idea of a theory which
> is somehow independent of a formal language, is (literally)
> meaningless. (06)
PD> ... then there can't be any mapping between formal languages... (07)
First of all, Pat H. and many others have been actively working
on the Common Logic standard, which is designed to support
mappings of theories from one language to another. (08)
To clarify some of the words, it is unusual to say that a theory
is "implemented". It is better to say that a theory is *expressed*
in some language L and that a processor, such as a database system,
*implements* some algorithms for doing something useful with
statements in L. (09)
But Pat Hayes was quoting (or paraphrasing) what many logicians
say in their formal definitions of "theory". To avoid questions
about the possible differences between different languages, the
logicians usually choose a fixed language L and talk about theories
expressed in L. (010)
The question about mapping theories from one language to another
is very important, and nobody would deny that mapping is impossible.
However, any such mapping depends on establishing how and whether
statements from the source language L1 can be mapped to statements
in the target language L2. (011)
Such mappings are by no means trivial, and the issues involved are
similar to the problems in mapping programs from one language to
another. For example, the assignment statement A=B+C in Fortran
looks deceptively similar to assignment statements in Algol, Pascal,
C, C++, C#, Java, Python, etc. But the detailed specifications of
all the features of those languages vary so widely, that any obvious
mapping is likely to be unusable because of lurking bugs. (012)
Similar issues plague logics, but they are not quite so bad because
formal logics have a systematic "model theory" that specifies exactly
how those languages are interpreted. (013)
That is why many people who subscribe to this list have been developing
Common Logic. The CL standard has a very general model theory, which
is a generalization of the model theories that supports the usual
predicate calculus and many other versions of logic, including RDF,
OWL, and many others. (014)
To avoid questions about mapping languages, CL is defined in terms
of an abstract syntax, which is independent of any concrete notation.
Then any language which has a formally defined mapping to CL that
preserves the CL model theory is said to be a *dialect* of CL. (015)
The Final Committee Draft (FCD) of CL standard specifies three
dialects that support the full CL semantics: CLIF (Common Logic
Interchange Format), CGIF (Conceptual Graph Interchange Format),
and XCL (an XML-based notation for CL). Any dialect that supports
a subset of the CL semantics, such as RDF and OWL, could be mapped
to any of the three dialects that support the full semantics. The
reverse mappings are possible only for statements that can be
expressed in the more limited dialects. (016)
I hope this clarifies some of the terminology. (017)
John Sowa (018)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (019)
|