Clausal intuitionistic logic I. Fixed-point semantics
Journal of Logic Programming
Clausal intuitionistic logic II. Tableau proof procedures
Journal of Logic Programming
A logical analysis of modules in logic programming
Journal of Logic Programming
Adding negation-as-failure to intuitionistic logic programming
Proceedings of the 1990 North American conference on Logic programming
Extending Horn clause logic with implication goals
Theoretical Computer Science
A language for contextual logic programming
Logic programming languages
What is failure?: an approach to constructive negation
Acta Informatica
Semantics of Normal Logic Programs with Embedded Implications
Proceedings of the 17th International Conference on Logic Programming
A Strong Logic Programming View for Static Embedded Implications
FoSSaCS '99 Proceedings of the Second International Conference on Foundations of Software Science and Computation Structure, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Structured Sequent Calculi for Combining Intuitionistic and Classical First-Order Logic
FroCoS '00 Proceedings of the Third International Workshop on Frontiers of Combining Systems
Translating a Modal Language with Embedded Implication into Horn Clause Logic
ELP '96 Proceedings of the 5th International Workshop on Extensions of Logic Programming
Translating propositional extended conjunctions of Horn clauses into Boolean circuits
Theoretical Computer Science
Hi-index | 0.00 |
There are mainly two approaches for structuring logic programs. The first one is based on defining some notion of program unit or module and on providing a number of composition operators. The second approach consists in enriching logic programming with a mechanism of abstraction and scoping rules that are frequently found, for instance, in procedural programming. More precisely, this approach has been advocated by Miller and others using implications embedded in the goals of the given program as a structuring mechanism. However, as Giordano, Martelli and Rossi pointed out, we can associate two different visibility rules (static and dynamic) to this kind of structuring mechanism where, obviously, the semantics of the given program depends on the chosen rule. In this paper we consider normal constraint logic programs (with constructive negation á la Drabent as operational semantics) extended with embedded implications with a static visibility rule. This class of programs combines the expressive power of normal programs with the capability to organize and to enhance dinamically their sets of clauses. In particular, first, we introduce an operational semantics based on constructive negation for this class of programs, taking into account the static visibility rule. Then, we present an alternative semantics in terms of a transformation of the given structured program into a flat one. Finally, we prove the adequacy of this transformation by showing that it preserves the computed answers of the given program. Obviously, this transformation semantics can be used as the basis for an implementation of this structuring mechanism.