Re: Getting back to the notes of May 10th

sowa <sowa@turing.pacss.binghamton.edu>
Reply-To: cg@cs.umn.edu
Date: Wed, 2 Jun 93 07:19:03 EDT
From: sowa <sowa@turing.pacss.binghamton.edu>
Message-id: <9306021119.AA22343@turing.pacss.binghamton.edu>
To: cg@cs.umn.edu, interlingua@isi.edu, sowa@turing.pacss.binghamton.edu
Subject: Re: Getting back to the notes of May 10th
Cc: eileen@turing.pacss.binghamton.edu, jerry@turing.pacss.binghamton.edu
Pat,

This discussion is getting quite long, and I'll make some major
deletions in the parts I am not specifically replying to.

> .... You insist that the act of applying mathematics 
> to anything real must involve doing something NONmathematical: something 
> involving epistemology or pattern-recognition or engineering or applied 
> mathematics, but in any case something more than can be expressed or 
> captured in mere set theory, which is pure maths. I disagree....

Yes, I believe that is the essence of the disagreement.  That 
nonmathematical aspect, of course, need not be so very highly formalized
that it would be called by some high-falutin' name like "epistemology"
or "ontology", especially when it is being applied to things like
tables and cats.  But it is always present, and it becomes critical
when you are implementing computer systems that do more than just
manipulate symbols.  

> ... Let me draw an analogy with some engineers talking about the 
> stresses in a bridge, using symbols to refer to angles between girders, 
> thicknesses of beams, etc. etc.. Your position seems to be that in order 
> for us to even contemplate the possibility that these symbols refer in the 
> way indicated, we must first have a complete theory of bridge-referring, 
> a detailed account of how the engineers came by those figures, and so forth. 

How did you jump to that conclusion about a "complete theory"?  I said
that any application of mathematics to a concrete domain "presupposes"
such things.  But that does not mean that the engineer must consciously
re-examine every figure and how it was obtained at every step of the way.
If the engineer trusts the surveyors, he can just take their numbers at
face value and not worry about whether they used laser beams or tape
measures.  But when difficulties arise, it may be necessary to go back
and recheck the measurements and determine exactly how they were derived.

>... without all this, on your view, such talk is forbidden.

No.  All I said is that every application of mathematics to
any domain presupposes a large body of implicit knowledge about
that domain, which includes common practice in making measurements.
People who are skilled in that subject can apply mathematics to the domain
without much conscious thought.  But when somebody like me tries to do
carpentry, I have to expend an enormous amount of conscious thought in
reinventing techniques that are elementary to a skilled carpenter.

> So of course model theory can be applied to discussions of how symbols 
> might refer to bridge girders, treetrunks or people. Why not? Watch me do it. 
> I will refer to the mapping between us and our names. Ready? 
> Here goes: {<"PAT HAYES",Pat Hayes>,<"JOHN SOWA",John Sowa>}. Now, 
> you will object that this is somehow illegal or inappropriate or impure or
> unsanctioned by Carnap. Tough, I just DID it, John: I defined that mapping. 

I have no quarrels about that passage whatever.  That mapping is
well defined because both of us are familiar with the referents and
we are capable of recognizing them when we see them.  Your list of tuples,
which is adequate for people who know us, wouldn't be of much help
to people who have never met us and are supposed to meet us at the airport.
All I was trying to say is that any such list of tuples, functions, or
whatever presupposes some recognition procedure.

> But we do 
> not need to have solved the grounding problem in order to contemplate the 
> possibility that our symbols might refer to reality.

Exactly!  It is not necessary in order to CONTEMPLATE, but it is
necessary in order to do anything useful in applying our models.
That may be another reason for our disagreement:  you were talking
about a theory of meaning, and I was talking about how I might implement
a theory of meaning in a computer system.

> ... I can encode the same information
> as a set of sentences, a network, an object-oriented datastructure, or a table. 
> Semantically these are the same thing, re-encoded in different styles 
> for computational (or maybe aesthetic) reasons. What matters for a semantic 
> theory is what is being claimed about the world by a representation. To change 
> how a datastructure is 'used' might completely change its content, so a DB
> being 
> used as a vivid knowledge base , and the 'same' DB being used as a model, are 
> different things which happen to have a structural similarity. 

Rather than calling them different "things", I would say that they are
the same "thing", viewed from different perspectives.  You can pick up a
stone and view it as a hammer or a projectile.  Your view will influence
how you use it, but it doesn't change the stone.

> ... One can talk of sets of pieces of wood without doing this detailed 
> job of 'application'.

Of course you don't have to do that consciously, if it's a familiar
subject.  For a skilled carpenter, the measurements are almost
automatic.  But for me, I have to think about every step.

> Not *how* they are determined, no. But that does not mean that we cannot 
> imagine that they might be determined, and discuss the consequences. That 
> model theory does not explain *how* a name like 'Julius Caesar' comes to be 
> attached to that old roman guy is not sufficient reason to forbid us to even 
> think that it might so refer, and insist that it must refer to a mental 
> surrogate of some mysterious kind. 

