| Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058. |
....it reports an error and requests that the user provide the correct type explicitly. The type inference and type checking algorithms in Delphin are decidable, and their formal foundation is given in Section 4. In future work we plan to implement a coverage checker and a termination checker [13, 11]. 4. TYPE THEORETIC FOUNDATION The LF and # type theories are well understood [5, 14] In this section we aim to provide a glimpse of the underlying theory of Delphin, its type system, its operational semantics, and its meta properties. For an in depth discussion the reader is invited to ....
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
....machineok M machineok M type. mode collect ok D1 D2 D3. For instance, the progress theorem is a relation between machineok M derivations and stepsto M M derivations, and so forth. The mode declaration following each statement indicates the input and output arguments of the relation [25]. In each of these cases, the last argument (with the mode) is the sole output argument. A proof of a meta theorem so encoded is a logic program whose type is the relational encoding of the theorem. The program can then (in principle) be given derivations in the input arguments and ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag.
....remarks appear in Section 5. 2 The Twelf Metalogic We begin with a brief tutorial on the use of Twelf to express logics and meta reasoning. The ideas underlying this methodology originated with Pfenning [23] and were developed further in a variety of papers on Twelf and its predecessor Elf [24, 28, 27, 29, 26]. We assume familiarity with logic programming, and with the methodology of encoding logics in LF [11] wherein syntactic classes and judgements become types, and syntactic objects and derivations becomes terms. 2.1 A Simple Logic As a running example, we will use a very simple logic of natural ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag.
....machineok M machineok M type. mode collect ok D1 D2 D3. For instance, the progress theorem is a relation between machineok M derivations and stepsto M M derivations, and so forth. The mode declaration following each statement indicates the input and output arguments of the relation [26]. Proof Components lines purpose 210 Properties of canonical forms 252 Properties of conditions 320 Properties of memory lookup update extension 349 Instruction decode lemmas 361 Size lemmas 372 Properties of register file lookup update 399 Properties of values 407 Equality lemmas 429 ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag.
....the type family vs indeed represents some proof of value soundness. Such a notion can be given in the form of schema checking which guarantees that a type family such as vs inductively defines a total function from its first three arguments to its fourth argument. A discussion of schema checking [RP96, Sch00] is beyond the scope of these notes. Some material may also be found in the documentation which accompanies the implementation of Elf in the Twelf system [PS99] 1 1 [update on final revision] 3.8. THE FULL LF TYPE THEORY 71 3.8 The Full LF Type Theory The levels of kinds and types in the ....
.... EV#value V # type Case in Structural Induction Constant Declaration Base Case for Axioms Constant of Atomic Type Induction Step Constant of Functional Type A decidable criterion on when a given type family represents a proof of a theorem about a deductive system is subject of current research [RP96, Sch00]. 2 An alternative to this approach is to work in a stronger type theory with explicit induction principles in which we can directly express induction arguments. This approach is taken, for example, in the Calculus of Inductive Constructions [PM93] which has been implemented in the Coq system ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....methods for proving termination are needed. In the context of well moded programs, Plumer [37] presents a sufficient condition for programs to have the bounded term size property, which implies termination of tabled programs using leftto right selection rule. Termination and mode analysis [41, 36] for non tabled higher order logic programs provides a starting point in our framework and can provide helpful clues on which predicates to table and which not. It seems interesting to strengthen already existing termination analysis for tabled higher order logic programming to automatically ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....specifies in and outputs of the defined predicate. When executed this program translates computations on the abstract machine into Mini ML evaluations. Dependent types underlying this implementation guarantee that only valid computation sequences and evaluations are generated. The mode checker [RP96] verifies that all inputs are ground when the predicate is called and all output arguments are ground after successful execution of the predicate. To check that this program actually constitutes a proof, meta theoretic properties such as coverage and termination need to be established. Each ....
....user to specify a termination order. On the other hand, we are able to handle more complex orderings such higher order orderings and compound orderings like lexicographic orderings. This paper builds on Rohwedder and Pfenning s work on mode and termination checking for higher order logic programs [RP96]. Their termination checker requires a direct relationship between inputs of the recursive call and inputs of the original call without taking into account input and output relations. Reasoning about orderings allows us to check for example proofs by complete induction. The emphasis of their work ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....1 ; M 0 n we require that (M 0 1 ; M 0 n ) M 1 ; Mn ) Any syntactic criterion, that entails this property yields a valid termination checker. In [Sch00] we propose one such criterion based on simultaneous and lexicographical extensions of the subterm ordering [RP96] but there are many others [Wal94,GWB98] If coverage and termination are guaranteed, we can indeed show that all functions in M 2 are realizers. The proof of this property in [Sch00] is rather technical and involves a re nement of the operational semantics from Section 5 to a trace based ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296-310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....this paper therefore we must stay informal. The first side condition enforces termination of a proof term P by ensuring that the argument vector to each occurrence of x in P decreases according to some well founded ordering. Our termination criterion is very similar to the one already proposed by [RP96]. The second side condition enforces that any Omega occurring anywhere in a proof term covers all possible cases. More precisely, for any instantiation (j; ffi) of ( Psi 0 ; Delta 0 ) Phi; Delta j; ffi 2 Psi 0 ; Delta 0 ) there exists at least one case ( Psi 00 . 7 P ) ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....rewriting to dependent types. As future work we plan to investigate the possibility of incorporating means to support semi automatic methods to check termination of a higher order rewrite system. This could be done by combining our implementation with current work by Rohwedder and Pfenning [RP96]. Furthermore a method by Kahrs [Kah95] might be promising as a semi automatic procedure with a required build in knowledge about ordinal arithmetic. ....
E. Rohwedder and F. Pfenning. Mode and Termination Checking for Higher-Order Logic Programs. In H.R. Nielson, editor, Programming Languages and Systems ESOP'96, number 1058 in Lecture Notes in Computer Science, pages 296--310. Springer-Verlag, 1996.
No context found.
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
No context found.
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
.... in certain dependent type theories, functions defined by pattern matching are strictly more expressive than schemata of primitive recursion [9] In addition to coverage checking, proof verification requires termination analysis which we do not consider here, but has previously been treated [19, 17]. Related is the work on Delphin [22] where functions may be defined by pattern matching over LF terms in their full generality. Verifying that such functions represent correct proofs requires coverage checking. In the context of the Twelf system [16] coverage checking is used to verify that a ....
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
.... in certain dependent type theories, functions defined by pattern matching are strictly more expressive than schemata of primitive recursion [10] In addition to coverage checking proof verification requires termination analysis which we do not consider here, but has previously been treated [22, 20]. Related is the work on Delphin [26] where functions may be defined by pattern matching over LF terms in their full generality. Verifying that such functions represent correct proofs requires coverage checking. In the context of the Twelf system [19] coverage checking is used to verify that a ....
....checker means that execution will always be able to make progress and can not fail assuming the program is well moded, that is, the role of arguments for input and output are properly respected. That it also terminates is an entirely di#erent issue enforced by a termination and reduction checker [22, 20]. In 14 this relational form, the coverage algorithm distinguishes between input coverage (the argument position that will be matched when a logical program is called) and the output coverage (the argument position that will be matched after a subgoal has been successfully evaluated) Although ....
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
....an optimization is justified by our modal type theory without any loss of soundness or completeness. Moreover, the Twelf system [21] can verify automatically that type families (such as linear or one implementing object language subtyping) are in fact decidable using mode and termination analysis [22]. If we agree that irrelevant objects need not be shown in the user interface, then the proofs of type linear E that occur in linear terms actually do not need to be represented at all, leading to a potentially significant space savings that may be critical in applications such as proof carrying ....
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the EuropeanSymposiumon Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
....linterm : PiE:rawterm : PiL Xilinear E: type The definitional equality at type linterm now ignores the proofs that the expressions E are indeed linear. Moreover, the Twelf system [PS99] can verify automatically that linear is in fact a decidable type family using mode and termination analysis [RP96] If we agree that irrelevant objects need not be shown in the user interface, then the proofs of type linear E that occur in 11 linear terms actually do not need to be represented at all, leading to a potentially significant space savings that may be critical in applications such as ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higherorder logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....type . linterm :#E:rawterm . #Llinear E. type The definitional equality at type linterm now ignores the proofs that the expressions E are indeed linear. Moreover, the Twelf system [PS99] can verify automatically that linear is in fact a decidable type family using mode and termination analysis [RP96] If we agree that irrelevant objects need not be shown in the user interface, then the proofs of type linear E that occur in 11 linear terms actually do not need to be represented at all, leading to a potentially significant space savings that may be critical in applications such as ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higherorder logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....hypothesis is smaller than the induction conclusion according to a well founded order. This corresponds to proving that the arguments in the recursive call decrease according to a well founded order, i.e. a program terminates. Twelf uses a termination checker based on structural ordering [RP96] to check termination of programs and to generate valid induction hypotheses according to a given order. We are interested in extending the power of the induction component to enable complete induction or so called course of value ind. Complete induction plays an important role in proofs about ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....are fundamentally incompatible with the induction principles needed to reason about such encodings. 1 In the literature three approaches have been studied in order to overcome these problems, while retaining the advantages a logical framework can offer. The first called schema checking [Roh94,RP96] implements meta theoretic proofs as relations whose This work was sponsored by NSF Grant CCR 9619584 1 See [DPS97] for a detailed analysis. operational reading as logic programs realizes the informal proofs. This has been applied successfully in many case studies (see [Pfe96] but lacks ....
.... x 2 F: P 2 F It is obvious that a proof term represents a total function only if it terminates independently of the arguments it is applied to. Thus the side condition on the rule. For termination we use arbitrary lexicographic extensions of the subterm ordering on LF objects described in [RP96], all of which are well founded orderings and easy to check due to the restricted nature of our meta logic. 3.4 Adding Case Analysis The context of Eigenvariables Gamma in the judgment Gamma ; Delta P 2 F represents all LF variables which might occur free in the proof term P . Because of the ....
[Article contains additional citation context not shown here]
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
....the type checker, such as misspelled variable names or incorrect subgoal ordering. The mode checker verifies that the roles of input and output arguments to a predicate are respected throughout the program. The termination checker is given an extension of the subterm ordering on higher order terms [RP96] and verifies that each well moded query eventually either fails or yields a solution. Extensions can either be lexicographic or simultaneous. The implementation also allows termination orderings across several mutually recursive predicates. A third tool to check that all cases for a set of input ....
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
No context found.
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
No context found.
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
No context found.
E. Rohwedder and F. Pfenning. Mode and termination checking for higher-order logic programs. In H. R. Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, Apr. 1996. Springer-Verlag LNCS 1058.
No context found.
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 296-310, Linkoping, Sweden, April 1996. Springer-Verlag.
No context found.
Ekkehard Rohwedder and Frank Pfenning. Mode and termination checking for higher-order logic programs. In Hanne Riis Nielson, editor, Proceedings of the European Symposium on Programming, pages 296--310, Linkoping, Sweden, April 1996. Springer-Verlag LNCS 1058.
First 50 documents
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