Results 1 - 10
of
17
Model Checking in CLP
, 1999
"... We show that Constraint Logic Programming (CLP) can serve as a conceptual basis and as a practical implementation platform for the model checking of infinite-state systems. Our contributions are: (1) a semantics-preserving translation of concurrent systems into CLP programs, (2) a method for verifyi ..."
Abstract
-
Cited by 80 (27 self)
- Add to MetaCart
We show that Constraint Logic Programming (CLP) can serve as a conceptual basis and as a practical implementation platform for the model checking of infinite-state systems. Our contributions are: (1) a semantics-preserving translation of concurrent systems into CLP programs, (2) a method for verifying safety and liveness properties on the CLP programs produced by the translation. We have implemented the method in a CLP system and verified well-known examples of infinitestate programs over integers, using here linear constraints as opposed to Presburger arithmetic as in previous solutions.
Transformations of CLP Modules
- Theoretical Computer Science
, 1995
"... We propose a transformation system for Constraint Logic Programming (CLP) programs and modules. The framework is inspired by the one of Tamaki and Sato for pure logic programs [37]. However, the use of CLP allows us to introduce some new operations such as splitting and constraint replacement. We pr ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
We propose a transformation system for Constraint Logic Programming (CLP) programs and modules. The framework is inspired by the one of Tamaki and Sato for pure logic programs [37]. However, the use of CLP allows us to introduce some new operations such as splitting and constraint replacement. We provide two sets of applicability conditions. The first one guarantees that the original and the transformed programs have the same computational behaviour, in terms of answer constraints. The second set contains more restrictive conditions that ensure compositionality: we prove that under these conditions the original and the transformed modules have the same answer constraints also when they are composed with other modules. This result is proved by first introducing a new formulation, in terms of trees, of a resultants semantics for CLP. As corollaries we obtain the correctness of both the modular and the non-modular system w.r.t. the least model semantics. AMS Subject Classification (1991)...
Proof-Search in Intuitionistic Logic Based on Constraint Satisfaction
- Theorem Proving with Analytic Tableaux and Related Methods. 5th International Workshop, TABLEAUX '96, volume 1071 of Lecture Notes in Artificial Intelligence
, 1996
"... We characterize provability in intuitionistic predicate logic in terms of derivation skeletons and constraints and study the problem of instantiations of a skeleton to valid derivations. We prove that for two different notions of a skeleton the problem is respectively polynomial and NP-complete. As ..."
Abstract
-
Cited by 18 (7 self)
- Add to MetaCart
We characterize provability in intuitionistic predicate logic in terms of derivation skeletons and constraints and study the problem of instantiations of a skeleton to valid derivations. We prove that for two different notions of a skeleton the problem is respectively polynomial and NP-complete. As an application of our technique, we demonstrate PSPACE-completeness of the prenex fragment of intuitionistic logic. We outline some applications of the proposed technique in automated reasoning. y y Copyright c fl 1995, 1996 Andrei Voronkov. This technical report and other technical reports in this series can be obtained at http://www.csd.uu.se/~thomas/reports.html or at ftp.csd.uu.se in the directory pub/papers/reports. Some reports can be updated, check one of these addresses for the latest version. Section 1 Introduction The characterization of provability for classical logic in terms of matrices was given by Kanger [9, 10] and Prawitz [19, 20] and is in a fact a reformulation of the...
A Compositional Semantics for Normal Open Programs
- Proc. of JICSLP
, 1996
"... In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semanti ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of its individual modules. In this paper we propose such a compositional semantics for first-order programs. This semantics is correct with respect to the set of logical consequences of the program. Moreover, -- in contrast with other approaches -- it is always computable. Furthermore, we show how our results on first-order programs may be applied in a straightforward way to normal logic programs, in which case our semantics might be regarded as a compositional counterpart of Kunen's semantics. Finally we discuss and show how these results have to be modified in order to be applied to normal CLP. 1 Introduct...
First-order Lax Logic as a Framework for Constraint Logic Programming
, 1997
"... In this report we introduce a new proof-theoretic approach to the semantics of Constraint Logic Programming, based on an intuitionistic first-order modal logic, called QLL. The distinguishing feature of this new approach is that the logic calculus of QLL is used not only to capture the usual exte ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
In this report we introduce a new proof-theoretic approach to the semantics of Constraint Logic Programming, based on an intuitionistic first-order modal logic, called QLL. The distinguishing feature of this new approach is that the logic calculus of QLL is used not only to capture the usual extensional aspects of Logic Programming, i.e. "which queries are successful, " but also some of the intensional aspects, i.e. "what is the answer constraint and how is it constructed." It provides for a direct link between the model-theoretic and the operational semantics following a formulas-as-programs and proofs-as-constraints principle. This approach makes use of logic in a different way than other approaches based on logic calculi. On the one side it is to be distinguished from the well-known provability semantics which is concerned merely with what is derivable as opposed to how it is derivable, paying attention to the fact that it is the how that determines the answer constraint. ...
Observable Behaviors and Equivalences of Logic Programs
- Information and Computation
, 1992
"... We first introduce a general semantic scheme for logic programs which provides a uniform framework for defining different compositional semantics parametrically wrt a given notion of observability. The equivalence of the operational (top-down) and fixpoint (bottom-up) construction of the semantics i ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
We first introduce a general semantic scheme for logic programs which provides a uniform framework for defining different compositional semantics parametrically wrt a given notion of observability. The equivalence of the operational (top-down) and fixpoint (bottom-up) construction of the semantics is ensured by the scheme (provided a congruence property is verified). We then define several observational equivalences on logic programs and investigate how they are related. The equivalences are based on various observables (successful derivations, computed answers, partial computed answers and call patterns) and on a notion of program composition. For each observational equivalence we study the relation with a suitable formal semantics, by investigating correctness and full abstraction properties. All the semantics we consider are obtained as instances of the general scheme. 1 Introduction According to [36], the semantics of positive logic programs is defined in model-theoretic terms (th...
Transactions and Updates in Deductive Databases
- IEEE Transactions on Knowledge and Data Engineering
, 1995
"... In this paper we develop a new approach providing a smooth integration of extensional updates and declarative query language for deductive databases. The approach is based on a declarative specification of updates in rule bodies. Updates are not executed as soon are evaluated. Instead, they are c ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
In this paper we develop a new approach providing a smooth integration of extensional updates and declarative query language for deductive databases. The approach is based on a declarative specification of updates in rule bodies. Updates are not executed as soon are evaluated. Instead, they are collected and then applied to the database when the query evaluation is completed. We call this approach non-immediate update semantics. We provide a topdown and equivalent bottom-up semantics which reflect the corresponding computation models. We also package set of updates into transactions and we provide a formal semantics for transactions. Then, in order to handle complex transactions, we extend the transaction language with control constructors still preserving formal semantics and semantics equivalence. 1 1 Introduction In recentyears, deductive databases have been the focus of intense research, which has brought strong advances in theory, systems and applications. The major a...
A Formal Approach to Deductive Synthesis of Constraint Logic Programs
- Proc. 1995 Int. Logic Programming Symp
, 1995
"... Formal program synthesis is concerned with deriving programs that are (formally) correct wrt their specifications, and is therefore of crucial importance to formal development of verifiably correct software. Declarative paradigms such as logic programming are particularly suitable for program synthe ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
Formal program synthesis is concerned with deriving programs that are (formally) correct wrt their specifications, and is therefore of crucial importance to formal development of verifiably correct software. Declarative paradigms such as logic programming are particularly suitable for program synthesis, and we have formulated a formal approach to synthesising standard logic programs. Our approach is object-oriented in the sense that it allows the synthesis of modular, reusable, and hence maintainable programs. In this paper, we propose a formal approach to synthesising constraint logic programs based on our current work. We will show that this approach can be used to synthesise modular and reusable CLP programs. An integral part of this paper is the introduction of an abstract semantics to reason about the synthesis of CLP programs. 1 Introduction Program synthesis is concerned with deriving programs that are correct wrt their specifications. A formal approach to synthesis guarantees ...
A Bottom-up Semantics for Linear Logic Programs
- In Proceedings of PPDP'00
, 2000
"... The operational semantics of linear logic programming languages is given in terms of goal-driven sequent calculi. The proof-theoretic presentation is the natural counterpart of the top-down semantics of traditional logic programs. In this paper we investigate the theoretical foundation of an alterna ..."
Abstract
-
Cited by 7 (7 self)
- Add to MetaCart
The operational semantics of linear logic programming languages is given in terms of goal-driven sequent calculi. The proof-theoretic presentation is the natural counterpart of the top-down semantics of traditional logic programs. In this paper we investigate the theoretical foundation of an alternative operational semantics based on a bottom-up evaluation of linear logic programs via a fixpoint operator. The bottom-up fixpoint semantics is important in applications like active databases, and, more in general, for program analysis and verification. As a first case-study, we consider Andreoli and Pareschi's LO [4] enriched with the constant 1. For this language, we give a fixpoint semantics based on an operator defined in the style of TP . We give an algorithm to compute a single application of the fixpoint operator where constraints are used to represent in a finite way possibly infinite sets of provable goals. Furthermore, we show that the fixpoint semantics for propositional LO without the const...
An Effective Fixpoint Semantics for Linear Logic Programs
- THEORY AND PRACTICE OF LOGIC PROGRAMMING
, 2002
"... In this paper we investigate the theoretical foundation of a new bottom-up semantics for linear logic programs, and more precisely for the fragment of LinLog (Andreoli, 1992) that consists of the language LO (Andreoli & Pareschi, 1991) enriched with the constant 1. We use constraints to symbolically ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
In this paper we investigate the theoretical foundation of a new bottom-up semantics for linear logic programs, and more precisely for the fragment of LinLog (Andreoli, 1992) that consists of the language LO (Andreoli & Pareschi, 1991) enriched with the constant 1. We use constraints to symbolically and finitely represent possibly infinite collections of provable goals. We define a fixpoint semantics based on a new operator in the style of TP working over constraints. An application of the fixpoint operator can be computed algorithmically. As sufficient conditions for termination, we show that the fixpoint computation is guaranteed to converge for propositional LO. To our knowledge, this is the first attempt to define an effective fixpoint semantics for linear logic programs. As an application of our framework, we also present a formal investigation of the relations between LO and Disjunctive Logic Programming (Minker et al., 1991). Using an approach based on abstract interpretation, we show that DLP fixpoint semantics can be viewed as an abstraction of our semantics for LO. We prove that the resulting abstraction is correct and complete (Cousot & Cousot, 1977; Giacobazzi & Ranzato, 1997) for an interesting class of LO programs encoding Petri Nets.

