234 research outputs found
Comparing negation in logic programming and in Prolog
We compare here two uses of negation -- in logic programming and in Prolog. As in Prolog negation is defined by means of meta-programming facilities and the cut operator, this requires a careful reexamination of the assumptions about the underlying syntax and a precise definition of the computational processes involved. After taking care of these matters we establish a formal result showing an equivalence in appropriate sense between these two uses of negation. This result allows us to argue about correctness of various known Prolog programs which use negation by reasoning about the corresponding general logic programs
Constructive Provability Logic
We present constructive provability logic, an intuitionstic modal logic that
validates the L\"ob rule of G\"odel and L\"ob's provability logic by permitting
logical reflection over provability. Two distinct variants of this logic, CPL
and CPL*, are presented in natural deduction and sequent calculus forms which
are then shown to be equivalent. In addition, we discuss the use of
constructive provability logic to justify stratified negation in logic
programming within an intuitionstic and structural proof theory.Comment: Extended version of IMLA 2011 submission of the same titl
Logic Programming with Default, Weak and Strict Negations
This paper treats logic programming with three kinds of negation: default,
weak and strict negations. A 3-valued logic model theory is discussed for logic
programs with three kinds of negation. The procedure is constructed for
negations so that a soundness of the procedure is guaranteed in terms of
3-valued logic model theory.Comment: 14 pages, to appear in Theory and Practice of Logic Programming
(TPLP
Epistemic Foundation of Stable Model Semantics
Stable model semantics has become a very popular approach for the management
of negation in logic programming. This approach relies mainly on the closed
world assumption to complete the available knowledge and its formulation has
its basis in the so-called Gelfond-Lifschitz transformation.
The primary goal of this work is to present an alternative and
epistemic-based characterization of stable model semantics, to the
Gelfond-Lifschitz transformation. In particular, we show that stable model
semantics can be defined entirely as an extension of the Kripke-Kleene
semantics. Indeed, we show that the closed world assumption can be seen as an
additional source of `falsehood' to be added cumulatively to the Kripke-Kleene
semantics. Our approach is purely algebraic and can abstract from the
particular formalism of choice as it is based on monotone operators (under the
knowledge order) over bilattices only.Comment: 41 pages. To appear in Theory and Practice of Logic Programming
(TPLP
Transforming Normal Programs by Replacement
The replacement transformation operation, already defined in [28], is studied wrt normal programs. We give applicability conditions able to ensure the correctness of the operation wrt Fitting's and Kunen's semantics. We show how replacement can mimic other transformation operations such as thinning, fattening and folding, thus producing applicability conditions for them too. Furthermore we characterize a transformation sequence for which the preservation of Fitting's and Kunen's semantics is ensured
- …