- From: John F. Sowa <sowa@bestweb.net>
- Date: Fri, 27 Jun 2008 13:03:39 -0400
- To: "[ontolog-forum]" <ontolog-forum@ontolog.cim3.net>
- CC: welty@us.ibm.com, semantic_web@googlegroups.com, public-semweb-lifesci hcls <public-semweb-lifesci@w3.org>, semanticweb@yahoogroups.com, "Obrst, Leo J." <lobrst@mitre.org>
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