Sets, plurals, and mereology

sowa@watson.ibm.com
Message-id: <9205121557.AA00900@cs.umn.edu>
Reply-To: cg@cs.umn.edu
Date: Tue, 12 May 92 11:52:12 EDT
From: sowa@watson.ibm.com
To: cg@cs.umn.edu, interlingua@isi.edu
Cc: franconi@irst.it
Subject: Sets, plurals, and mereology
Last year, there was a lot of discussion of sets, plurals, and mereology
on CG list.  I recently received another question about the subject, to
which I sent a brief response.  Following is an elaboration of that
response:

 1. I believe that mereology has a more natural application to plurals
    in ordinary language than set theory.

 2. However, logicians are more familiar with set theory than mereology.
    (Most nonlogicians are blissfully unaware of either one.)

 3. Therefore, in my publications, I usually define the CG plural
    constructions in terms of sets, but I avoid the constructions
    that mereology does not represent.

 4. In particular, mereology and natural languages never distinguish
    collections whose contents are the same, but with different levels
    of nesting; e.g. the person John, the set {John}, and the sets
    {{John}}, {{{John}}}, {{{{John}}}}, etc., would all be treated as
    exactly the same.

 5. If you really want to distinguish a collection from its contents
    in natural language or in conceptual graphs, you must introduce
    a new concept type: e.g. "ships" vs. "a convoy of ships".

    [SHIP: {*}]  represents "some ships"

    [CONVOY]->(MEMB)->[SHIP: {*}]  represents "a convoy whose members
        are some ships" or simply "a convoy of ships".

    This seems like a more natural approach:  you only make that
    distinction if it is significant, not as in set theory, where
    it keeps coming up whether you need it or not.

 6. The basic difference between set theory and mereology is in the
    primitive operators:  set theory has two primitives, which may
    be called element and subset; mereology has only one primitive,
    which may be called part-of.  (What you call these operators is
    irrelevant -- the basic distinction is whether you have one or
    two primitive operators.)

 7. Having two primitive operators in set theory leads to paradoxes,
    such as the set of all sets that are not members of themselves.
    In mereology, such paradoxes do not arise, since every collection
    is part of itself, and there cannot be a collection that is not
    part of itself.

 8. Since conceptual graphs can express anything that could be expressed
    in natural language, it should be possible to express paradoxes as
    well.  But you must do so by introducing new concept types, such as
    SET, CONVOY, etc.  Then "cats" is represented [CAT: {*}], and
    "a set of cats" is represented [SET]->(MEMB)->[CAT: {*}].

 9. It is possible to translate any statement about sets, however
    paradoxical, into either English or conceptual graphs.  But to
    do so, you have to introduce new concept types, such as SET.
    The paradoxes do not arise from the basic structure of the system,
    as they do in set theory.

10. Some people are puzzled by the distinction between [CAT: {*}] and
    [SET]->(MEMB)->[CAT: {*}].  I would answer by giving the translation
    to and from English, conceptual graphs, and predicate calculus:

    "cats"  <=>  [CAT: {*}]  <=>

         (Es)(set(s) & count(s,n) & n>0 & (Ax)(element(x,s) -> cat(x))).

    "set of cats"  <=>  [SET]->(MEMB)->[CAT: Col{*}]  <=>

         (Eu)(Ev)(SET(u) & set(v) & count(v,n) & n>0
               & (Ax)(element(x,v) -> (cat(x) & MEMB(x,u))).

The reason for the confusion is the distinction between the predicates
SET(u) vs. set(v) and element(x,v) vs. MEMB(x,u).  In lower case, the
predicates set and element are being used in the target language of the
formula operator phi (i.e. predicate calculus).  In upper case, the
predicates SET and MEMB arise from the source language conceptual graphs,
which is being used to represent the original source language English.

To distinguish these two more clearly, let's assume that the target
language (predicate calculus) has been enriched with some axioms that
define a particular version of set theory, say ZF.  To be explicit,
we could use the predicates zfset(v) and zfelement(x,v).  The source
language (English or conceptual graphs) has no built-in axioms for
SET and MEMB until we state them.  When we introduce the concept type
SET and the relation type MEMB, they are nothing but uninterpreted
symbols.   In order to give meaning to those symbols, we have to state
particular axioms for the version of set theory that we prefer; and
those axioms could be stated in English or in conceptual graphs.

In particular, we could use one version of set theory, say ZF, in
predicate calculus and use it to model a different version of set
theory, whose axioms would be stated in conceptual graphs.

However, as I have said many times before, I prefer mereology as
my underlying model for the {*} notation in conceptual graphs.
Therefore, I would prefer to use a target language consisting of
predicate calculus enriched by the axioms of mereology and with
the primitives collection(v) and part-of(x,v).  Then English
statements about sets would be modeled in terms of mereology:

    "cats"  <=>  [CAT: {*}]  <=>

         (Es)(collection(s) & nonempty(s)
              & (Ax)(part-of(x,s) -> cat(x))).

    "set of cats"  <=>  [SET]->(MEMB)->[CAT: Col{*}]  <=>

         (Eu)(Ev)(SET(u) & collection(v) & nonempty(v)
               & (Ax)(part-of(x,v) -> (cat(x) & MEMB(x,u))).

With this approach, we could use mereology as the primitive system,
and state the axioms for ZF set theory (or any other set theory) in the
source language, which could be either English or conceptual graphs.

Although I advocate mereology as a more natural basis for NL semantics,
I am not suggesting that the ANSI X3H4 committee or the DARPA-sponsored
Knowledge Sharing Effort adopt mereology.  Instead, what I suggest for
the standards efforts is a subset of the CG theory that can be mapped
directly to and from KIF and whose semantics would be based on the
constructions used for KIF.  For research on NL semantics, people could
use any underlying model they found appropriate, but only a subset of
it might be translatable to other knowledge bases via KIF.

John Sowa