Using an attribute grammar as a logic program

Author(s):  
Günter Riedewald ◽  
Uwe Lämmel
1995 ◽  
Vol 04 (03) ◽  
pp. 383-411 ◽  
Author(s):  
C. VOLIOTIS ◽  
N.M. SGOUROS ◽  
G. PAPAKONSTANTINOU

The development of more powerful Concurrent Constraint Logic Programming (CCLP) languages depends largely on the development of environments that facilitate the specification and integration of constraints in the semantics of a logic program and automatically extract the inherent parallelism of Logic Programming. This paper presents a novel method for automating the parallel AND/OR execution of CCLP applications. This method consists of two stages. The first stage translates a logic program into an equivalent Attribute Grammar providing a common language in which the specifications of constraints and the semantics of a logic program can be expressed. The second stage evaluates this Attribute Grammar using MPAGE, a Multipass Parallel Attribute Grammar Evaluation algorithm. Support for the processing of constraints in the logic program is provided with the creation of a dependency graph between the variables of a logic rule during the first stage. Using this dependency graph MPAGE delays, if necessary, the evaluation of variables in a constraint until they become bound at some later point in processing. As a result our method supports rule representations in CLP languages with no restrictions on the ordering of subgoals. Furthermore, during execution MPAGE allows single rules in a CLP program to deal with multiple assignments of bindings, thus generating a minimal number of processes. Finally, this method is independent from the underlying hardware and its memory organization, therefore it can be implemented on both shared and distributed memory systems.


Author(s):  
Yaniv Aspis ◽  
Krysia Broda ◽  
Alessandra Russo ◽  
Jorge Lobo

We introduce a novel approach for the computation of stable and supported models of normal logic programs in continuous vector spaces by a gradient-based search method. Specifically, the application of the immediate consequence operator of a program reduct can be computed in a vector space. To do this, Herbrand interpretations of a propositional program are embedded as 0-1 vectors in $\mathbb{R}^N$ and program reducts are represented as matrices in $\mathbb{R}^{N \times N}$. Using these representations we prove that the underlying semantics of a normal logic program is captured through matrix multiplication and a differentiable operation. As supported and stable models of a normal logic program can now be seen as fixed points in a continuous space, non-monotonic deduction can be performed using an optimisation process such as Newton's method. We report the results of several experiments using synthetically generated programs that demonstrate the feasibility of the approach and highlight how different parameter values can affect the behaviour of the system.


1990 ◽  
Vol 13 (4) ◽  
pp. 465-483
Author(s):  
V.S. Subrahmanian

Large logic programs are normally designed by teams of individuals, each of whom designs a subprogram. While each of these subprograms may have consistent completions, the logic program obtained by taking the union of these subprograms may not. However, the resulting program still serves a useful purpose, for a (possibly) very large subset of it still has a consistent completion. We argue that “small” inconsistencies may cause a logic program to have no models (in the traditional sense), even though it still serves some useful purpose. A semantics is developed in this paper for general logic programs which ascribes a very reasonable meaning to general logic programs irrespective of whether they have consistent (in the classical logic sense) completions.


2002 ◽  
Vol 2 (4-5) ◽  
pp. 423-424 ◽  
Author(s):  
MAURICE BRUYNOOGHE ◽  
KUNG-KIU LAU

This special issue marks the tenth anniversary of the LOPSTR workshop. LOPSTR started in 1991 as a workshop on Logic Program Synthesis and Transformation, but later it broadened its scope to logic-based Program Development in general.The motivating force behind LOPSTR has been a belief that declarative paradigms such as logic programming are better suited to program development tasks than traditional non-declarative ones such as the imperative paradigm. Specification, synthesis, transformation or specialisation, analysis, verification and debugging can all be given logical foundations, thus providing a unifying framework for the whole development process.In the past ten years or so, such a theoretical framework has indeed begun to emerge. Even tools have been implemented for analysis, verification and specialisation. However, it is fair to say that so far the focus has largely been on programming-in-the-small. So the future challenge is to apply or extend these techniques to programming-in-the-large, in order to tackle software engineering in the real world.


Author(s):  
Srijan Kumar ◽  
Edoardo Serra ◽  
Francesca Spezzano ◽  
V. S. Subrahmanian
Keyword(s):  

AI Magazine ◽  
2016 ◽  
Vol 37 (3) ◽  
pp. 25-32 ◽  
Author(s):  
Benjamin Kaufmann ◽  
Nicola Leone ◽  
Simona Perri ◽  
Torsten Schaub

Answer set programming is a declarative problem solving paradigm that rests upon a workflow involving modeling, grounding, and solving. While the former is described by Gebser and Schaub (2016), we focus here on key issues in grounding, or how to systematically replace object variables by ground terms in a effective way, and solving, or how to compute the answer sets of a propositional logic program obtained by grounding.


Sign in / Sign up

Export Citation Format

Share Document