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