\documentclass{article}
\usepackage{html}
% This is the March 1996 version
%
\newcount\hours
\newcount\minutes
\newcount\temp
\newtoks\ampm

% set the real time of day

\def\setdaytime{%
   \temp\time 
   \divide\temp 60
   \hours\temp 
   \multiply\temp -60
   \minutes\time 
   \advance\minutes \temp 
   \ifnum\hours =12 \ampm={p.m.} \else
   \ifnum\hours >12 \advance\hours -12 \ampm={p.m.} \else \ampm={a.m.} \fi \fi
}

\setdaytime

\def\theMonth{\relax
  \ifcase\month\or
    Jan\or Feb\or Mar\or Apr\or May\or Jun\or
    Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi}

\def\theTime{\the\hours:\ifnum \minutes < 10 0\fi \the\minutes\ \the\ampm}

\def\jmcdate{ \number\year\space\theMonth\space\number\day}

%******************************
%******************************

\begin{document}
\title{NOTES ON FORMALIZING CONTEXT
\thanks{This work was partly supported by DARPA contract NAG2-703.}}

\author{John McCarthy\\
Computer Science Department\\
Stanford University\\
Stanford, CA 94305\\
U.S.A.\\
(email: jmc@cs.stanford.edu)
}
\date{}
\maketitle


\begin{abstract}

These notes discuss formalizing contexts as first class objects.  The
basic relation is $ist(c,p)$.  It asserts that the {\em proposition}
$p$ is true in the {\em context} $c$.  The most important formulas
relate the propositions true in different contexts.  Introducing
contexts as formal objects will permit axiomatizations in limited
contexts to be expanded to {\em transcend} the original limitations.
This seems necessary to provide AI programs using logic with certain
capabilities that human fact representation and human reasoning
possess. Fully implementing {\it transcendence} seems to require
further extensions to mathematical logic, i.e. beyond the nonmonotonic
inference methods first invented in AI and now studied
as a new domain of logic.  Various notations are considered,
but these notes are tentative in not proposing a single language with
all the desired capabilities.

\end{abstract}



\section{Introduction}\label{intro}

        These notes contain some of the reasoning behind the proposals
of \cite{McC87} to introduce contexts as formal objects.  The
present proposals are incomplete and tentative.  In particular the
formulas are not what we will eventually want, and I will feel free to
use formulas in discussions of different applications that aren't
always compatible with each other.  [While I dithered, R.V. Guha wrote
his dissertation.]

        Our object is to introduce contexts as abstract mathematical
entities with properties useful in artificial intelligence.  Our
attitude is therefore a computer science or engineering attitude.
If one takes a psychological or philosophical attitude, one can
examine the phenomenon of contextual dependence of an utterance or
a belief.  However, it seems to me unlikely that this study will
result in a unique conclusion about {\em what context is.}  Instead,
as is usual in AI, various notions will be found useful.

        One major AI goal of this formalization is to allow simple
axioms for common sense phenomena, e.g. axioms for static blocks world
situations, to be {\em lifted} to contexts involving fewer
assumptions, e.g. to contexts in which situations change.  This is
necessary if the axioms are to be included in general common sense
databases that can be used by any programs needing to know about the
phenomenon covered but which may be concerned with other mattters as
well. Rules for lifting are described in section \ref{lifting} and
an example is given.

A second goal is to treat the context associated with a particular
circumstance, e.g. the context of a conversation in which terms
have particular meanings that they wouldn't have in the language
in general.

