Re: [Ramesh S. Patil <> : Re: ccodes and rcodes ]

Danny Bobrow <>
Message-id: <>
Date: Tue, 18 Sep 90 21:55:31 -0700 (PDT)
From: Danny Bobrow <>
To:, Michael Genesereth <>
Subject: Re: [Ramesh S. Patil <> : Re: ccodes and rcodes ]
In-reply-to: <CMM.0.88.653693031.mrg@Sunburn.Stanford.EDU>
References: <CMM.0.88.653693031.mrg@Sunburn.Stanford.EDU>
In Ramesh's message to Mike I believe that he touched on several
important points with respect to cCodes and rCodes that I think are
important to consider more fully.

 In communication, there are two distinguishable modes.  In the the
conversational, or interactive, mode the receiver gets a chance to
interact with the transmitter.  In this mode, the construction of the
shared meaning of the communication is the responsibilityboth parties. 
As Ramesh points out, there are various tactics that humans use in there
conversation interactions to check out and develop such meanings. 

The second mode is literary communication.  In this mode, the author
must take responsibility for understanding the capabilities of the
potential receiver and the common ground shared by transmitter and
receiver.  Of course, an author can write for many audiences, expecting
that what is gotten out of the communication will be different for
members of a different culture (with different common ground).  This is
OK provided what each gets out is intended by the author.

 I  believe that what the interlingua group should be doing is to
develop a cCode for communication in the literary mode.  It should have
the foloowing properties:

1) there should be a minimum common ground that any participant in the
community should understand (e.g. first order predicate calculus in some
notation).  Call this a kernel.  Specifying a first such kernel is what
I think we have been doing so far. 

2) it should be possible to define of extensions to this minimum level
that may only be understandable to some subcommunities .  Here is where
some of the more contentious material might be put.

3) the interlingua should support reasonably direct communication in
fairly natural terms between members of a subcommunity (e.g. two Loom

4) it should enable simple translation of communication into different
expansions of the kernel.   

I believe the development of such a cCode is not of the kind that
MacGregor believes "difficult or impossible to build".

Communication in such a cCode would be in a standard prefix  operator
syntax.  For any body of communication, a set of known extended
operators would be allowed.  The meaning of these operators would be
specified in terms of macro expansion.  Any extendned operator would
have to have defined a (possibly null) expansion to the kernel.  It may
also have alternate defintions in different expansions of the kernel. 
So if the kernel did not have a defintion facility, then 
(defconcept (bachelor x) (and (male x) (unmarried x))
could have an expansion into the biconditional.  Loom constructs (or
something quite close) should be directly seen in the communication
between two Loom systems.

The strictest condition that one could put on each of the expansions is
that it consists of some set of necessary assertions given the original
statement.  But looser conditions might fruitfully be used.  Consider
translating probabilities of greater than .7 into true, and less than .3
into false).  Some inferences made using this translation might
contradict what might happen if inferences using the probabilites were
made, and then the translation done.  This kind of "approximate"
translation (communciation) may be distressing and we should consider it

 Given these goals, we might strive to make the kernelas large as
possible to achieve the common ground, but the process should founder if
there is not agreement.  We will have the extension mechanism to fall
back on, and a notion of what things will be understood easily in
different communities.