Conjunctive Partial Deduction: Foundations, Control, Algorithms, and Experiments

نویسندگان

  • Danny De Schreye
  • Robert Glück
  • Jesper Jørgensen
  • Michael Leuschel
  • Bern Martens
  • Morten Heine Sørensen
چکیده

ion Operators We now specify the abstraction operators Absγ,L, deciding which conjunctions are added to the global tree in order to ensure coveredness for bodies of newly derived resultants. Ensuring coveredness is basically simple: add to the global tree all (unchanged) bodies of produced resultants as new, “to be partially deduced” conjunctions. However, this strategy leads usually to non-termination, and thus, the need for abstraction arises. For an element B in bodies(U(P, QL)), the abstraction operator Absγ,L should consider whether adding B to the global level may endanger termination. To this end, Absγ,L should detect whether B is (in some sense) bigger than another label already occurring in SeqβL , since adding B might then lead to some systematic growing behaviour resulting in non-termination. According to Definition 3.2, abstraction allows two operations: conjunctions can be split and generalised. There are many ways this can be done and the concrete way will (usually) directly rely on the relation detecting growing behaviour. Since we aim at removing shared, but unnecessary variables from conjunctions, there is no point in keeping atoms together that do not share variables. We will therefore always break up conjunctions into maximal connected subparts (conjunctions) and abstraction will only consider these. In other words, resultant bodies will be automatically split into such connected chunks and it will be the latter that are considered by the abstraction operator proper. Global termination then follows in a way similar to the local one. Definition 3.12. (maximal connected subconjunctions) Given a conjunction Q = A1 ∧ . . . ∧ An, where A1, . . . , An are atoms, we define the binary relation ↓Q over the atoms in Q as follows: Ai ↓Q Aj iff vars(Ai) ∩ vars(Aj ) 6= ∅. By ⇓Q we denote the reflexive and transitive closure of ↓Q. The maximal connected subconjunctions of Q, denoted by mcs(Q), are defined to be the multiset of conjunctions {Q1, . . . , Qm} such that 1. Q =r Q1 ∧ . . . ∧Qm, 2. Ai ⇓Q Aj iff Ai and Aj occur in the same Qk and 3. for every Qk there exists a sequence of indices j1 < j2 < . . . < jl such that Qk = Aj1 ∧ . . . ∧ Ajl . For two conjunctions Q = A1 ∧ . . .∧An and Q = A1 ∧ . . .∧A ′ n where Ai and A ′ i have the same predicate symbols for all i, a most specific generalisation msg(Q, Q) exists, which is unique modulo variable renaming. Given a conjunction Q = A1 ∧ . . .∧Ak any conjunction Q = Ai1 ∧ . . .∧Aij such that 1 ≤ i1 < . . . < ij ≤ k is called an ordered subconjunction of Q. We now extend the definition of homeomorphic embedding to conjunctions. This notion is closely related to those of “variable-chained sequence” and “block” of atoms used in [64, 65].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Advanced Logic Program Specialisation

In first part of this course [28] we have laid the theoretical foundations for logic program specialisation, notably introducing the technique of partial deduction along with some basic techniques to automatically control it. In this part of the course we first present in Section 2 an advanced way of controlling polyvariance based upon characteristic trees. We then show in Section 3 how partial...

متن کامل

A Conceptual Embedding of Folding into Partial Deduction: Towards a Maximal Integration

The relation between partial deduction and the unfold/fold approach has been a matter of intense discussion. In this paper we consolidate the advantages of the two approaches and provide an extended partial deduction framework in which most of the tupling and deforestation transformations of the fold/unfold approach, as well the current partial deduction transformations, can be achieved. Moreov...

متن کامل

Advances in Analyzing Coroutines by Abstract Conjunctive Partial Deduction

The current work describes a technique for the analysis of coroutining in Logic Programs. This provides greater insight into the execution of Logic Programs and yields a transformation from programs with nonstandard execution rules to programs with the standard execution rule of Prolog. A technique known as Compiling Control, or CC for short, was used to study these issues 30 years ago, but it ...

متن کامل

Conjunctive Partial Deduction in Practice

Recently, partial deduction of logic programs has been extended to conceptually embed folding. To this end, partial deductions are no longer computed of single atoms, but rather of entire conjunctions; Hence the term “conjunctive partial deduction”. Conjunctive partial deduction aims at achieving unfold/fold-like program transformations such as tupling and deforestation within fully automated p...

متن کامل

A Hybrid Approach to Conjunctive Partial Deduction

Conjunctive partial deduction is a well-known technique for the partial evaluation of logic programs. The original formulation follows the so called online approach where all termination decisions are taken on-the-fly. In contrast, offline partial evaluators first analyze the source program and produce an annotated version so that the partial evaluation phase should only follow these annotation...

متن کامل

Abstract Conjunctive Partial Deduction Using Regular Types and Its Application to Model Checking

Conjunctive Partial Deduction using Regular Types and its Application to Model

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Log. Program.

دوره 41  شماره 

صفحات  -

تاریخ انتشار 1999