The most ambitious goal is to make AI systems which are never
permanently stuck with the concepts they use at a given time because
they can always {\em transcend} the context they are in---if they are
smart enough or are told how to do so.  To this end,  formulas
$ist(c,p)$ are always considered as themselves asserted within
a context, i.e. we have something like $ist(c',ist(c,p))$.  The
regress is infinite, but we will show that it is harmless.

        The main formulas are sentences of the form 
%
\begin{equation}
c': \quad\quad\quad\quad ist(c,p),  \label{ist}
\end{equation}
%
which are to be taken as assertions that the proposition $p$ is true
in the context $c$, itself asserted in an outer context $c'$.
(I have adopted Guha's \cite{Guha91} notation rather than
that of \cite{McC87}, because he built his into Cyc, and it was
easy for me to change mine.  For now, propositions may be identified
with sentences in English or in various logical languages, but we may
later take them in the sense of \cite{McC79b} as abstractions with
possibly different identity conditions.  We will use both logical
sentences and English sentences in the examples, according to
whichever is more convenient.

Contexts are abstract objects.  We
don't offer a definition, but we will offer some examples.  Some contexts
will be {\em rich} objects, like situations in situation calculus.  For
example, the context associated with a conversation is rich; we cannot
list all the common assumptions of the participants.
Thus we don't purport to describe such contexts completely; we only
say something about them.  On the other hand, the contexts associated
with certain microtheories are poor and can be completely described.

        Here are some examples.

\begin{eqnarray*}
\begin{array}{l}
c0:\quad ist(context\hbox{-}of(\hbox{``Sherlock Holmes stories''}),\\
\ \ \ \  \hbox{``Holmes is a detective''})
\end{array}
\end{eqnarray*}
%
asserts that it is true in the context of the Sherlock Holmes stories
that Holmes is a detective.  We use English quotations here, because
the formal notation is still undecided.  Here $c0$ is considered
to be an {\em outer context}.   In the context
$context\hbox{-}of(\hbox{``Sherlock Holmes stories''})$,
Holmes's mother's maiden name does not have a value.  We also have

\begin{eqnarray*}
\begin{array}{l}
c0: \quad\quad ist(context\hbox{-}of(\hbox{``U.S. legal history''}),\\
\ \ \ \ \hbox{``Holmes is a Supreme Court Justice''}).
\end{array}
\end{eqnarray*}
%
Since the outer context is taken to be the same as above, we will
omit it in subsequent formulas until it becomes relevant again.
In this context, Holmes's mother's maiden name has a value, namely
Jackson, and it
would still have that value even if no-one today knew it.

$ist(c1,at(jmc, Stanford))$ is the assertion that John McCarthy is at
Stanford University in a context in which it is given that $jmc$
stands for the author of this paper and that $Stanford$ stands for
Stanford University.  The context $c1$ may be one in which the symbol
$at$ is taken in the sense of being regularly at a place, rather than
meaning momentarily at the place.  In another context $c2$,
$at(jmc,Stanford)$ may mean physical presence at Stanford at a certain
instant.  Programs based on the theory should use the appropriate
meaning automatically.

        Besides the sentence $ist(c,p)$, we also want the
term $value(c,term)$ where $term$ is a term.  For example, we may need
$value(c,time)$, when $c$ is a context that has a time, e.g. a context
usable for making assertions about a particular situation.  The
interpretation of $value(c,term)$ involves a problem that doesn't
arise with $ist(c,p)$.  Namely, the space in which terms take values
may itself be context dependent.  However, many applications will not
require this generality and will allow the domain of terms to be
regarded as fixed.

Here's another example of the value of a term depending on context:

\begin{eqnarray}
\begin{array}{l}
c0: \quad\quad value(context\hbox{-}of(\hbox{``Sherlock Holmes stories''}),
\nonumber\\
\ \ \ \ \hbox{``number
of Holmes's wives''}) = 0
\end{array}
\end{eqnarray}
%
whereas

\begin{eqnarray}
\begin{array}{l}
c0: \quad\quad value(context\hbox{-}of(\hbox{``U.S. legal history''}),
\nonumber\\
\ \ \ \ \hbox{``number
of Holmes's wives''}) = 1.
\end{array}
\end{eqnarray}
%
We can consider $setof\hbox{-}wives(Holmes)$ as a term for which
the set of possible values depends on context.  In the case of the
Supreme Court justice, the set consists of real women, whereas in
the Sherlock Holmes case, it consists of fictitious women.



\section{Relations among Contexts}

        There are many useful relations among contexts and also
context valued functions.  Here are some.

1. $specialize\hbox{-}time(t,c)$ is a context related to $c$ in which the
time is specialized to have the value $t$.  We may have the relation

\begin{eqnarray*}
\begin{array}{l}
c0: \quad ist(specialize\hbox{-}time(t,c),at(jmc,Stanford))\\ 
\ \ \ \ \equiv
ist(c,at\hbox{-}time(t,at(jmc,Stanford))).
\end{array}
\end{eqnarray*}
%
Here $at\hbox{-}time(t,p)$ is the assertion that the proposition $p$
holds at time $t$.  We call this a {\em lifting} relation.  It is
convenient to write $at\hbox{-}time(t,foo(x,y,z))$ rather than
$foo(x,y,z,t)$, because this lets us drop $t$ in certain contexts.
Many expressions are also better represented using modifiers
expressed by functions rather than by using predicates and
functions with many arguments.  Actions give immediate examples,
e.g. $slowly(on\hbox{-}foot(go))$ rather than $go(on\hbox{-}foot,slowly)$.

Instead of using the function $specialize\hbox{-}time$, it may
be convenient to use a predicate $specializes\hbox{-}time$ and an axiom
%
\begin{eqnarray*}
\begin{array}{l}
c0:\quad specializes\hbox{-}time(t,c1,c2)\land ist(p,c1)\\
\ \ \ \ \supset ist(c2,at\hbox{-}time(t,p)).
\end{array}
\end{eqnarray*}
%
This would permit different contexts $c1$ all of which specialize $c2$
to a particular time.

There are also relations concerned with specializing places
and with specializing speakers and hearers.  Such relations
permit lifting sentences containing pronouns to contexts
not presuming specific places and persons.

2. If $q$ is a proposition and $c$ is a context, then
$assuming(p,c)$ is another context like $c$ in which
$p$ is assumed, where ``assumed'' is taken in the natural
deduction sense of section \ref{foo}.

3. There is a general relation $specializes$ between contexts.  We say
$specializes(c1,c2)$ when $c2$ involves no more assumptions than
$c1$ and every {\em proposition} meaningful in $c1$ is translatable into
one meaningful in $c2$.  We have nonmonotonic relations

%
\[
specializes(c1,c2) \land \lnot ab1(p,c1,c2) \land ist(c1,p)
\supset ist(c2,p).\label{spec1}
\]
%
and
%
$$specializes(c1,c2) \land \lnot ab2(p,c1,c2) \land ist(c2,p)
\supset ist(c1,p).$$
%
This gives nonmonotonic inheritance of $ist$ in both from the
subcontext to the supercontext and vice versa.  More useful
is the case when the sentences must change when lifted.  See
below for an example.

4. A major set of relations that need to be expressed are those
between the context of a particular conversation and a subsequent
written report about the situation in which the conversation took
place.  References to persons and objects are {\em decontextualized}
in the report, and sentences like those given above can be used
to express their relations.

% rewrite to emphasize local context
5. Consider a wire with a signal on it which may have the
value 0 or 1.  We can associate a context with this wire
that depends on time.  Call it $c_{wire117}(t)$.  Suppose
at time 331, the value of this signal is 0.  We can write
this
%
$$ist(c_{wire117}(331),signal = 0).$$
%
Suppose the meaning of the signal is that the door of the microwave
oven is open or closed according to whether the signal on $wire117$ is
0 or 1.  We can then write the lifting relation
%
$$\forall\ t(ist(c_{wire117}(t),signal = 0) \equiv door\hbox{-}open(t).$$
%
The idea is that we can introduce contexts associated with
particular parts of a circuit or other system, each with its special
language, and lift sentences from this context to sentences meaningful
for the system as a whole.



\section{Entering and Leaving Contexts}\label{foo}

        Suppose we have the sentence $ist(c,p)$.  We can then {\it
enter} the context $c$ and {\em infer} the sentence $p$.  We can
regard $ist(c,p)$ as analogous to $c \supset p$, and the operation of
entering $c$ as analogous to {\em assuming} $c$ in a system of {\it
natural deduction} as invented by Gentzen and described in many
logic texts.  Indeed a context is a generalization of a
collection of assumptions, but there are important differences.  For
example, contexts contain linguistic {\em assumptions} as well as
declarative and a context may correspond to an infinite and only
partially known collection of assumptions.  Moreover, because
relations among contexts are expressed as sentences in the language,
$ist(c,p)$ allows inferences within the language that could only be
done at the meta-level of the usual natural deduction systems.

        There are various ways of handling the reasoning step of
entering a context.  The way most analogous to the usual natural
deduction systems is to have an operation $enter\ c$.  Having done
this, one could then write any $p$ for which one already had
$ist(c,p)$.  However, it seems more convenient in an interactive
theorem proving to use the style of Jussi Ketonen's EKL
interactive theorem prover \cite{KetWeen}.  In
the style of that system, if one had $ist(c,p)$, one could immediately
write $p$, and the system would keep track of the dependence on $c$.
To avoid ambiguity as to where an occurrence of $ist(\ ,p)$ came from,
one might have to refer to a line number in the derivation.  Having
obtained $p$ by entering $c$ and then inferring some sentence $q$, one
can {\em leave} $c$ and get $ist(c,q)$.  In natural deduction, this
would be called discharging the assumption $c$.  

Human natural language risks ambiguity by not always specifying such
assumptions, relying on the hearer or reader to guess what contexts
makes sense.  The hearer employs a {\em principle of charity} and
chooses an interpretation that assumes the speaker is making sense.
In AI usage we probably don't usually want computers to make
assertions that depend on principles of charity for their
interpretation.

        Another application of entering a context has to do with
quantifiers.  It involves a distinguished predicate $present(c,exp)$,
where $exp$ names an object.  If we have
%
$$\forall x(present(c,x) \supset P(x)),$$
%
then when we enter $c$, then a special inference rule associated
with the predicate $present$ gives
%
$$\forall x P(x).$$
%
Likewise if we have shown
%
$$\exists x P(x)$$
%
within the context $c$, we can infer

$$\exists x(present(c,x) \land P(x)).$$

We could get similar effects by associating a domain (call it $domain(c)$)
with each context $c$.

        I'm presently doubtful that the reasoning we will want
our programs to do on their own will correspond closely to using
an interactive theorem prover.  Therefore, it isn't clear whether
the above ideas for implementing entering and leaving contexts will
be what we want.

        Sentences of the form $ist(c,p)$ can themselves be true in
contexts, e.g. we can have $ist(c0,ist(c1,p))$.  In this draft, we
will ignore the fact that if we want to stay in first order logic, we
should reify assertions and write something like $ist(c0,Ist(c1,p))$,
where $Ist(c,p)$ is a term rather than a wff.  We plan to fix this up
in some way later, either by introducing terms like $Ist(c,p)$ or by
using a modified logic.  Actually the same problem arises for $p$
itself; the occurrence of $p$ in $ist(c,p)$ might have to be
syntactically distinct from the occurence of $p$ standing by itself.



\section{Rules for Lifting}
\label{lifting}


Consider a context $above\hbox{-}theory$, which expresses a
static theory of the blocks world predicates $on$ and $above$.
In reasoning about the predicates themselves it is convenient
not to make them depend on situations or on a time
parameter.  However, we need to {\em lift} the results of
$above\hbox{-}theory$ to outer contexts that do involve
situations or times.

  To describe $above\hbox{-}theory$, we may write informally

\medskip

\noindent $above\hbox{-}theory:$
%
\begin{equation}
(\forall x y)(on(x,y)\supset above(x,y))\label{onabove}
\end{equation}
%
\begin{equation}
(\forall x y z)(above(x,y)\land above(y,z)\supset above(x,z))\label{trans}
\end{equation}
%
$$\rm{etc.}$$
%
which stands for
%
\begin{equation}
c0:\quad\quad ist(above\hbox{-}theory,(\forall x y)(on(x,y)\supset above(x,y)))
\label{onabove1}
\end{equation}
%
$$\rm{etc.}$$

        We want to apply $above\hbox{-}theory$ in a context $c$ in
which $on$ and $above$ have a third argument denoting a situation.  In
the following formulas, we put the context in which the formula is
true to the left followed by a colon.  $c0$ denotes an outer context
in which formulas not otherwise qualified are true.  The next section
has more about $c0$.  Suppose that in context $c$ we have
%
\begin{equation}
c:\quad\quad\quad\quad (\forall x y s)(on(x,y,s) \equiv ist(c1(s),on(x,y))),\label{on1}
\end{equation}
%
and
%
\begin{equation}
c:\quad\quad\quad\quad (\forall x y s)(above(x,y,s) \equiv ist(c1(s),above(x,y))),\label{c9}
\end{equation}
%
$$\rm{etc.},$$
%
thus associating a context $c1(s)$ with each situation $s$.
%
We also need
%
\begin{eqnarray}
c0:\quad\quad\quad\quad &ist(c,(\forall p\ s)(ist(above\hbox{-}theory,p)
\nonumber \\
&\supset ist(c1(s),p))),\label{c3}
\end{eqnarray}
%
which abbreviates to
%
\begin{equation}
c:\quad\quad\quad\quad (\forall p\ s)(ist(above\hbox{-}theory,p)\supset ist(c1(s),p)),\label{c2}
\end{equation}
%
and asserts that the facts of $above\hbox{-}theory$ all hold in
the contexts associated with situations.  Mike Genesereth points out
that this necessarily involves quantifying into an $ist$.
Now suppose we have the specific fact
%
\begin{equation}
c0:\quad\quad\quad\quad ist(c,on(A,B,S0))
\end{equation}
%
asserting that block $A$ is on block $B$ in a specific situation $S0$,
and we want to derive $ist(c,above(A,B,S0))$. We proceed as follows.

First use (\ref{on1}) to get
%
\begin{equation}
c:\quad\quad\quad\quad ist(c1(S0),on(A,B)).
\end{equation}
%
Now we enter $c1(S0)$ and get
%
\begin{equation}
c1(S0):\quad\quad\quad\quad on(A,B).\label{c7}
\end{equation}
%
From (\ref{onabove1}) and (\ref{c2}) we conclude
%
\begin{equation}
c:\quad\quad\quad\quad ist(c1(S0),(\forall x y)(on(x,y)\supset above(x,y))),\label{c5}
\end{equation}
%
from which entering $c1(S0)$ gives
%
\begin{equation}
c1(S0):\quad\quad\quad\quad (\forall x y)(on(x,y)\supset above(x,y)).\label{c6}
\end{equation}
%
(\ref{c7}) and (\ref{c6}) give
%
\begin{equation}
c1(S0):\quad\quad\quad\quad above(A,B),\label{c8}
\end{equation}
holding in context $c1(S0)$.  We can now either continue reasoning
in $c1(S0)$ or leave $c1(S0)$ and get
%
\begin{equation}
c: \quad\quad\quad\quad ist(c1(S0),above(A,B))\label{c10}
\end{equation}
%
and using (\ref{c9})
%
\begin{equation}
c:\quad\quad\quad\quad above(A,B,S0)\label{c11}
\end{equation}
%
and finally
%
\begin{equation}
c0:\quad\quad\quad\quad ist(c,above(A,B,S0)).\label{c12}
\end{equation}

In this derivation we used a function giving a context
$c1(s)$ depending on the situation parameter $s$.  Contexts depending
on parameters will surely present problems requiring more study.

Besides that, the careful reader of the derivation will wonder
what system of logic permits the manipulations involved, especially
the substitution of sentences for variables followed by the
immediate use of the results of the substitution.  There are
various systems that can be used, e.g. quasi-quotation as used
in the Lisp or KIF, use of back-quotes, or the notation of
\cite{buvac-mason-93} or the ideas of \cite{McC79b},
but all have disadvantages.  At present we are more attached to
the derivation than to any specific logical system and consider
preferable a system in which the above derivation is preserved
with as little change as possible.

As a further example, consider rules for lifting statements
like those of section \ref{intro} to one in which we can
express statements about Justice Holmes's opinion of the
Sherlock Holmes stories.


\section{Transcending Contexts}
% see /u/jmc/s92/context.2.tex=1675
% use transcendence to elaborate the notion of buying and selling

        Human intelligence involves an ability that no-one has yet
undertaken to put in computer programs---namely the ability to
{\it transcend} the context of one's beliefs.

        That objects fall would be expected to be as thoroughly built
into human mental structure as any belief could be.  Nevertheless,
long before space travel became possible, the possibility of
weightlessness was contemplated.  It wasn't easy, and Jules Verne got
it wrong when he thought that there would be a turn-over point on the
way to the moon when the travellers, who had been experiencing a pull
towards the earth would suddenly experience a pull towards the moon.

        In fact, this ability is required for something less than full
intelligence.  We need it to be able to comprehend someone else's
discovery even if we can't make the discovery ourselves.  To use the
terminology of \cite{McCHay69}, it is needed for the {\it
epistemological} part of intelligence, leaving aside the heuristic.

%       Another example of the need for transcendence is given
%by the axiom of choice in mathematics.  The axiom doesn't follow
%from the other axioms of set theory.  We need to ask, ``How can
%a computer program come to discover and give credence to
%(in some sense) the axiom of choice or any other independent
%proposition.''

        We want to regard the system as being at any time within an
implicit outer context; we have used $c0$ in this paper.  Thus a
sentence $p$ that the program believes without qualification is
regarded as equivalent to $ist(c0,p)$, and the program can therefore
infer $ist(c0,p)$ from $p$, thus {\em transcending} the context $c0$.
Performing this operation again should give us a new outer context,
call it $c_{-1}$.  This process can be continued indefinitely.  We
might even consider continuing the process transfinitely, for example,
in order to have sentences that refer to the process of successive
transcendence.  However, I have no present use for that.

        However, if the only mechanism we had is the one described in
the previous paragraph, transcendence would be pointless.  The new
sentences would just be more elaborate versions of the old.  The point
of transcendence arises when we want the transcending context to relax
or change some assumptions of the old.  For example, our language of
adjacency of physical objects may implicitly assume a gravitational
field, e.g.  by having relations of $on$ and $above$.  We may not have
encapsulated these relations in a context.  One use of transcendence
is to permit relaxing such implicit assumptions.

        The formalism might be further extended to provide so that in
$c_{-1}$ the whole set of sentences true in $c_0$ is an object
$truths(c0)$.

        Transcendence in this formalism is an approach to formalizing
something that is done in science and philosophy whenever it is
necessary to go from a language that makes certain asumptions to one
that does not.  It also provides a way of formalizing some of the
human ability to make assertions about one's own thoughts.

        The usefulness of transcendence will depend on there being
a suitable collection of nonmonotonic rules for {\em lifting}
sentences to the higher level contexts.

        As long as we stay within a fixed outer context, it seems
that our logic could remain ordinary first order logic.  Transcending
the outermost context seems to require a changed logic with what
Tarski and Montague call {\em reflexion principles}.  They use them
for sentences like $true(p*) \equiv p$, e.g ``\ `Snow is white.'
is true if and only if snow is white.''

The above discussion concerns the epistemology of transcending
contexts.  The heuristics of transcendence, i.e. when a system
should transcend its outer context and how, is entirely an
open subject.


\section{Relative Decontextualization}

        Quine [1969] uses a notion of ``eternal sentence'',
essentially one that doesn't depend on context.  This seems a
doubtful idea and perhaps incompatible with some of Quine's
other ideas, because there isn't any language in which eternal
sentences could be expressed that doesn't involve contexts
of some sort.  We want to modify Quine's idea into something
we can use.

        The usefulness of eternal sentences comes from the fact
that ordinary speech or writing involves many contexts, some of
which, like pronoun reference, are valid only for parts of
sentences.  Consider, ``Yes, John McCarthy is at Stanford University,
but he's not at Stanford today''.  The phrase ``at Stanford''
is used in two senses in the same sentence.  If the information
is to be put (say) in a book to be read years later by people who don't
know McCarthy or Stanford, then the information has to be
decontextualized to the extent of replacing some of the phrases
by less contextual ones.  

        The way we propose to do the work of ``eternal sentences''
is called {\em relative decontextualization}.  The idea is that
when several contexts occur in a discussion, there is a common
context above all of them into which all terms and predicates
can be lifted.  Sentences in this context are ``relatively eternal'',
but more thinking or adaptation to people or programs with different
presuppositions may result in this context being transcended.


\section{Mental States as Outer Contexts}

        A person's state of mind cannot be adequately regarded
as the set of propositions that he believes---at least not if
we regard the propositions as sentences that he would give
as answers to questions.  For example, as I write this I
believe that George Bush is the President of the United States,
and if I were entering information in a database, I might
write
%
$$president(U.S.A) = George.Bush.$$
%
However, my state of mind includes, besides the asertion itself,
my reasons for believing it, e.g. he has been referred to as
President in today's news, and I regard his death or incapacitation
in such a short interval as improbable.  The idea of a TMS or
reason maintenance system is to keep track of the pedigrees of
all the sentences in the database and keep this information in
an auxiliary database, usually not in the form of sentences.

Our proposal is to use a database consisting entirely of {\em outer}
sentences where the pedigree of an {\em inner} sentence is an auxiliary
parameter of a kind of
modal operator surrounding the sentence.  Thus we might have the outer
sentence
%
$$believe(president(U.S.A.) = George.Bush, because \ldots),$$
%
where the dots represent the reasons for believing that Bush
is President.

        The use of formalized contexts provides a convenient way of
realizing this idea.  In an outer context, the sentence with reasons
is asserted.  However, once the system has committed itself to
reasoning with the proposition that Bush is President, it enters an
inner context with the simpler assertion
%
\[president(U.S.A.) = George Bush.\]
%
If the system then uses the
assertion that Bush is President to reach a further conclusion, then
when it leaves the inner context,
this conclusion needs to acquire a suitable pedigree.

Consider a belief revision system that revises a database of beliefs
solely as a function of the new belief being introduced and the old
beliefs in the system.  Such systems seem inadequate
even to take into account the information used by TMS's to revise
beliefs.  However, it might turn out that such a system used on
the outer beliefs might be adequate, because the consequent revision of
inner beliefs would take reasons into account.



\section{Short Term Applications}

        We see the use of formalized contexts as one of the essential
tools for reaching human level intelligence by logic based methods.
However, we see formalized contexts as having shorter term applications.

\begin{itemize}

\item Guha has put contexts into Cyc, largely in the form of microtheories.
The $above-theory$ example is a microtheory.  See \cite{Guha91} for
some of the details.

\item Suppose the Air Force and General Electric Co. each have
databases that include prices of jet engines and associated
equipment.  The items overlap in that jet engines that General
Electric sells to the Air Force are included.  Suppose further
that the databases are not entirely compatible because the
prices are based on different assumptions about spare parts
and warranty conditions.  Now suppose that the databases are
to be used together by a program that must check whether the
Air Force database is up-to-date on General Electric prices.

Our idea is that corresponding to each database is a context,
e.g. {\em context-GE-engine-prices} and {\em context-AF-engine-prices}.
The program, however, must work with a context we may call
{\em context-GE-AF-engine-prices}.  Its language allows statements
with auxiliary information about what is included in the
price of an item.  Suitable {\em lifting rules} allow
translating the sentences of the two other databases into
this more comprehensive context.

\end{itemize}




\section{Remarks}

\begin{enumerate}

\item We have mentioned various ways of getting new contexts
from old ones: by specializing the time or place, by specializing the
situation, by making abbreviations, by specializing the subject matter
(e.g. to U.S. legal history), by making assumptions and by
specializing to the context of a conversation.  These are all
specializations of one kind or another.  Getting a new context
by transcending an old context, e.g. by dropping the assumption of a
gravitational field, gives rise to a whole new class of ways
of getting new contexts.

These are too many ways of getting new contexts to be treated
separately.


\item We have used natural language examples in this article,
although natural language is not our main concern.  Nevertheless,
I hope that formalizing context in the ways we propose may be
useful in studying the semantics of natural language.  Natural
language exhibits the striking phenomenon that context may
vary on a very small scale; several contexts may occur in a
single sentence.

        Consider the context of an operation in which the
surgeon says, ``Scalpel''.  In context, this may be equivalent
to the sentence, ``Please give me the number 3 scalpel''.

%We regard contexts as {\em rich} objects.  In this respect they are
%like situations as proposed in the situation calculus of
%(McCarthy and Hayes 1969).  Rich objects are never fully described,
%although the system can have facts about them.  The intuition from
%human behavior is that no-one can fully say what the context of
%a given utterance is.  Neither the linguistic conventions nor the
%underlying assumptions of a context can be made fully explicit.

\item $ist(c,p)$ can be considered a modal operator dependent on $c$
applied to $p$.  This was explored in \cite{Shoham91}.

\item It would be useful to have a formal theory of the natural
phenomenon of context, e.g. in human life, as distinct from
inventing a form of context useful for AI systems using logic
for representation.  This is likely to be an {\em approximate theory}
in the sense described in \cite{McC79a}.  That is, the term ``context''
will appear in useful axioms and other sentences but will not have a
definition involving ``if and only if''.

\item Useful nonmonotonic rules for lifting will surely be more complex
than the examples given.

\end{enumerate}



\section*{Acknowledgments}

        The development of these ideas has benefitted from discussions
with Sa\v{s}a Buva\v{c}, Tom Costello, Mike Genesereth, Fausto
Giunchiglia and R. V.  Guha.  Guha wrote his thesis \cite{Guha91} while this
article was going through many versions as the ideas developed, and
the mutual influences cannot be specified.



\begin{thebibliography}{Guha}

\bibitem[Buvac and Mason, 1993]{buvac-mason-93}
{\bf Sa\v{s}a Buva\v{c} and Ian~A. Mason.}:
 ``Propositional logic of context'', 
in {\em Proceedings of the Eleventh National Conference on Artificial
  Intelligence}, 1993.  To appear.


\bibitem[Guha, 1991]{Guha91} {\bf Guha, R. V.}:
 {\em Contexts: A Formalization and
Some Applications}, Stanford PhD Thesis, 1991.

\bibitem[Ketonen and Weening, 1984]{KetWeen}
{\bf Ketonen, Jussi and Joseph S. Weening}:
{\em EKL---An Interactive Proof Checker: User's Reference Manual},
Computer Science Department, Stanford University, Stanford, California,
1984.

\bibitem[McCarthy and Hayes, 1969]
{McCHay69}{\bf McCarthy, John and P.J. Hayes}:  
``Some Philosophical Problems from the Standpoint of Artificial
Intelligence'', in D. Michie (ed), {\em Machine Intelligence 4},
American Elsevier, New York, NY, 1969.  Reprinted in \cite{McC90}.
%  phil.tex[ess,jmc] with slight modifications

\bibitem[McCarthy, 1979a]{McC79a} {\bf McCarthy, John (1979a)}:
``Ascribing Mental Qualities to Machines'' in {\em Philosophical Perspectives 
in Artificial Intelligence}, Ringle, Martin (ed.), Harvester Press, July 1979.
Reprinted in \cite{McC90}.
%  .<<aim 326, MENTAL[F76,JMC],
% mental.tex[f76,jmc]>>


\bibitem[McCarthy, 1979b]{McC79b} {\bf McCarthy, John (1979b)}: 
``First Order Theories of Individual Concepts and Propositions'', 
in Michie, Donald (ed.) {\em Machine Intelligence 9}, (University of
Edinburgh Press, Edinburgh).  Reprinted in \cite{McC90}..
%  .<<aim 325, concep.tex[e76,jmc]>>

\bibitem[McCarthy, 1987]{McC87} {\bf McCarthy, John (1987)}:
``Generality in Artificial Intelligence'', {\em Communications of the ACM}.
Vol. 30, No. 12, pp. 1030-1035.  Also in {\em ACM Turing Award
Lectures, The First Twenty Years}, ACM Press, 1987.
  Reprinted in \cite{McC90}..
% genera[w86,jmc]

\bibitem[McCarthy, 1990]{McC90}{\bf McCarthy, John}:
{\em Formalizing Common Sense},
Ablex, Norwood, New Jersey, 1990.

\bibitem[Quine, 1969]{Quine69}{\bf Quine, W. V. O.}:
``Propositional Objects'', in {\em Ontological Relativity and other Essays},
Columbia University Press, New York, 1969.

\bibitem[Shoham, 1991]{Shoham91}{\bf Shoham, Y.}:
``Varieties of Context'', in {\em Artificial Intelligence and Mathematical
Theories of Computation}, Academic Press, San Diego and London, 1991.



\end{thebibliography}



\bigskip

{\tiny\noindent /@sail.stanford.edu:/u/ftp/pub/jmc/context-2.tex: created 1991 winter, latexed
\jmcdate\ at \theTime}
\end{document}
