31 citations found. Retrieving documents...
K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Unknown -   (Correct)

....for correctness of de nite programs has been given in Section 3.2. We showed that the natural method of Section 3.1 is not weaker. Some inconveniences of the operational approach are discussed in [Dra99] The operational method can be generalized to correctness of normal programs [Apt93,PR99] Here the comparison is similar. The operational approach refers to LDNF resolution, while the declarative method of Section 4.1 is independent from the operational semantics. So it cov13 ers arbitrary selection rules (e.g. delays used to avoid oundering) and various generalizations of ....

....that reasoning in Section 3. 2 can be generalized to this case thus showing that the operational method is not stronger (as far as properties of program answers are concerned) Our approach to normal programs considers their 3 valued semantics, which is more precise than 2 valued, used in [Dev90,Apt93,PR99] Further comparisons are needed with [Dev90] and with completeness realated reasoning in [PR99] An important approach to proving properties of normal programs is proposed by St ark [St a97] It deals with normal programs, executed under Prolog selection rule. A tool to mechanically verify ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming, Proc. ILPS'93, pages 12-35. The MIT Press, 1993.


Successes in Logic Programs - Bossi, Cocco (1999)   (2 citations)  (Correct)

..... Q j oe Gamma P R denotes one derivation step, we say that it is non trivial if R is not fail. The length of an LD derivation l is denoted by j l j. The rest of the notation is more or less standard and essentially follows [23, 1] We make use of the notion of modes and types introduced in [14, 5, 2]. We consider a combination of modes and types and adopt the following assumption: every considered relation has a fixed mode and a fixed type associated with it. This assumption allows us to talk about types of input positions and of output positions of an atom. For example, app( List; ....

....of output positions of an atom. For example, app( List; List; Gamma : List) denotes a ternary relation app with the first two positions moded as input and typed as List and the third position moded as output and typed as List. A similar denotation is called a directional type in [13] From [5, 2] we take also the notion of well typed query and program, which guarantees that mode and type properties are preserved through LD resolution, and from [4] the notion of simply moded clause and query. Here we recall only the main definition of well typed program. We need type judgements, namely ....

[Article contains additional citation context not shown here]

Apt, K. R.: Declarative Programming in Prolog. In Miller, D. (ed.): Proceedings of the


Proving Correctness and Completeness of Normal Programs - a.. - Drabent (2001)   (Correct)

....[BC89, Apt97, PR99] for correctness of de nite programs has been given in Section 3.2. We showed that the natural method of Section 3.1 is not weaker and we pointed out some inconveniences of the operational approach. The operational method can be generalized to correctness of normal programs [Apt93, PR99] Here the comparison is similar. The operational approach refers to LDNF resolution, while the declarative method of section 4.1 is independent from the operational semantics. So it covers arbitrary selection rules (e.g. delays used to avoid oundering) and various generalizations of ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming, Proc. ILPS'93, pages 12-35. The MIT Press, 1993.


Slr Inference: An Inference System For Fixed-Mode Logic.. - Rosenblueth, Peralta   (Correct)

....is severe. It can be argued, however, that this is not the case. Drabent [11] for instance, claims that the majority of practical logic programs have fixed modes, and shows examples of programming techniques where multiple modes are used. Fixed mode logic programs have also been studied in [3, 4, 10]. 2. SLR PARSING This section reviews SLR parsing [2] We have selected an SLR parser as the basis for our inference system because such a parser illustrates various aspects of LR 3 parsing without being so elaborate as to obscure the presentation of our method. We believe, however, that any LR ....

....finite, the execution of certain modes may be intolerably inefficient. Other obstacles to the invertibility of logic programs are the use of built in predicates and the lack of occur check. As a consequence, many practical Prolog programs use each predicate in a single mode. We refer the reader to [3, 4, 10, 11] for arguments in favor of fixed mode programs. Example 4.1. We will introduce our transformation through the following fragment of a DCG: expr (p(E; F ) expr(E) plus; expr(F ) 4.1) plus [ 4.2) Clauses (4.1) and (4.2) are a shorthand for: expr (p(E; F ) X 0 ; X 3 ) expr(E; X 0 ; X 1 ....

Krzysztof R. Apt. Declarative programming in Prolog. In Proceedings of the


First-order theories for pure Prolog programs with negation - Stärk (1995)   (Correct)

....to apply the Apt Pedreschi method one has to know in advance the set of atoms that succeed from the program. This is not necessary in our approach. In our approach one can prove that a program terminates in Prolog without knowing the set of atoms that succeed from the program. Apt introduces in [3] a Hoare like formalism for verification of logic programs. The results he obtains are applicable to terminating logic programs, i.e. logic programs which have the property that every ground atom A does not flounder and every possible LDNFcomputation of A is finite. In our approach the termination ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming --- Proceedings of the 1993 International Symposium, pages 11--35. The MIT Press, 1993.


The Declarative Semantics of the Prolog Selection Rule - Stärk   (Correct)

...., L n . A goal (or a query) is a finite sequence of literals L 1 , L n . Goals are denoted by #, #, #. Thus clauses can be denoted by A : #. The empty goal is #. Substitutions are denoted by #, #, # . The identity substitution is #. For unexplained notions we refer to [7] Following [1] and [2] we call SLDNF resolution with the Prolog selection rule LDNF resolution (linear resolution for definite clauses with negation as failure) Let P be a program. We write # R(P ) # if # returns the answer substitution # using LDNFresolution from P . We write # # F(P ) if # fails using ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming --- Proceedings of the 1993 International Symposium, pages 11--35. The MIT Press, 1993.


Total correctness of logic programs: A formal approach - Stärk   (Correct)

....Intelligence 1050, 1996. 1 more general. Hoare triples can be expressed in our approach as first order formulas ##SA # #. Moreover, we can even express equivalence and termination of programs by first order formulas # # (S A # SB) and # # TA. Our approach is related to the work of Apt [2] and Apt and Pedreschi [4,5] The main di#erence is that we set up a formal system and prove termination of logic programs in the formal system using first order logic and induction. Apt and Pedreschi work with level mappings. They have to take into account the infinitely many possible ground ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming --- Proceedings of the 1993 International Symposium, pages 11--35. The MIT Press, 1993.


A Transformation of Propositional Prolog Programs into Classical.. - Stärk   (Correct)

....ground term t but he goal R(x) loops. This example has also been studied in [1] 7 Prolog and LDNF resolution In this section we present another generalization to predicate logic. The generalization is based on an observation made by Apt and Pedreschi in [3] which is further substantiated in Apt [2]. The observation is that for most Prolog programs the order of the clauses is not important at least not for the intended inputs. One can change the order of the clauses in most programs and the answers computed by Prolog remain the same. The order of the literals in the body of the clauses, ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming --- Proceedings of the 1993 International Symposium, pages 11--35. The MIT Press, 1993.


Using parametric set constraints for locating errors.. - Drabent, MALUSZYNSKI, ..   (Correct)

....on approximating semantics of logic programs by descriptive types based on set constraints and on abstract interpretation. It extends some of the techniques proposed in these fields to handle parametric polymorphism and constraint domains. Partial correctness. From (Bronsard et al. 1992; Apt, 1993; Bossi Cocco, 1989) and our own previous work (Drabent Ma luszy nski, 1988; Boye Ma luszy nski, 1997) we extend to CLP a directional view of logic programs in the sense that each predicate is considered a procedure which, when applied to a suitable tuple of call arguments returns upon a ....

....by deterministic root to frontier tree automata. Using parametric set constraints for locating errors in CLP programs 49 condition we use, which in general form originates from (Drabent Ma luszy nski, 1988; Bossi Cocco, 1989) and was specifically formulated for directional type checking in (Apt, 1993). We also allow nonground types but in contrast to this work we achieve non groundness not by lifting ground sets but by extending set constraints with constants interpreted as basic nonground types. Inference of directional types in the framework of set constraints was illustrated by an example ....

[Article contains additional citation context not shown here]

Apt, K. R. (1993). Declarative programming in Prolog. Pages 12--35 of: Miller, D. (ed), Logic Programming - Proc. of the 1993 Int. Symposium. The MIT Press.


Automata on DAG Representations of Finite Trees - Charatonik (1999)   (Correct)

....which, when applied to a tuple of input terms, generates a tuple of output terms. There is a rich literature on types and directional types for which we can give only some entry points. Directional types occur as predicate profiles in [34] as mode dependencies in [14] and simply as types in [9, 7, 8]. Our use of the terminology directional type stems from [5] More pointers to the literature can be found in [13] It is pointed in [5] that the type checking problem is undecidable for arbitrary types. Therefore one has to restrict himself to regular (or even more restricted, e.g. ....

....here. If Sigma is a signature and Var is a set of variables then T Sigma is the set of ground terms and T Sigma(Var) is the set of non ground terms over Sigma and Var. We write Var(t) for the set of variables occurring in the term t. A type T is a set of terms t closed under substitution [7]. A ground type is a set of ground terms (i.e. trees) and thus a special case of a type. A term t has type T , in symbols t : T , if t 2 T . A type judgment is an implication t 1 : T 1 : t n : T n t 0 : T 0 that holds under all term substitutions : Var T Sigma(Var) We recall that ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12--35, Vancouver, Canada, 1993. The MIT Press.


Augmented Prolog - An Evolutionary Approach - Stroetmann, Glass (1995)   (1 citation)  (Correct)

....program is subject to certain conditions outlined in [SG95] but then this is also true for the completion semantics. In the rest of this paper we will describe the new declarative semantics sketched above in more detail. Our declarative semantics builds upon the type system described in [Apt93]. We introduce the necessary notions and notations together with this type system in the next section. The declarative semantics will then be introduced in the third section. The fourth section discusses an implementation of our system. In the final section we compare our approach with similar ....

....items from a class are denoted by a fixed group of letters, then sequences of these items will be denoted by the same letters in boldface. For example, since s and t denote terms, s and t will be used to denote sequences of terms. 2.1. Modes and Types. As already noted by others, compare e.g. [Apt93], in order to develop a declarative semantics for Prolog one has to introduce the concept of modes [DM85] and types [MO84] We find it convenient to use the notion of a well typed program as given in Apt and Etalle [AE93] This paper is itself based on the paper by Bronsard, Lakshman and Reddy ....

Krzysztof R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of International Logic Programming Symposium (ILPS `93), Cambridge, Mass./London, 1993. The MIT Press. This paper is identical to report CS-R9353 of the CWI in Amsterdam, the Netherlands. URL: http://www.cwi.nl/cwi/publications/index.html.


Regular Directional Types for Logic Programs - Charatonik, Podelski   (Correct)

....are of the same type. To overcome this problem, 36, 30] introduced approximations based on magic set transformation of the input program. In Section 5 we observe that types of the magic set transformation of a program coincide with directional types of the initial program as they appear in [50, 9, 4, 2, 1, 3, 7, 6, 8]. Directional types. Directional types form a type system for logic programs which is based on the view of a predicate as a directional procedure which, when applied to a tuple of input terms, generates a tuple of output terms. They rst occurred in [50] as predicate pro les and in [9] as mode ....

....used to form tuples) The set of predicate symbols occurring in a program P is denoted Pred(P) or simply Pred if P is clear from the context. For a program P , lm(P) denotes its least model. For p 2 Pred(P) we de ne [ p] P = ft j p(t) 2 lm(P)g. A type is a set of terms closed under substitution [2]. A ground type is a set of ground terms (i.e. trees) and thus a special case of a type. A term t has type T , in symbols t : T , if t 2 T . A type judgment is an implication t 1 : T 1 : tn : Tn t 0 : T 0 . We say that such a judgment holds if the implication t 1 2 T 1 : tn 2 ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12-35, Vancouver, Canada, 1993. The MIT Press.


Type Dependencies for Logic Programs Using ACI-Unification - Codish, Lagoon (1998)   (11 citations)  (Correct)

....type and mode information to aid compilers in overcoming this obstacle (see for example [38] Recently there has been a growing interest in the notion of directional types for logic programs which combine types and modes. Directional types, originally considered in [40, 11] and more recently in [1, 3, 37, 10, 9], have proven useful in applications such as proving termination of programs and controlling execution of programs through a delay mechanism. Directional types have a declarative aspect as well as an operational aspect prescribing not only types for the predicates in a program but also the ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12--35, Vancouver, Canada, 1993. MIT Press.


Directional Types for Logic Programs and the Annotation Method - Boye, Maluszynski (1995)   (Correct)

....d emontrer l absence de deadlock . Mots cl e : programmation en logique, types fl ech es, correction de programmes Directional types for logic programs and the annotation method 3 1 Introduction Recently there has been a growing interest in the notion of directional types for Prolog programs [12, 35, 4, 6, 1, 13, 33, 38]. This kind of prescriptive typing describes the intended ways of calling the program, as well as the user s intuition of how the program behaves when called as prescribed. Together with some methods and tools for type checking, directional types may provide a good support for program validation. ....

....[22] This facilitates systematic development of similar sufficient conditions for correctness of directional types, also for other computation rules. In particular, we introduce yet another well typing condition, and illustrate its power on examples which cannot be handled by the well typing of [12, 4]. We show that it also gives a sufficient condition of non suspension for a model of computation when the declared types are used for control. The idea of directional types is to describe the computational behaviour of Prolog programs by associating an input and an output assertion to every ....

[Article contains additional citation context not shown here]

K.R. Apt. Declarative programming in Prolog. In Proc. of ILPS'93 , pp. 12--35. The MIT Press, 1993.


Directional Type Inference for Logic Programs - Charatonik, Podelski (1998)   (5 citations)  (Correct)

....which, when applied to a tuple of input terms, generates a tuple of output terms. There is a rich literature on types and directional types for which we can give only some entry points. Directional types occur as predicate profiles in [28] as mode dependencies in [8] and simply as types in [4, 2, 3]. Our use of the terminology directional type stems from [1] A directional type for a program P assigns input types I p and output types O p to each predicate p of P . A program can have many directional types. For example, consider the predicate append defined by append( L; L) append( X ....

....Remark 2, T P # (PC ffi T P ) If M is a path closed model of P , then it is also a fixpoint of PC ffi TP , and hence it contains the least fixpoint of T P # , i.e. the least model of P # . 2 3 Directional Types and Type Programs A type T is a set of terms t closed under substitution [2]. A ground type is a set of ground terms (i.e. trees) and thus a special case of a type. A term t has type T , in symbols t : T , if t 2 T . A type judgment is an implication t 1 : T 1 : t n : Tn t 0 : T 0 that holds under all term substitutions : Var T Sigma (Var) Definition 4 ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12--35, Vancouver, Canada, 1993. The MIT Press.


Directional Type Checking for Logic Programs: Beyond.. - Charatonik (2000)   (1 citation)  (Correct)

....are of the same type. To overcome this problem, 24, 20] introduced approximations based on magic set transformation of the input program. It was observed in [12] that types of the magic set transformation of a program coincide with directional types of the initial program as they appear in [32, 8, 4, 2, 1, 3, 6, 5, 7]. Directional types form a type system for logic programs which is based on the view of a predicate as a directional procedure which, when applied to a tuple of input terms, generates a tuple of output terms. They rst occurred in [32] as predicate pro les and in [8] as mode dependencies. Our use ....

....used to form tuples) The set of predicate symbols occurring in a program P is denoted Pred(P) or simply Pred if P is clear from the context. For a program P , lm(P) denotes its least model. For p 2 Pred(P) we de ne [ p] P = ft j p(t) 2 lm(P)g. A type is a set of terms closed under substitution [2]. A ground type is a set of ground terms (i.e. trees) and thus a special case of a type. A term t has type T , in symbols t : T , if t 2 T . A type judgment is an implication t 1 : T 1 : tn : Tn t 0 : T 0 . We say that such a judgment holds if the implication t 1 2 T 1 : tn 2 ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12-35, Vancouver, Canada, 1993. The MIT Press.


Directional Type Checking of Logic Programs - Aiken, Lakshman (1994)   (29 citations)  (Correct)

....et al. BLR92] have proposed a combination of modes and types that we call directional types. Directional types specify both the directionality of predicates and the structure of the arguments to the predicate. The use of directional types by Apt and others for reasoning about partial correctness [Apt93],and for use in compiler optimizations [AE93] suggests that a uniform view of types and directionality is indeed useful. None of these previous works has addressed the type checking problem for logic programs with directional types. It is worthwhile to explain our introduction of the term ....

....is indeed useful. None of these previous works has addressed the type checking problem for logic programs with directional types. It is worthwhile to explain our introduction of the term directional type. What we call a directional type is called a mode dependence in [BLR92] and a type in [Apt93]. Besides the problems caused by having two terms for the same concept, there is the added complication that both terms have multiple conflicting definitions in the literature. To avoid confusion over terminology, we prefer to introduce a fresh and hopefully descriptive name. 1 1 The name ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative Programming in Prolog. In D. Miller, editor, Proceedings of the International Logic Programming Symposium. MIT Press, November 1993.


The Declarative Semantics of the Prolog Selection Rule - Stärk (1994)   (Correct)

....: Ln . A goal (or a query) is a finite sequence of literals L 1 ; Ln . Goals are denoted by 0, 1, 5. Thus clauses can be denoted by A : 0 5. The empty goal is ; Substitutions are denoted by , oe, The identity substitution is . For unexplained notions we refer to [7] Following [1] and [2] we call SLDNF resolution with the Prolog selection rule LDNF resolution (linear resolution for definite clauses with negation as failure) Let P be a program. We write 0 R(P ) if 0 returns the answer substitution using LDNFresolution from P . We write 0 2 F(P ) if 0 fails using ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming --- Proceedings of the 1993 International Symposium, pages 11--35. MIT Press, 1993.


Replacement Can Preserve Termination - Bossi, Cocco   (3 citations)  (Correct)

....V ar(ff) V ar(c) V ar(N ) Example 1. Let us consider the program P which is meant to generate all the nonempty lists consisting of at most three elements and which are prefixes of a set of predefined lists. c: prefix3(Ys) ourlists(Xs) prefix(Xs, Ys) length(Ys, N) lesseq3(N) ourlists([1, 2, 3, 4, 5]) ourlists( 1, 1, 1, 1] ourlists( a, b, c, d, e, f] prefix(Xs, prefix( X jXs] X jYs] prefix(Xs, Ys) length( 0) length( X jXs] s(N) length(Xs, N) lesseq3(s(0) lesseq3(s(s(0) lesseq3(s(s(s(0) Unfolding prefix(Xs; Y s) in c in P is decreasing wrt fprefix3(Y s)ffg ....

....this section we make use of one of the possible specifications of modes and types for weakening the conditions required on replacement in order to be safe and then preserve our semantics. We only briefly recall the main definitions and properties of such types. A complete treatment can be found in [2, 3] and [20] Definition 16 [3] A type is a decidable set of terms closed under substitution. 2 Certain types are of special interest since they are used very frequently in our programs: List the set of lists, Nat the set of natural numbers, ListNat the set of lists of natural ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993 International Symposium on Logic Programming, pages 12--35. The MIT Press, 1993.


Proving Correctness of Constraint Logic Programs.. - de Boer.. (1996)   (2 citations)  (Correct)

....P defining a predicate p(X) then (the constraints computed by the query) p(X) will satisfy certain properties which can be derived logically from the theory of P. Thus, considering for instance logic programs, one can reason about program correctness by simply using the least Herbrand model [1]. If we now add the delay declaration DELAY p(X) UNTIL Condition(X) than what can we say about the properties satisfied by p(x) in the new program In this paper we show that, if p(x) in P satisfies a property OE, then under the delay declaration it will satisfy the property Condition(x) OE. ....

K. R. Apt. Declarative Programming in Prolog. In D. Miller, editor, Proceedings of the Int'l Symposium on Logic Programming, The MIT Press, pages 11--35x, 1993.


Type Dependencies for Logic Programs Using ACI-Unification - Codish, Lagoon (1996)   (11 citations)  (Correct)

....Academy of Sciences and Humanities, by the Israel Ministry of Science and Arts and by the EC Israel Collaboration Activity ISC IL 90. terest in the notion of directional types for logic programs which combine types and modes. Directional types, originally proposed in [29] and more recently in [1, 22, 8, 3, 26, 7], have proven useful in applications such as proving termination of programs and controlling execution of programs through a delay mechanism. Directional types have a declarative aspect as well as an operational aspect prescribing not only types for the relations in a program but also the intended ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12--35, Massachusetts Institute of Technology, Cambridge, Massachusetts 021-42, 1993. The MIT Press.


Programs without Failures - Bossi, Cocco (1997)   (4 citations)  (Correct)

....P R denotes one derivation step and we say that it is non trivial if R is not fail. The length of an LD derivation l is denoted by j l j. The rest of the notation is more or less standard and essentially follows [18, 1] In the paper we make use of the notion of modes and types introduced in [12, 4, 2]. We consider a combination of modes and types and adopt the following assumption: every considered relation has a fixed mode and a fixed type associated with it. This assumption allows us to talk about types of input positions and of output positions of an atom. For example, app( List; ....

....output positions of an atom. For example, app( List; List; Gamma : List) denotes a ternary relation app with the first two positions moded as input and typed as List and the third position moded as output and typed as List. A similar denotation is called a directional type in [11] From [2, 4] we take also the notion of well typed query and program. A complete treatment of this topic can be found in [2, 4] In the Appendix we recall only the main definition. Definition 1. Let P be a well typed program and B a well typed query in P . The terms of B are denoted by T erm(B) The ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993 International Symposium on Logic Programming, pages 12--35. The MIT Press, 1993.


Successful Logic Programs - Bossi, Cocco (1998)   (Correct)

.... Gamma P R denotes one derivation step, we say that it is non trivial if R is not fail. The length of an LD derivation l is denoted by j l j. The rest of the notation is more or less standard and essentially follows [21, 1] In the paper we make use of the notion of modes and types introduced in [15, 4, 2]. We consider a combination of modes and types and adopt the following assumption: every considered relation has a fixed mode and a fixed type associated with it. This assumption allows us to talk about types of input positions and of output positions of an atom. For example, app( List; ....

....of output positions of an atom. For example, app( List; List; Gamma : List) denotes a ternary relation app with the first two positions moded as input and typed as List and the third position moded as output and typed as List. A similar denotation is called a directional type in [14] From [4, 2] we take also the notion of well typed query and program. A complete treatment of this topic can be found in [4, 2] here we recall only the main definition. To simplify the notation, when writing an atom as p(u : S; v : T) we assume that u : S is a sequence of typed terms filling in the input ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993 International Symposium on Logic Programming, pages 12--35. The MIT Press, 1993.


Directional Types and the Annotation Method - Boye, Maluszynski (1997)   (23 citations)  (Correct)

....by an example of an execution model where unification is controlled by directional types, and where our new well typing condition is applied to show the absence of deadlock. 1. INTRODUCTION Recently there has been a growing interest in the notion of directional types for logic programs [1, 5, 7, 12, 13, 14, 39, 40, 44]. A directional type describes the intended ways of calling the program, as well as the user s intuition of how the program behaves when called as prescribed. Together with some methods and tools for type checking, directional types may provide a good support for program validation. This article ....

....of Computer and Information Science, Linkoping University, S 581 83 Linkoping, Sweden. johbo,janma ida.liu.se 2 method for proving declarative properties of logic programs [21] we obtain a better correctness criterion than those existing in the literature (e.g. the well typing condition of [5, 14]) We further demonstrate how directional types can be used for controlling execution in a coroutining fashion. We show that programs satisfying our new correctness condition will never suspend indefinitely when executed this way. The idea of directional types is to describe the computational ....

[Article contains additional citation context not shown here]

K. Apt. Declarative programming in Prolog. In Proceedings of the International symposium on logic programming, Vancouver (Canada), pp. 12--35. The MIT Press, 1993.


Successes in Logic Programs - Bossi, Cocco (1999)   (2 citations)  (Correct)

..... Q j oe Gamma P R denotes one derivation step, we say that it is non trivial if R is not fail. The length of an LD derivation l is denoted by j l j. The rest of the notation is more or less standard and essentially follows [23, 1] We make use of the notion of modes and types introduced in [14, 5, 2]. We consider a combination of modes and types and adopt the following assumption: every considered relation has a fixed mode and a fixed type associated with it. This assumption allows us to talk about types of input positions and of output positions of an atom. For example, app( List; ....

....output positions of an atom. For example, app( List; List; Gamma : List) denotes a ternary relation app with the first two positions moded as input and typed as List and the third position moded as output and typed as List. A similar denotation is called a directional type in [13] From [5, 2] we take also the notion of well typed query and program, which guarantees that mode and type properties are preserved through LD resolution, and from [4] the notion of simply moded clause and query. Here we recall only the main definition of well typed program. To simplify the notation, when ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993 International Symposium on Logic Programming, pages 12--35. The MIT Press, 1993.


Directional Type Inference for Logic Programs - Charatonik, Podelski (1998)   (5 citations)  (Correct)

....which, when applied to a tuple of input terms, generates a tuple of output terms. There is a rich literature on types and directional types for which we can give only some entry points. Directional types occur as predicate profiles in [24] as mode dependencies in [8] and simply as types in [4, 2, 3]. Our use of the terminology directional type stems from [1] In [1] Aiken and Lakshman present an algorithm for automatic type checking of logic programs wrt. given directional types. The algorithm runs in NEXPTIME; they show that the problem is DEXPTIME hard in general and PSPACE hard for ....

....2, T P # (PC ffi T P ) If M is a path closed model of P , then it is also a fixpoint of PC ffi TP , and hence it contains the least fixpoint of T P # , i.e. the least model of P # . 2 3 Directional Types and Type Programs A type T is a set of terms t closed under substitution [2]. A ground type is a set of ground terms (i.e. trees) and thus a special case of a type. A type judgement is an implication t 1 : T 1 : t n : T n t 0 : T 0 built up from membership constraints between terms and types that holds under all term substitutions : Var T Sigma (Var) ....

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming - Proceedings of the 1993 International Symposium, pages 12--35, Vancouver, Canada, 1993. The MIT Press.


Two Aspects of Directional Types - Boye, Maluszynski (1995)   (21 citations)  (Correct)

....correctness criteria than those existing in the literature. We further show how directional types can be used for controlling execution of logic programs through a delay mechanism. 1 Introduction Recently there has been a growing interest in the notion of directional types for Prolog programs [6, 12, 2, 3, 1, 11]. This kind of prescriptive typing describes the intended ways of calling the program, as well as the user s intuition of how the program behaves when called as prescribed. Together with some methods and tools for type checking, directional types may provide a good support for program validation. ....

....types have two aspects. One of them is declarative and can be discussed regardless of the computation model, while the other is related to the computation model. This view allows us to obtain a better correctness criterion than those existing in the literature (e.g. the welltyping condition of [6, 2]) We further demonstrate how directional types can be used for controlling execution in a coroutining fashion. We show that programs satisfying our new correctness condition will never suspend indefinitely when executed this way. The idea of directional types is to describe the computational ....

[Article contains additional citation context not shown here]

K.R. Apt. Declarative programming in Prolog. In Proc. of ILPS'93 , pp. 12--35. The MIT Press, 1993.


Declarative Interpretations Reconsidered - Apt, Gabbrielli (1994)   (7 citations)  Self-citation (Apt)   (Correct)

....previous sections can be applied to prove partial correctness of logic programs by using the least Herbrand model. Given a program P and a query Q, we wish to prove assertions of the form fQg P Q. This can be done by performing the steps listed below, which extend a methodology introduced in Apt [1] to the case of non ground inputs (or more precisely to queries with non ground computed instances) We illustrate our technique by means of an example. Consider the program REVERSE of Example 7.1 and the query Q = reverse(s,X) where s is a (possibly non ground) list and X is a variable. In ....

....of the considered semantics deals with the problem of errors which can arise in presence of arithmetic relations. To handle properly this issue, the results concerning partial correctness (so Corollaries 5.7 and 6.4) have to be restricted to the queries whose evaluation cannot yield an error. Apt [1] provides a method for proving absence of errors for pure Prolog programs augmented by arithmetic relations. program page sub.free S unif. free method member 45 yes no DP prefix 45 yes yes SYN1 SYN2 suffix 45 yes yes SEM1 SYN2 naive reverse 48 yes yes SYN1 SEM2 reverse accum. 48 yes yes ....

K. R. Apt. Declarative programming in Prolog. In Dale Miller, editor, Proc. Int'l Symposium on Logic Programming, pages 12--35. The MIT Press, Cambridge, Mass., 1993. 15


Program Verification and Prolog - Apt (1994)   (13 citations)  Self-citation (Apt)   (Correct)

....occurcheck freedom, absence of errors and absence of floundering. Finally, we discuss which aspects of these techniques can be automated. Notes. This research was partly supported by the ESPRIT Basic Research Action 6810 (Compulog 2) A preliminary, shorter, version of this paper appeared as Apt [3]. 1 Introduction 1.1 Motivation Prolog is 20 years old and so is logic programming. However, they were developed separately and these two developments never really merged. The first track is best exemplified by Sterling and Shapiro [36] which puts emphasis on programming style and techniques, ....

....symbols whose definitions we can ignore Well, with this choice we face the following problem. In Prolog the relations and are built in s whose evaluation results in an error when its arguments are not ground arithmetic expressions (in short, gae s) Consequently, the query qs( 3,4,X,7] [3,4,7,8]) results in an error at the moment the variable X becomes an Krzysztof R. Apt 59 argument of . Now, logic programming does not have any facilities to deal with runtime errors, but at least one could consider trading them for failure. Unfortunately, this is not possible. Otherwise, for some ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proc. International Symposium on Logic Programming, pages 11--35. MIT Press, 1993.


Verification of Logic Programs with Delay Declarations - Apt, Luitjes (1995)   (21 citations)  Self-citation (Apt)   (Correct)

.... p( Gae; Gae) In the case of QUICKSORT take the typing qs( ListGae; Gamma : ListGae) part( Gae; ListGae; Gamma : ListGae; Gamma : ListGae) app( ListGae; ListGae; Gamma : ListGae) Gae; Gae) Gae; Gae) Then QUICKSORT is well typed (see Apt [Apt93]) Also, it is clearly simply moded. Moreover, the delay declarations from the introduction imply matching. Indeed, if a non variable term unifies with [X Xs] then it is an instance of [X Xs] We conclude that for s a list of integers, all SLD derivations of QUICKSORT [fqs(s; X)g which ....

....hence finite. Proof. It is an immediate consequence of Lemma 35, because if the delay declarations imply determinacy, then every SLD derivation which respects these delay declarations is determinate. 2 Let us see now how to apply this result to the IN ORDER program. Using the approach of Apt [Apt93] it is straightforward to prove that for a tree t, IN ORDER [fin order(t; Ys)g satisfies the first condition of the above theorem. Also, the assumed delay declarations clearly imply determinacy. We conclude that all SLD derivations of IN ORDER [fin order(t; Ys)g which respect the delay ....

[Article contains additional citation context not shown here]

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proc. International Symposium on Logic Programming, pages 11--35. MIT Press, 1993.


Successes in Logic Programs - Annalisa Bossi Nicoletta (1999)   (2 citations)  (Correct)

No context found.

K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Proceedings of the 1993.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC