Discussions about KIF and related issues

Message-id: <199207201144.AA29056@venera.isi.edu>
Date: Mon, 20 Jul 92 07:37:21 EDT
From: sowa@watson.ibm.com
Subject: Discussions about KIF and related issues
On July 6, I sent a note describing a two-hour discussion with Mike
Genesereth about some issues concerning KIF (at the end of this note is
a copy of the four main points).  During the AAAI Conference last week,
I had further discussions about KIF and related issues with several
people.  Following are some of the main points:

I talked with Doug Lenat about the relationship between KIF and the
Cyc Epistemological Level (EL).  Over the past few years, the Cyc EL
has evolved towards a purely declarative language with the scruffy,
procedural mechanisms pushed into the HL (Heuristic Level).  Although
it started as a frame-based language that was very far removed from
the logic-based core of KIF and related languages, the EL is now very
close -- actually a superset -- of that core.  I very much like the EL/HL
distinction, and I agree with Lenat that it would be nice if KIF could
evolve to include all or almost all of the features of the Cyc EL.
But I also agree with Genesereth that a solid theoretical foundation
is essential.

I don't believe that those two positions are irreconcilable.  The major
differences seem to be in personality and working methods:

 1. Lenat's goal is to represent everything.  Whenever something new came
    up that Cyc couldn't represent, the Cyc developers rushed in to add
    a feature to handle it.  Some of those features were incompatible
    with other features in Cyc and inconsistencies arose.  To resolve
    the problems, they gradually evolved towards a very clean EL, which
    is close in spirit to KIF, but considerably richer.

 2. Genesereth's goal is to develop a solid theoretical foundation for
    representing everything.  He has been working towards that goal with
    meticulous care and has been reluctant to include any new feature
    until all of its implications and interactions with other features
    have been thoroughly analyzed and understood.  As a result, KIF
    development has been very slow, and it still lacks many of the
    features the Cyc EL.  The largest discrepancies lie in treatment
    of contexts.

I sympathize with both of these positions:  I would like to see a system
as rich as the Cyc EL with a theoretical foundation as solid as KIF.
I don't believe that goal is unattainable, but some changes in the way
that the various groups work together may be necessary to achieve it.

Another person I spoke with in the hallways is Pat Hayes.  He had been
discussing the issue of contexts with John McCarthy for a long time
and felt that McCarthy was trying to bundle up too many uses in a single
mechanism (e.g. see Point #3 below in my discussion with Genesereth).
McCarthy agreed that contexts had multiple uses, but he wanted to "kill
multiple birds with a single stone."  That is a laudable aim, but a lot
of analysis is necessary to formalize all the bird-killing axioms.

I also spoke with Stuart Shapiro about relating SNePS to KIF.  He has
been working with Tim Finin and the KQML group to use KQML for accessing
SNePS.  Stuart said that he hadn't worked out the translation between KIF
and SNePS, but that it shouldn't be too difficult.  I urged him to work
on that translation, since there is a lot of potential for difficulties
to creep into the details.  I am doing a similar analysis of the recent
version of KIF and its mapping to conceptual graphs; the interactions
of sets with the other features have to be handled very carefully.

I also spoke with Bob MacGregor about how KRSS, LOOM, and other KL-ONE-
like systems could be mapped to KIF.  MacGregor said that he is much
happier about the latest version 3.0 of KIF, which he thinks is moving
in the right direction, but he still sees some discrepancies that have
to be ironed out.  We didn't have time to talk about them in detail.

Conclusions:  I think that we are making progress towards developing a
common semantic core for all the logic-based languages.  Contexts are
one of the most complex issues where there is still a big discrepancy
between some of the systems.  I agree with McCarthy, Guha, and Lenat
that contexts are a very powerful mechanism that can solve a number of
related problems.  But I also agree with Hayes and Genesereth that more
analysis is needed to sort out those problems.  That is an important
area for further research and development.

John Sowa

Main points that emerged from the discussion between Mike Genesereth
and John Sowa on June 23, 1992:

 1. Types.  At the KR Advisory Board meeting on March 28, I discussed
    this point with both Mike and Richard.  Mike agreed that it would
    not cause major theoretical problems to add types or sorts to KIF
    and that they would be useful in simplifying the mapping to typed
    languages such as KRSS, conceptual graphs, and most versions of
    semantic nets and object-oriented languages.  But Mike and Richard
    have not yet made a final decision on adding types to KIF, since
    there are still some issues that remain to be resolved, especially
    in the interaction of types with sets and some of the other details
    of the language.  I agree that the interaction of types and sets is
    a critical issue, and it should have high priority.

 2. Set theory and mereology.  Mike and I agreed that mereology has some
    interesting properties that make it useful for certain kinds of
    knowledge representation, but that set theory is so widely used that
    it must be included in the semantic core.  We agreed on the following

    a) Set theory as defined in KIF should be adopted as the basis for
       defining structures.  The distinctions between different axiom
       systems (such as Zermelo-Fraenkel or Von Neumann-Bernays-Goedel)
       are only relevant to applications that talk about nondenumerable
       sets, which could never be implemented in any computer system.
       I have philosophical doubts about the usefulness (or even the
       existence) of such sets; but if anybody wants to talk about such
       things, the language should permit them to do so.

    b) The axioms for mereology could be stated in KIF or CGs as needed,
       and the part_of relation for mereology could be identified with
       the subset relation for sets.  However, part_of could also be
       applied to things that are not sets, such as fluids or other
       continuous things that have no clearly marked joints or seams.

 3. Contexts.  Mike and I agreed that there are many distinct uses that
    people have suggested for contexts, and many of them lead into
    thorny research issues that have not yet been resolved to everyone's
    satisfaction.  Following is a list (by no means complete):

    a) Partitioning a knowledge base into more manageable modules.

    b) Encapsulating parts of a knowledge base, as in the so-called
       object-oriented systems.

    c) Providing a shorthand notation for omitting common arguments,
       such as location, time, etc.

    d) Providing a way of resolving indexical referents, such as
       "this", "that", "I", "you", or definite noun phrases beginning
       with "the".

    e) Representing environments whose modality, level of certainty, or
       hypothetical existence is different from that of the containing

    f) Supporting propositional attitude verbs (such as believe, know,
       think, want, hope, fear, expect, etc.).

    g) Separating a metalevel of language that is used to talk about
       the language that is used inside the nested context.

    We agreed that all of these uses are important, but that a lot of
    study is needed to sort them out.  Some of them are more clearly
    necessary than others, and the initial semantic core might not
    support all of them.  The question of which ones should be in the
    core is an issue for further discussion.

 4. Multiple representations.  We agreed that a linear language such
    as KIF has an advantage as an interchange format that is used for
    transmissions along a wire.  We also agreed that a graphic language
    such as conceptual graphs is more readable for ordinary human beings.
    KIF and CGs have a large overlap in their semantic bases, and the
    semantic differences between them are negotiable.  Therefore, we
    should work towards developing a common semantics that can be
    expressed equally well in both forms and with a formally defined
    mapping between them.  But this common mapping between KIF and CGs
    should not preclude anyone else who has an equally expressive
    language, in either linear or graphic form, from developing it as
    another possible representation for the common semantic core.