Logic Programming in Wikipedia Update

Robert Kowalski
Imperial College, London

Editor: Enrico Pontelli

Download: PDF

I did not know, when I wrote my wikipedia article for the Feb./Mar. 2007 ALP newsletter, that Carl Hewitt had been “banned from autobiographical editing regarding himself and his work or that of his students.” The ban, which took effect on 16 February 2006, included “creation of links and categories which refer to that work.”1  Up until the time of the ban, Hewitt had been the main editor to the Logic Programming article.

The ban had more to  do with his promoting “in various articles on quantum mechanics such as quantum indeterminacy a view of the incompleteness of quantum mechanics that is not generally accepted and which does not belong in mainstream quantum mechanics pages” than it had to do with anything concerning logic programming. But it applied to the logic programming article as well.

Carl Hewitt started editing the logic programming article again on 30 March 2007, apparently believing that, after a year, the ban was no longer in force. This resulted in an editing war, in which I was compelled to take part. The war lasted until 11 April 2007, when an administrator protected the logic programming article, “enforcing Carl Hewitt's ban on autobiographical editing”.

The editing war of 30 March to 11 April 2007 was very unpleasant. Among other things, I was challenged to explain exactly how my notion of logic programming differed from Carl Hewitt’s.2  I suggested starting a separate article with the title, “logical programming”, which seemed to satisfy some of some of Hewitt’s supporters. But the administrator enforcing the ban decided against it.

The current version of the article has been rated as B class, meaning among other things that it is assessed as “useful to many, but not all, readers. A casual reader flipping through articles would feel that they generally understood the topic, but a serious student or researcher trying to use the material would have trouble doing so, or would risk error in derivative work.”3  I agree with that assessment.

Among other problems, there are many important topics, such as abductive logic programming, answer set programming, constraint logic programming, datalog, disjunctive logic programming, inductive logic programming, meta-programming and parallelism missing from the article. Moreover, there are a large number of idiosyncratic references at the end of the article, which ought to be cleaned up.

It is a great shame that the logic programming article is in such poor shape. However, many other articles related to logic programming are in even worse condition. Take the article on stable model semantics, for example. The last paragraph states that “the stable model semantics defines a whole family of models of (or 'answers to') a logic program and the minimal of these models according to the knowledge of information ordering is considered as the favourite, and is one-to-one related with the so-called well-founded semantics.”

The article on well-founded semantics, written by the same editor in February 2006, similarly states: “The well-founded semantics is a three-valued version of the stable semantics. That is, instead of only assigning propositions true or false, it also allows for a value representing ignorance. For example, if we know that
Specimen A is a moth if specimen A does not fly during daylight.
but we do not know whether or not specimen A flies during the day, the well-founded semantics would assign the proposition "specimen A is a moth" the value bottom which is neither true nor false.

You do not need to be an expert to realize that there is something seriously wrong with these articles.

The stable model semantics and well-founded semantics articles have been tagged as in need of expert attention, since January 2007. In February of this year, it was suggested that the stable model semantics article should be merged with the article on answer set programming. However, in the discussion about the proposed merger, an anonymous user claimed that “From stable model semantics you get both ASP (credulous reasoning) and Well-founded Semantics as implemented e.g. by XSB using the SLG-WAM which are two competing ways to represent knowledge. ASP is not synonymous with stable models.”4  This claim, stated with such authority, stopped the proposal in its tracks.

In my previous call for help, I was hoping for individual contributions. However, given the problems I encountered, I can understand that others may have been reluctant to subject themselves to the same experiences. Maurice Bruynooghe, in an email comment on my earlier article, suggested that it might be more useful to set up some kind of network, where people can contribute in different ways. For example, by writing a to-do list or a preliminary draft of some article or section of an article, or reviewing the current version of some subtopic or of a draft of a revision. It would help if we could set up a mailing list where we could discuss these issues internally first, before opening them up to everyone on wikipedia. However, neither Maurice nor I are very knowledgeable about how to go about creating such an internet network. Maybe this is something the ALP could take under its wing.

1 http://en.wikipedia.org/wiki/Wikipedia:Requests_for_arbitration/Carl_Hewitt
2 http://en.wikipedia.org/wiki/Talk:Logic_programming#What_is_Logic_Programming.3F
3 http://en.wikipedia.org/wiki/Wikipedia:Version_1.0_Editorial_Team/Assessment
4 http://en.wikipedia.org/wiki/Talk:Answer_set_programming