[Top] [All Lists]

Re: [ontolog-forum] Last Call: OWL 2 and rdf:text primitive datatype

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Sun, 26 Apr 2009 17:05:08 -0400
Message-id: <49F4CC84.1080307@xxxxxxxxxxx>
Randall,    (01)

Trying to develop a consistent terminology across an open ended
range of languages used by an international multidisciplinary
community is extremely difficult.    (02)

RRS> In some languages, types and classes are synonymous or nearly so,
 > but in many languages, they are distinct, even if closely related.
 > Java has purely abstract (non-instantiable, implementation-free)
 > types called "interfaces," so-called "abstract classes" which have
 > partial implementations but are not instantiable and ordinary
 > (concrete) classes which are instantiable. Java also has "primitive
 > types" such as numeric and boolean types. All of these things have
 > characteristics of types. My understanding (entirely hearsay) is
 > that in OCaml class and type entirely independent formalisms.
 > In Scala, about which I know a little but am no expert, types
 > and classes are also distinct though closely entwined. My C++
 > is pretty rusty, but I think it might be valid to say that its
 > use of class is synonymous with type, though C++ also has primitive
 > types akin to those of Java.    (03)

That's a good succinct summary of the current state.  It suggests
that any cross-linguistic discussion should prefix the term used in
a particular language with the name of the language itself; e.g.,    (04)

    Java class, Java primitive type, Java abstract class, etc.    (05)

But for general discussions that cross linguistic boundaries,
the terms 'set' and 'type' can be distinguished by extensional
vs. intensional criteria.  I'll use the informal word 'collection'
to avoid prejudging terminology:    (06)

  1. Two collections are considered identical by extension iff
     they have exactly the same members.    (07)

  2. Two collections are considered identical by intension iff
     they are specified by some rule or principle, independent
     of their members.    (08)

This distinction is independent of ontology, and it applies to
both 3D and 4D approaches.  For further discussion and application
of this distinction to formal logics and ontologies, see Section 2
of Alonzo Church's classic book on lambda calculus (from 1941):    (09)

    http://www.jfsowa.com/logic/alonzo.htm    (010)

AC> The foregoing discussion leaves it undetermined under what
 > circumstances two functions shall be considered the same.
 > The most immediate and, from some points of view, the best way
 > to settle this question is to specify that two functions f and g
 > are the same if they have the same range of arguments and, for
 > every element a that belongs to this range, (f a) is the same as
 > (g a).  When this is done we shall say that we are dealing with
 > functions in _extension_.
 > It is possible, however, to allow two functions to be different on
 > the ground that the rule of correspondence is different in meaning
 > in the two cases although always yielding the same result when
 > applied to any particular argument. When this is done we shall
 > say that we are dealing with functions in _intension_.
 > The notion of difference in meaning between two rules of
 > correspondence is a vague one, but, in terms of some system of
 > notation, it can be made exact in various ways. We shall not
 > attempt to decide what is the true notion of difference in meaning
 > but shall speak of functions in intension in any case where a more
 > severe criterion of identity is adopted than for functions in
 > extension. There is thus not one notion of function in intension,
 > but many notions; involving various degrees of intensionality.    (011)

That last line is critical, and it indicates the source of many
of the issues.  As its name indicates, Simula 67 was designed as
a simulation language, for which the *behavior* of an object was
critical.  Therefore, the designers grouped objects according to
their behaviors.  According to Church's distinction, that would
be an example of an intensional definition.    (012)

According to both formal and informal usage in computer science,
logic, philosophy, and many related fields, the identity criteria
for sets are extensional, and the identity criteria for types are
intensional.  But the criteria for 'class' tend to be intensional,
but are often confused with extensions.    (013)

John    (014)

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

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