Logic Programming can be broadly defined as “using logic to infer computational steps from existing propositions ” (although this has been opposed by Kowalski; see below). The focus of this article is on the development of this idea. Consequently, it does not treat any other associated topics related to Logic Programming such as constraints, abduction, etc. The idea has a long development that went through many twists in which important questions turned out to have surprising answers including the following: Is computation reducible to logic? Did Logic Programming contribute to the failure of the Japanese Fifth Generation Project (ICOT)? What is Logic Programming? Note: This article is about the middle history of Logic Programming. See “...