960 research outputs found
A practical approach to the global analysis of CLP programs
This paper presents and illustrates with an example a practical approach to the dataflow analysis of programs written in constraint logic programming (CLP) languages using abstract interpretation. It is first argued that,
from the framework point of view, it sufnces to propose relatively simple extensions of traditional analysis methods which have already been proved useful and practical and for which efncient fixpoint algorithms have been
developed. This is shown by proposing a simple but quite general extensión of Bruynooghe's traditional framework to the analysis of CLP programs. In this extensión constraints are viewed not as "suspended goals" but rather as new information in the store, following the traditional view of CLP. Using this approach, and as an example of its use, a complete, constraint system independent, abstract analysis is presented for approximating definiteness information. The analysis is in fact of quite general applicability. It has been implemented and used in the analysis of CLP(R) and Prolog-III applications. Results from the implementation of this analysis are also presented
On the incorporation of interval-valued fuzzy sets into the Bousi-Prolog system: declarative semantics, implementation and applications
In this paper we analyse the benefits of incorporating interval-valued fuzzy
sets into the Bousi-Prolog system. A syntax, declarative semantics and im-
plementation for this extension is presented and formalised. We show, by using
potential applications, that fuzzy logic programming frameworks enhanced with
them can correctly work together with lexical resources and ontologies in order
to improve their capabilities for knowledge representation and reasoning
The CIAO multiparadigm compiler and system: A progress report
Abstract is not available
A functional interpretation for nonstandard arithmetic
We introduce constructive and classical systems for nonstandard arithmetic
and show how variants of the functional interpretations due to Goedel and
Shoenfield can be used to rewrite proofs performed in these systems into
standard ones. These functional interpretations show in particular that our
nonstandard systems are conservative extensions of extensional Heyting and
Peano arithmetic in all finite types, strengthening earlier results by
Moerdijk, Palmgren, Avigad and Helzner. We will also indicate how our rewriting
algorithm can be used for term extraction purposes. To conclude the paper, we
will point out some open problems and directions for future research and
mention some initial results on saturation principles
A Potpourri of Reason Maintenance Methods
We present novel methods to compute changes to materialized
views in logic databases like those used by rule-based reasoners.
Such reasoners have to address the problem of changing axioms in the
presence of materializations of derived atoms. Existing approaches have
drawbacks: some require to generate and evaluate large transformed programs
that are in Datalog - while the source program is in Datalog and
significantly smaller; some recompute the whole extension of a predicate
even if only a small part of this extension is affected by the change.
The methods presented in this article overcome these drawbacks and derive
additional information useful also for explanation, at the price of an
adaptation of the semi-naive forward chaining
Nominal Logic Programming
Nominal logic is an extension of first-order logic which provides a simple
foundation for formalizing and reasoning about abstract syntax modulo
consistent renaming of bound names (that is, alpha-equivalence). This article
investigates logic programming based on nominal logic. We describe some typical
nominal logic programs, and develop the model-theoretic, proof-theoretic, and
operational semantics of such programs. Besides being of interest for ensuring
the correct behavior of implementations, these results provide a rigorous
foundation for techniques for analysis and reasoning about nominal logic
programs, as we illustrate via examples.Comment: 46 pages; 19 page appendix; 13 figures. Revised journal submission as
of July 23, 200
Independence in constraint logic programs
Studying independence of literals, variables, and substitutions has proven very useful in the context of logic programming (LP). Here we study independence in the broader context of constraint logic programming (CLP). We show that a naive extrapolation of the LP definitions of independence to CLP is unsatisfactory (in fact, wrong) for two reasons. First, because interaction between variables through constraints is more complex than in the case of logic programming. Second, in order to ensure the efUciency of several optimizations not only must independence of the search space be considered, but also an orthogonal issue - "independence of constraint solving." We clarify these issues by proposing various types of search independence
and constraint solver independence, and show how they can be combined to allow different independence-related optimizations, from parallelism to intelligent backtracking. Sufficient conditions for independence which can be evaluated "a-priori" at run-time are also proposed. Our results suggest that independence, provided a suitable definition is chosen, is even more useful in CLP than in LP
- …