What is logic programming and does it really add anything new to the logic? I am acquinted with the basics of such notions as logic programming, monotonic and non-monotonic reasoning, modal logic (especially dynamic logic) and now I am wondering - does logic programming provides anything new to any logic?

As far as I understand, then (at least in dynamic logic) the logic programming refers to the formalization of state transitions (by actions, i.e. - logic programing can be understood just as logic about actions). But the same notion "logic programing" seems to be in use even in domains, where there is not state transition, just exploration of one state (or set of states - in case then the initial set of premises are vague enough to describe more than one state). It seems to me that some authors simply use  the notions "logic programming" for describing the procedure how to evaluate the query (I am reading currently about defeasible logic programming). But such procedure (although practical indeed) does not add anything new to the underlying logic. E.g. there is notion of "rational closure" (e.g. used for adaptive logics; just the consequence set for some set of premises) which should contain all the possible knowledge about state and therefore all the possible results of "logic programing" (if it is indeed perceived just as state exploration, derivation).

So - the question is - does logic programming provides anything new to the logic and does every logic (to be completely understood and readied for applications) need to have its own logic programming?

Maybe I am just missing the point...

Just for reference I find the following works interesting about this subject, if there are more along this line, then it would be great to hear!


Mathematical Aspects of Logic Programming Semantics by Pascal
Hitzler, Anthony Seda 
Dynamic Logic (Foundations of Computing) by
David Harel, Dexter Kozen, Jerzy Tiuryn 
Adaptive Logics for
Defeasible Reasoning: Applications in Argumentation, Normative
Reasoning and Default Reasoning (Trends in Logic) by Christian
Straßer


The answer to such question can have practical applications as well - e.g. it can help to define some kind of formal semantics of the "business rules" (declarative programming paradigm that is used more and more in business applications, e.g. IBM ILOG, JBoss Drools, Oracle Business Rules, PHP and Python also have their own rules engined) and going further - this can be useful for cognitive robotics as well.
I will just write what Frank Pfenning taught me (all mistakes go on my account).

A traditional formal system in logic, such as natural deduction, is descriptive in the sense that it tells us what valid deductions are, but it does not tell us how we are supposed to look for them.

The starting point of logic programming is to take the rules of deduction and reformulate them in such a way that they can be read both as rules of deduction and an evaluation strategy for a computation. This way a strong connection between deduction and computation is created. Both logic and theory of computation benefit from it, and it is perhaps a bit pointless to ask whether logic programming "really adds" anything new to logic. Logic and computation are not separate entities anyway.