ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Thing and Class

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Tue, 09 Sep 2008 09:54:23 -0400
Message-id: <48C6800F.6080003@xxxxxxxxxxx>
I received an offline note with some questions that may have occurred
to others.  Therefore, I'm sending my response to this forum.    (01)

 > I have never seen any discussion of multiple inheritance and
 > Aristotle's syllogisms.  Do you have any references?    (02)

Multiple inheritance is implicit in Aristotle's theory of categories.
The fundamental principles are    (03)

  1. A definition of a new category (or type) by specifying its
     genus or supertype and the differentiae that distinguish
     the new type from any siblings of the same supertype.    (04)

  2. The four types of statements (A, I, E, O), which relate
     categories with four combinations of negation, existential
     quantifier, and universal quantifier:    (05)

     A:  Every A is a B.       (Universal affirmative)
     I:  Some A is a B.        (Particular affirmative)
     E:  No A is a B.          (Universal negative)
     O:  Some A is not a B.    (Particular negative)    (06)

  3. The valid forms of syllogisms, which the medieval Scholastics
     named by the combinations of vowels in the sentence types.
     The first pattern, for example, is named Barbara:    (07)

        Every A is a B.
        Every B is a C.
        Therefore, every A is a C.    (08)

Aristotle did not present his categories as a tree, and he did not
talk about multiple inheritance.  In the 3rd century AD, Porphyry
wrote an introduction to the categories, in which he drew a tree
to illustrate the relationships in one of Aristotle discussions.    (09)

In the 17th century, Leibniz developed a numerical method for
reasoning about the categories, which defined a lattice with
multiple inheritance:    (010)

  1. Assign a unique prime number to each differentia.    (011)

  2. Represent each category A by the product of the primes for
     all its differentiae.    (012)

  3. The number for any category can be computed by a recursive
     definition:    (013)

        Let 1 represent the Supreme Genus.    (014)

        If any category C is defined by genus G with differentia D,
        let the number for C be the product of the numbers for G and D.    (015)

  4. Then you can test whether every A is B by checking whether the
     number for A divides the number for B.    (016)

Leibniz did not invent terms for lattice or multiple inheritance,
but his system and Aristotle's supported them.  He didn't use the
term 'Gödel numbering' for his method, but the similarity was not
a coincidence, since Leibniz was Kurt Gödel's favorite philosopher.    (017)

Many people think that multiple inheritance can create contradictions.
But that is the wrong way to view the lattice.  Neither A. nor L.
began by drawing a tree or lattice.  Instead, they began by stating
*definitions* that *generate* the lattice.  If you generate the
lattice from the definitions (which the FCA software does), you are
guaranteed to have correct, contradiction-free multiple inheritance.    (018)

John Sowa    (019)


_________________________________________________________________
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    (020)

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