In another forum, I sent a note about using the terms 'generalization'
and 'specialization' as a way to clarify relationships among ontologies
(or any theories of any kind). (01)
In particular, they provide a convenient way to specify the conditions
for interoperability among theories and the systems they describe: (02)
1. Definition. A theory A is a generalization of a theory B iff B
entails A: every model for which B is true is also a model for A.
If A is a generalization of B, then B is a specialization of A. (03)
2. Even when those two words aren't used, the concept is implicit.
In Cyc, for example, they are the basis for the partial ordering
of microtheories: every microtheory is a specialization of
(entails) the theories above it in the hierarchy. (04)
3. As another example, Schema.org is a very general (underspecified)
collection of types (or classes) that many developers adopted for
applications that are inconsistent with one another. But the
theories that specify those applications (explicitly or implicitly)
are all specializations of Schema.org. (05)
4. If data d is specified in a general theory, such as Schema.org, and
used a more specialized theory X, all properties of d specified in
the general theory may be assumed in X. But any property P that
is not specified in the general theory may be used in X only after
a test such as "If P(d), then ..." (06)
5. With these two terms, the conditions for interoperability among
two theories A and B (or any systems that are specified by or
described by A and B) can be stated: (07)
a) If two theories A and B are inconsistent in their details,
they can interoperate on shared data that is specified by
a common generalization C. (08)
b) To use data specified in C, neither A nor B may assume any
properties of that data not specified in C. But they can use
the details in conditionals that begin "If x has property P ..." (09)
c) Points 5a and 5b are implicit in the way interoperable systems
work. The spec's for the data on which interoperability is
required are the common generalization C. Any property not
specified in C can only be used in A or B after an appropriate
test. (010)
The generalization/specialization distinction can also clarify other
relationships, practical and theoretical. For example, we have often
discussed issues about defaults, open worlds vs close worlds, and
related problems in nonmonotonic reasoning. (011)
But every proof in a nonmonotonic logic can be converted to a proof
in a monotonic (classical) logic from a suitably revised theory 
because each nonmon step adds, deletes, or modifies a monotonic axiom. (012)
After the nonmon proof has finished, it's possible to gather up all
the monotonic axioms into one purely classical theory, from which an
equivalent proof can be carried out with classical rules of inference. (013)
In terms of generalization/specialization, every nonmon proof
corresponds to a walk in a lattice of classical theories. The full
lattice may be infinite, but only a finite set of nodes are used
for any application: The number of nodes is equal to the number
of steps in the nonmon proof. (014)
Summary: The terms 'generalization' and 'specialization' can be
used to explain and clarify a wide range of issues, both practical
and theoretical. (015)
John (016)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontologforum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontologforum/
Unsubscribe: mailto:ontologforumleave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgibin/wiki.pl?WikiHomePage#nid1J (017)
