Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

SUO: Mapping from one notation to another



Rich,

I have spent so many years mapping propositions from one
notation for logic to another that I automatically "see"
the graph structure when I look at a formula in predicate
calculus.  But after thinking about the problem, I came
to realize that many people believe that notations that
look different somehow represent things differently.

To make the issues clearer, I'll translate the two graphs
to predicate calculus.  The graph at the top of give.gif
maps to the following formula:

   (Ex)(Person(John) & Book(x) & Person(Mary) & Gives(John,x,Mary)).

This uses a common convention of treating names as "constants"
and introducing "variables" for things that don't have names.
That convention is convenient for arithmetic, but it causes
all kinds of trouble with people, who usually have multiple
names -- e.g., 'John', 'John Kennedy', 'John F. Kennedy',
'John Fitzgerald Kennedy', 'Jack', 'J. F. Kennedy', 'JFK'...
And that doesn't even begin to get into the issues of
ambiguities, aliases, etc.

So I prefer to assign a variable to every concept node,
and to introduce a dyadic predicate to link the variable
to the name.  This leaves open the question of whether
names are ambiguous or unique.  It doesn't answer the
question, but at least it makes it explicit:

   (Ex)(Ey)(Ez)(Person(x) & HasName(x,'John') & Book(y)
     & Person(z) & HasName(z,'Mary') & Gives(x,y,z)}.

There we have a triadic relation of type Gives, which
has three connections labeled x, y, and z.  By an accident
of history, those labels are called "variables", but they
don't actually vary.  That is one of the hardest things
to teach beginners:  variables in logic don't vary; they
are nothing more nor less than labels of connections.

By using the same conventions, we can translate the
bottom graph to predicate calculus:

   (Ex)(Ey)(Ez)(Ez)(Person(x) & HasName(x,'John') & Book(y)
     & Person(z) & HasName(z,'Mary') & Give(w)
     & Agnt(w,x) & Thme(w,y) & Rcpt(w,z)).

Now the triadic relation Gives(x,y,z) has been replaced
by a monadic relation Give, and three dyadic relations
Agnt, Thme, and Rcpt.  But if you look at the graph,
there is still a three-way connection.  Why?

The point is that the fundamental structure of the
proposition does not change when you translate it from
one notation to another.  In order to see the structure,
you have to trace through all the connections of all
the variables.  Following is a little table of connections:

   x:  (Ex), Person(x), HasName(x,'John'), Agnt(w,x)

   y:  (Ey), Book(y), Thme(w,y)

   z:  (Ez), Person(z), HasName(z,'Mary'), Rcpt(w,z)

   w:  (Ew), Give(w), Agnt(w,x), Thme(w,y), Rcpt(w,z)

This still doesn't look very clear, and the repetition
of predicates in different lines of the table is confusing.
So perhaps it would be better if we drew a graph that
would show the connections more clearly.  That is the
graph named givepc.gif.

To draw givepc.gif, I made only one copy of each variable,
and I attached all the things to that copy that appear
on its row of the table above.  The graph named givepc.gif
is simply the formula in predicate calculus as it would be
seen from the point of view of the variables.

The structure of the graph now looks very similar to the two
CGs in the diagram give.gif, but it looks as if w has 5
links attached to it.  However, two of those links are not
really connections to other "things".  One of them links
w to the backwards E, which asserts that something labeled w
exists, and another one links w to its type Give.  Therefore,
this graph still has only a triadic connection of "things"
to "things".

When you translate from one notation to another, all kinds
of syntactic features confuse the issue, but the underlying
pattern of connections remains the same.  That is one reason
why Peirce and I and many other people believe that graphs
are a more explicit notation for showing the structure
of logic.

John Sowa

GIF image

GIF image