Re: The Open world assumption shoe does not always fit - was: RE: [ontolog-forum] Fwd: Ontolog invited speaker session - Dr. Mark Greaves on the Halo Project - Thu 2008.06.19

Adrian and Toby,

Some comments:

TC> Date had it right.  NULL is neither true nor false.

Yes, and he made some recommendations that can be applied to
any logic-based notation.  One of them is to introduce special
constants or relations to handle various kinds of nonmonotonic
issues, and then write explicit code or axioms to process them
in an application-dependent way.

AW> If you move from SQL-like NAF reasoning, to full FOL with
 > closure statements at the meta level, you may also be moving from
 > low order polynomial computational complexity to exponential, or
 > even into the undecidable region.  A succinct paper on this issue
 > would be good to have.

The succinct paper is very short:  Any kind of reasoning that can
be done with a special-purpose logic can be done just as fast,
just as efficiently, and in exactly the same way when the special-
purpose notation is mapped to a more general notation.

To handle negation as failure, for example, you can design a
theorem prover that has NAF as an option.  Whenever it fails
to prove p, it checks the metalevel assertions to see if that
option is valid.  If so, it takes it.

There are also many cases where a metalevel reasoner can make
orders of magnitude *improvement* in performance at the object
level.  Among them are various kinds of compilers that reorganize
or specialize the axioms at the object level before proceeding
with the proof.

For example, the optimizers implemented in nearly all SQL DBs
optimize each query to minimize the number of DB accesses.
This creates a major improvement over the brute-force method
of processing a query in the order written.

For further discussion, see slide #26 of my talk on Common Logic,
which cites a paper by Bill Andersen et al., which I highly
recommend:

    http://www.jfsowa.com/talks/cl_sowa.pdf
    Tutorial on Common Logic

TC> ... what is CL, where should I start to read on it.

CL is Common Logic, and you can start by reading the above tutorial
and the web pages cited in the final slide.

AW> Then, there's no way for the English documentation to get
 > separated from the logic, because authors and users deal only
 > with the executable English.  English explanations can also help
 > to document how the answers are arrived at.

I agree.  And as I have emphasized many times, I approve of your
version of executable English and the many versions of controlled
NLs.  There is an enormous amount of human factors work remaining
to be done with such notations.  The real competition is not
between executable vs. controlled English, but with some of the
hopelessly unreadable notations that have proliferated in the
last few years.

John

Received on Friday, 27 June 2008 17:04:22 UTC