Results 1 - 10
of
39
Implementing the Linear Logic Programming Language Lygon
- INTERNATIONAL LOGIC PROGRAMMING SYMPOSIUM
, 1995
"... There has been considerable work aimed at enhancing the expressiveness of logic programming languages. To this end logics other than classical first order logic have been considered, including intuitionistic, relevant, temporal, modal and linear logic. Girard's linear logic has formed the basis of a ..."
Abstract
-
Cited by 21 (8 self)
- Add to MetaCart
There has been considerable work aimed at enhancing the expressiveness of logic programming languages. To this end logics other than classical first order logic have been considered, including intuitionistic, relevant, temporal, modal and linear logic. Girard's linear logic has formed the basis of a number of logic programming languages. These languages are successful in enhancing the expressiveness of (pure) Prolog and have been shown to provide natural solutions to problems involving concurrency, natural language processing, database processing and various resource oriented problems. One of the richer linear logic programming languages is Lygon. In this paper we investigate the implementation of Lygon. Two significant problems that arise are the division of resources between sub-branches of the proof and the selection of the formula to be decomposed. We present solutions to both of these problems.
A Tableau Calculus for Multimodal Logics and Some (Un)Decidability Results
- IN PROC. OF TABLEAUX-98
, 1998
"... In this paper we present a prefixed analytic tableau calculus for a class of normal multimodal logics and we present some results about decidability and undecidability of this class. The class is characterized by axioms of the form [t 1 ] : : : [t n ]' oe [s1 ] : : : [sm ]', called inclusion axio ..."
Abstract
-
Cited by 21 (8 self)
- Add to MetaCart
In this paper we present a prefixed analytic tableau calculus for a class of normal multimodal logics and we present some results about decidability and undecidability of this class. The class is characterized by axioms of the form [t 1 ] : : : [t n ]' oe [s1 ] : : : [sm ]', called inclusion axioms, where the t i 's and s j 's are constants. This class of logics, called grammar logics, was introduced for the first time by Farinas del Cerro and Penttonen to simulate the behaviour of grammars in modal logics, and includes some well-known modal systems. The prefixed tableau method is used to prove the undecidability of modal systems based on unrestricted, context sensitive, and context free grammars. Moreover, we show that the class of modal logics, based on right-regular grammars, are decidable by means of the filtration methods, by defining an extension of the Fischer-Ladner closure.
A Framework for Modal Logic Programming
- In Joint International Conference and Symposium on Logic Programming
, 1996
"... In this paper we present a framework for developing modal extensions of logic programming, which are parametric with respect to the properties chosen for the modalities and which allow sequences of modalities of the form [t], where t is a term of the language, to occur in front of clauses, goals and ..."
Abstract
-
Cited by 17 (3 self)
- Add to MetaCart
In this paper we present a framework for developing modal extensions of logic programming, which are parametric with respect to the properties chosen for the modalities and which allow sequences of modalities of the form [t], where t is a term of the language, to occur in front of clauses, goals and clause heads. The properties of modalities are specified by a set A of inclusion axioms of the form [t 1 ] : : : [t n ]ff oe [s 1 ] : : : [s m ]ff. The language can deal with many of the wellknown modal systems and several examples are provided. Due to its features, it is particularly suitable for performing epistemic reasoning, defining parametric and nested modules, describing inheritance in a hierarchy of classes and reasoning about actions. A goal directed proof procedure of the language is presented, which is modular with respect to the properties of modalities. Moreover, we define a fixpoint semantics, by generalizing the standard construction for Horn clauses, which is used to prov...
Transforming the .NET Intermediate Language Using Path Logic Programming
, 2002
"... Path logic programming is a modest extension of Prolog for the specification of program transformations. We give an informal introduction to this extension, and we show how it can be used in coding standard compiler optimisations, and also a number of obfuscating transformations. The object language ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
Path logic programming is a modest extension of Prolog for the specification of program transformations. We give an informal introduction to this extension, and we show how it can be used in coding standard compiler optimisations, and also a number of obfuscating transformations. The object language is the Microsoft .NET intermediate language (IL).
Multimodal Logic Programming and Its Applications to Modal Deductive Databases
, 2003
"... We give a general framework for developing the least model semantics, xpoint semantics, and SLD-resolution calculi for logic programs in multimodal logics whose frame restrictions consist of the conditions of seriality (i.e. 8x 9y R i (x; y)) and some classical rst-order Horn formulas. Our appr ..."
Abstract
-
Cited by 13 (9 self)
- Add to MetaCart
We give a general framework for developing the least model semantics, xpoint semantics, and SLD-resolution calculi for logic programs in multimodal logics whose frame restrictions consist of the conditions of seriality (i.e. 8x 9y R i (x; y)) and some classical rst-order Horn formulas. Our approach is direct and no restriction on occurrences of 2 i and 3 i is required. We apply the framework for a large class of basic serial multimodal logics, which are parameterized by an arbitrary combination of generalized versions of axioms T , B, 4, 5 (in the form, e.g., 4 : 2 i ! 2 j 2k) and I : 2 i ! 2 j . Another part of the work is devoted to programming in multimodal logics intended for reasoning about multi-degree belief, for use in distributed systems of belief, or for reasoning about epistemic states of agents in multi-agent systems.
Modeling Problem-Solving Methods in New KARL
- University of Calgary
, 1996
"... New KARL (Knowledge Acquisition and Representation Language) allows to specify all parts of a problem-solving method (PSM). It is a formal language with a welldefined semantics and thus allows to represent PSMs precisely and unambiguously yet abstracting from implementation detail. In this paper ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
New KARL (Knowledge Acquisition and Representation Language) allows to specify all parts of a problem-solving method (PSM). It is a formal language with a welldefined semantics and thus allows to represent PSMs precisely and unambiguously yet abstracting from implementation detail. In this paper it is shown how the language KARL has been modified and extended to New KARL to better meet the needs for the representation of PSMs. Based on a conceptual structure of PSMs new language primitives are introduced for KARL to specify such a conceptual structure and to support the configuration of methods. An important goal for this extension was to preserve three important properties of KARL: to be (i) a conceptual, (ii) a formal, and (iii) an executable language. 1 INTRODUCTION The specification language KARL ([Fensel, 1995a], [Fensel, Angele, and Studer 1997]) is part of the MIKE-approach (Model-based and Incremental Knowledge Engineering) [Angele, Fensel, and Studer, 1996]. The ove...
Beyond AOP: Toward Naturalistic Programming
- IN: OOPSLA'03 SPECIAL TRACK ON ONWARD! SEEKING NEW PARADIGMS & NEW THINKING (ACM
, 2003
"... Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of “high-level” programming paradigms and object-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and sy ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
Software understanding for documentation, maintenance or evolution is one of the longest-standing problems in Computer Science. The use of “high-level” programming paradigms and object-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and systems have fallen prey to the assumption that they are supposed to capture idealized models of computation inspired by deceptively simple metaphors such as objects and mathematical functions. Aspect-oriented programming languages have made a significant breakthrough by noticing that, in many situations, humans think and describe in crosscutting terms. In this paper we suggest that the next breakthrough would require looking even closer to the way humans have been thinking and describing complex systems for thousand of years using natural languages. While natural languages themselves are not appropriate for programming, they contain a number of elements that make descriptions concise, effective and understandable. In particular, natural languages referentiality is a key factor in supporting powerful program organizations that can be easier understood by humans.
Multi-Dimensional Logic Programming
- Special Issue: Proc. of the 6th International Conf. on Computing and Information
, 1994
"... This paper introduces an extension of logic programming based on multi-dimensional logics. In a multi-dimensional logic the values of elements vary depending on more than one dimension, such as time and space. The resulting logic programming language is suitable for modelling objects which involve i ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
This paper introduces an extension of logic programming based on multi-dimensional logics. In a multi-dimensional logic the values of elements vary depending on more than one dimension, such as time and space. The resulting logic programming language is suitable for modelling objects which involve implicit and/or explicit temporal and spatial dependencies. The execution of programs of the language is based on a resolution-type proof procedure called MSLD-resolution. MSLDresolution is based on the axioms and rules of inference of the underlying multidimensional logic. Several example programs are given, including Conway's game of life. A spreadsheet interface to multi-dimensional logic programming is also outlined; it can be used as a powerful display tool with the advantage of non-determinism inherent in logic programming. 1 Introduction Non-classical logics such as temporal and modal logic have been successfully used as a formalism in many areas, including program specification and v...
An approach to high-level behavioral program documentation allowing lightweight verification
- In Proc. of the 14th IEEE Int. Conf. on Program Comprehension
, 2006
"... Typically, multiple developers are involved in the various stages of the software development and maintenance process. To ensure an optimal transfer of knowledge between these different peers, a reliable human-readable model of the dynamics of a software artefact is needed. Once these models become ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
Typically, multiple developers are involved in the various stages of the software development and maintenance process. To ensure an optimal transfer of knowledge between these different peers, a reliable human-readable model of the dynamics of a software artefact is needed. Once these models become machine-verifiable, they can be used throughout an application’s lifetime to check whether the documented behavioral properties continue to hold as the application evolves. Unfortunately, most existing modeling media are inadequate to express human-readable behavioral models which are at the same time machine-verifiable. We therefore propose a declarative platform wherein behavioral program models can be expressed in terms of userdefined high-level concepts and be automatically verified against an application’s actual behavior. We demonstrate our approach by using it to both document and verify an interpreter for a garbage-collected programming language. 1.
Dealing with Multiple Granularity of Time in Temporal Logic Programming
- Journal of Symbolic Computation
, 1996
"... Chronolog(MC) is an extension of logic programming based on a clocked temporal logic (CTL), a linear-time temporal logic with multiple granularity of time. A Chronolog(MC) program consists of a clock definition, a clock assignment and a program body, and each predicate symbol appearing in the pro ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
Chronolog(MC) is an extension of logic programming based on a clocked temporal logic (CTL), a linear-time temporal logic with multiple granularity of time. A Chronolog(MC) program consists of a clock definition, a clock assignment and a program body, and each predicate symbol appearing in the program body is associated with a local clock through the clock definition and assignment. This paper investigates the logical basis of the language, presents a clocked temporal resolution where time-matching is essential, and in particular proposes three algorithms for time-matching. The paper also discusses the declarative semantics for Chronolog(MC) programs in terms of clocked temporal Herbrand models. It is shown that Chronolog(MC) programs also satisfy the minimum model semantics. The language can be used to model a wide range of simulation systems and other relevant tasks where the notion of dynamic change is central. 1 Introduction An important activity in computer science is t...

