Requirements for a standard
Message-id: <>
Date: Mon, 3 Feb 92 16:51:50 EST
Cc: kr-advisory@ISI.EDU, interlingua@ISI.EDU, srkb@ISI.EDU,
Subject: Requirements for a standard

I think that a lot of the disagreements about standards arise from
differences of opinion about the goals and purposes of the standards.
In several of my earlier notes, I have been asking people to contribute
their lists of goals and requirements.  Until we can agree on what
these proposed "standards" are supposed to standardize, we cannot even
begin to agree on what the languages should look like.

I must admit that I have serious doubts about whether it is possible
to have a complete "Knowledge Interchange Format" that can capture
the full meaning of anybody's knowledge base plus all the reasoning
mechanisms associated with it and translate it into somebody else's
KBS and expect it to generate the same inferences that it did before.

If that is a goal of KIF, then I don't believe that it can be successful.
But there are other more modest goals that I think are achievable with
current technology -- or even with the F.O.L. that was well established
over a century ago.

Since I was mentioning Boeing in my earlier note, let's take the planned
Boeing 777 as an example.  Every part and relationship in that design
can be represented in an extremely tiny subset of FOL -- the subset
that includes only one Boolean operator (conjunction) and only one
quantifier (existential).  In fact, that tiny subset of logic is
adequate to describe everything that exists in the entire universe.

But if you want to say "That's all there is; there ain't no more",
you need an "all" quantifier and an "ain't" operator.  If you want to
summarize a lot of low-level statements by a generalization of the form,
"If there is a screw, there is something to screw it into", then you
need an implication operator.  But actually, "ain't" is enough, since
you can add it to conjunction and the existential quantifier to define
the universal quantifier, implication, and everything else in FOL.

Matt made an assumption about what I seem to believe:

> You appear to believe that it is possible to ensure *now* that a particular
> language will have the expressive power to capture tomorrow's "super
> nonmonotonic" methods.  Can you tell me what justification you have for
> that?

I don't believe that at all.  But I do believe that if you had a
complete description of a Boeing 777 in FOL, you could do all sorts
of creative reasoning with it using your super nonmonotonic reasoner.
You could start with the description as a collection of low-level facts,
and do hypothetical, nonmonotonic, or fuzzy reasoning about what would
happen if someone set off a bomb in the lavatory.  Having a starting
set of facts is a prerequisite for reasoning, not a restriction on
the methods of reasoning.

Since I have been asking for other people to state their own implicit
goals and requirements, let me begin with a brief statement of mine:

 1. I believe that the goal of communicating facts is a prerequisite to
    any other kind of communication.  Therefore, a standard must be able
    to communicate any statement of fact about anything in the universe.
    That goal can be achieved with nothing more than first-order logic.

 2. Furthermore, I believe that the standard must be able to express
    any constraint on any part of a system, such as for example, the
    Boeing 777.  That cannot be achieved with anything less than first
    order logic.

 3. In many of my writings, e.g. Ch. 7 of Conceptual Structures and
    some recent papers on "knowledge soup", I have been emphasizing
    the point that no description can ever be complete or comprehensive
    for all possible goals and purposes.  Therefore, any standard must
    allow for incomplete modules or contexts that may be inconsistent
    with one another.  How those inconsistencies can be resolved is a
    major research problem, and I don't believe that the standard can
    prescribe one method over any other.  But it must have a way of
    packaging knowledge in contexts and allowing somebody to apply
    his or her reasoning system to any part of it.

 4. In my work on the ANSI IRDS committee, I have been running into
    many requirements for partitioning and subsetting knowledge bases
    that reinforce my belief in the need for contexts.  The requirements
    for CASE tools, for software engineering, for database design, etc.,
    require the ability to say "This definition was entered on
    30 December 1991 by John Smith and was modified on 8 January 1992
    by Mary Jones."  That implies a metalanguage for talking about
    contexts and what they contain.  It does not, however, imply the
    need for any way to reason about contexts.  For many purposes, it
    is sufficient just to say who defined something when.  If anyone
    wants to reason about the contents, that is OK, but the methods
    of reasoning should not be part of the standard.

These requirements imply a system for describing and communicating
knowledge.  But they don't say anything about how one is expected
to reason with or about that knowledge.  In the immortal words of
Sergeant Friday, "All we want are just the facts, ma'am.  What you
think about them is not our concern."

To answer Matt Ginsberg's earlier point, I don't believe that such a
system would be able to capture anybody's reasoning methods.  And for
that reason, I don't believe that it would impose any restrictions at
all on anybody.  But I also believe that if anybody were able to develop
a super nonmonotonic Sergeant-Friday-simulator, they could turn it loose
on "just the facts" and do all sorts of "wild and wonderful things."

John Sowa