I agree with everything up to the last comma.  I never said that the
name 'Julius Caesar' refers to a mental surrogate.  I am perfectly happy
to say (or let you say) that 'Julius Caesar' refers to an old Roman
emperor.  But in my computer implementation, I can't stuff his old
dusty bones into my disk drive, so I'm going to store a GENSYM that
serves as a surrogate.

> ... They [depictions] seem to be simply Herbrand models...

Yes.  I started out by calling them "models", but we got involved
with multiple meanings of the word "model" so I suggested "depiction".
But if you prefer "Herbrand models", that's fine with me.

>By the way, what are 'model-theoretic methods'? Model theory doesnt provide 
>us with methods. Deductive techniques might be considered model-theoretic 
>methods, since the process of generating a proof can often be regarded 
>equally well as the process of surveying a space of partial models for a 
>possible counterexample, and showing that one does not exist. So I see 
>no clear distinction between these kinds of method which you place in sharply 
>different categories.

The usual formulations of model theory determine how to evaluate the
denotation of a formula in terms of a relational structure.  If that
structure is infinite, that evaluation cannot be effectively computed.
But if the structure is finite, that evaluation can be computed in
polynomial time.  In fact, the methods of computing the answer to an
SQL query in terms of a relational DB happen to be implementations of
Tarski's method for determining the denotation of a formula in terms
of a model.  This evaluation is a deterministic, polynomial-time
algorithm in contrast to deductive techniques, which are often
nondeterminisic, NP complete procedures.

> A model is just one interpretation, and there are usually many possible 
> interpretations, all having equal claim to be 'the' model of a representation. 
> Model theory gives us a way to take a representation and a possible
> interpretation 
> of it, and say whether this interpretation could be permitted by the
> representation. 

I think that one reason for our differences is the kinds of
databases we have been thinking about.  When I use the term DB,
I think of commercial database systems, usually relational, but
they could be stored in other ways that have exactly the same
information content.  In such systems, there are no universal
quantifiers or disjunctions, and negation is represented only by
failure.  They do have such peculiar things as "NULL values",
which sometimes mean "there exists something of this type, but
I don't know what it is".  Such a DB can never state a general
principle that holds for a wide class of models.

Furthermore, commercial DB systems are designed to handle "updates"
and multiple "versions" with such things as "checkpoint and restart".
When you view them as models, such things form, guess what,
a Kripke structure of models!!!  Each version corresponds to a
separate "possible world", and the updates from one DB to another
define the "accessibility relation" between possible worlds.
The integrity constraints are the "necessary truths" that hold for
all possible updates (or at least permissible updates).

Of course, the commercial DB people freak out when they see an
upside down A, and they never heard of Tarski, much less Kripke.
But when you view DBs as models, Kripke semantics applies to them
very nicely.

> If an SQL query comes up with $100,000 to a query about someone's salary,
> are we to conclude that this guy's salary IS $100,000, or only that it 
> is logically possible that it might be that?

That depends on which version of the DB you are using.  If it is the
current DB that is assumed to be accurate, then we can assume that
his salary IS $100,000.  But if it is some backdated version, then
all we can assume is that it is possible that his salary might be that.

> ... Could I interpret the integrity constraints as being essentially 
> consistency constraints?

Yes.  An example might be "Every employee has a manager, an employee
number, and a department" or "No student may be enrolled in two
different sections of the same course."  They correspond to axioms
that must be true of all versions of a database and be preserved
by every update.

> But surely (?) the anaylsis of what a representation means should not be 
> a function of what kind of 'talk' we use in referring to it. If I say its 
> implemented in LISP, would its meaning change yet again? I want to use 
> semantics-talk to talk about what representations - all representations - mean.

You seem to be using the term "representation" in a way that I would
use the word "language".  I would say that a statement in English,
KIF, or CGs has a meaning.  But I would not say that a data structure
represented in a computer has a meaning.  It has information content,
and we can make meaningful statements about it.  But the way we talk
about it depends on how we interpret it.

> You make it sound like 'a list', which can also be simply formally defined 
> and has many uses. But thats why this idea of 'a list' is not much use in 
> a semantic account of representation: you have to say how the list is 
> being (semantically) understood, what its inferential role is supposed to be.

Yes.  A list, by itself, is what I would call a representation.  But
it is not a "knowledge representation language".  KIF and CGs are 
examples of KR languages that have semantics and associated rules of
inference.  (By the way, I recall that in earlier notes, you were
using the abbreviation "Krep" and I was using "KR language".  That
may be one source of misunderstanding.)

> ... Surely, the symbolic 'side' of any implemented
> project is also a computational 'side'....

Yes.  I should have been clearer on that point.  I meant to distinguish
the side of things that was doing deduction on language-like representations
>From the side of the system that was doing numeric computations on
image-like representations.

John