25 citations found. Retrieving documents...
John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Implementation Considerations for Higher-Order Features in.. - Jayaraman, Wilson   (Correct)

....be added to this language. We attempt to motivate such additions and to describe informally the syntax and semantics of the resulting language. However, our discussions will not be comprehensive in either respect. The usefulness of higher order features is examined in several other places (e.g. [12, 16, 25, 26, 37]) and a logic underlying the proposed extension will be presented more precisely in the next section. A higher order ability that is usually coveted in programming contexts is that of passing procedures as arguments to other procedures and of returning these as the results of computations. ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Implementing Polymorphic Typing in a Logic Programming.. - Kwon, Nadathur, Wilson (1993)   (3 citations)  (Correct)

.... work presented here is that of providing a good implementation for the higher order logic programming language called Prolog [19] that, amongst other things, incorporates such a notion of typing [20] Numerous applications have been discovered for this language over the last few years (e.g. see [4, 5, 7, 14, 22]) stressing the importance of this concern. In providing a robust and ecient implementation for Prolog, three aspects that are novel to this language have to be dealt with: its higher order features, its new search primitives and its typing regimen. The ideas discussed in this paper complement ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990. 26


Compiler Construction in Higher Order Logic Programming - Liang (2002)   (4 citations)  (Correct)

....where the type variable a is bound by an abstraction, i.e. a:a a where is now a second order constructor. A principal type scheme can now be thought of as an equivalence class of terms. Type inference using such representations of type schemes has also been formulated in HOAS [13, 22], though they require an indirect way of using metalevel uni cation than the mono typing described above. In [22] a type inference algorithm is described that targets ML style let polymorphism. The expression let val f = fn x = x) in (f f) end; is typed by associating f with the type scheme ....

J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Computation and Deduction - Pfenning (2001)   (18 citations)  (Correct)

....by Milner [Mil78, DM82] We will refer to it as schematic polymorphism. In our formulation, we will be able to avoid using type schemes completely by distinguishing two forms of definitions via let, one of which is polymorphic. A formulation in this style orginates with Hannan and Miller [HM89, Han91, Han93]. Types # : nat # 1 # 2 # 1 # # 2 # Here, # stands for type variables. We also need a notion of context which assigns types to free variables in an expression. Contexts # : #,x:# We generally omit the empty context, and, for example, write x:# for ,x:#. We also have ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as Technical Report MS-CIS-91-09.


Scoping Constructs in Logic Programming: Implementation.. - Nadathur, Jayaraman.. (1993)   (14 citations)  (Correct)

....of the abstraction, but our representation of terms ensures that E(x) the application of E to x produces the desired effect. The examples that we have considered above have been of a very simple nature. More extensive examples may be found in various places in the literature (see, for example, [4, 14, 13, 6, 23]) We believe, however, that the examples presented here are sufficient for understanding the intended semantics and appreciating the value of the new logical symbols. In the following sections we provide a precise definition of a logical language that includes implications and universal ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Implementation Considerations for Higher-Order Features in.. - Nadathur, Wilson (1993)   (5 citations)  (Correct)

....be added to this language. We attempt to motivate such additions and to describe informally the syntax and semantics of the resulting language. However, our discussions will not be comprehensive in either respect. The usefulness of higher order features is examined in several other places (e.g. [12, 16, 25, 26, 37]) and a logic underlying the proposed extension will be presented more precisely in the next section. A higher order ability that is usually coveted in programming contexts is that of passing procedures as arguments to other procedures and of returning these as the results of computations. ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Proof Theoretic Approach To Specification Languages - Chirimar (1995)   (37 citations)  (Correct)

....of pipelined DLX underlines the fact that FORUM provides the appropriate framework to specify a variety of computational processes from as high level and abstract as UML to as low level and concrete as DLX. Many attempts have been made at specifying the operational semantics of fragments of UML [Lan64, FF86, WF91, HMT89, MP92, HM92, Han90]. In this thesis I am able to address many issues regarding the specification of UML which the above semantics could not address satisfactorily. Firstly, I am working in a rich meta theory where concurrency, higher order functions and imperative features can be specified. This is a mixture of ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


A Compiler for Natural Semantics - Pettersson (1996)   (6 citations)  (Correct)

....Prolog like search rule, but no attempts were made to reduce non determinism. Both the left factoring transformations and the new implementation technique for tailcalls are later extensions. Transformations similar to our left factoring ones have been described before, e.g. by da Silva [8] Hannan [14], and others. As far as we know, no one has made use of them in an actual implementation before. 9 Conclusion We have described a simple yet very effective compilation strategy for natural semantics. We have shown the great importance of applying high level determinacy improving optimizations ....

John Hannan. Investigating a proof-theoretic meta-language for functional programs. Report 91/1, DIKU Copenhagen, 1991. PhD thesis.


Program Derivation by Proof Transformation - Anderson (1993)   (7 citations)  (Correct)

.... linear context, Sieg and Wainer [SW93] have investigated proof translations in which recursive to tail recursive program transformation corresponds to the elimination of what they call call by value cuts. The basic techniques used in our Elf implementation were developed in [HM89] Han91] HHP93] and [MP91] The partial internalization of the metatheory uses methods described in [HP92] PR92] and [Pfe92a] The procedure we use for optimizing code during program extraction is directly derived from techniques developed by Hayashi [Hay90] for PX, Paulin Mohring [PM89] for the ....

....of logic, the representation of programs is external to the underlying logical framework. Our encodings are in the style of those given by Michaylov and Pfenning for a fragment of ML in [MP91] which extend the higher order representations developed in Prolog by Hannan and Miller in [HM89] Han91] 27 2.3.1 Programming language Because we are explicitly defining a language for extracted programs, external to the LF type theory, there are syntactic and semantic choices open to us. The language presented here is a simple extension of a calculus with primitive recursion, pairs, and ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


Natural Semantics and Some of its Meta-Theory in Elf - Michaylov, Pfenning (1991)   (27 citations)  (Correct)

....of Plotkin [19] on operational semantics and extended by G. Kahn [12] and others. Programs are traditionally represented as first order tree structures and reasoned about using natural deduction like methods. This method was extended and refined by Burstall and Honsell [1] and Hannan and Miller [6, 7]. Using higher order abstract syntax, programs are represented by simply typed terms and schema variables in inference rules become higher order variables. Further, they applied methods for introducing and discharging assumptions (for expressing hypothetical judgments) and parameters (for ....

....times to evaluate just a single application. Again we will consider the alternative later. Embodied in these rules is the decision that we would like to implement a call by value semantics for Mini ML. It would be a simple matter to rewrite the rules to implement a call by name discipline instead [6]. Next we will look at a sample evaluation expressed both as a derivation in our formal system and as an Elf deduction. The example expression is ( lambda x . lambda y . x y ) pred ( s z ) 1) lambda x . lambda y . x y ) lambda x . lambda y . x y By neval lam (2) pred ) pred By neval pred (3) ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, 1990.


Program Extraction in a Logical Framework Setting - Anderson (1994)   (3 citations)  (Correct)

....language. We define a simply typed calculus for representing extracted programs. Syntax, evaluation and type inference have been implemented [1] in the style of Michaylov and Pfenning [13] which extends the higher order representations developed in Prolog by Hannan and Miller in [8] [7]. In this paper we consider only syntax and type inference, as background for the metatheory of the next section. We use a Nuprl like syntax [3] for programs in order to emphasize the close relation to the logic. Here is the portion of the language definition necessary for extraction from the ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


Program Extraction in a Logical Framework Setting - Anderson (1994)   (3 citations)  (Correct)

....Programming language. We define a simply typed calculus for representing extracted programs. Syntax, evaluation and type inference have been implemented [1] in the style of Michaylov and Pfenning [13] which extends the higher order representations developed in Prolog by Hannan and Miller in [8] [7]. In this paper we consider only syntax and type inference, as background for the metatheory of the next section. We use a Nuprl like syntax [3] for programs in order to emphasize the close relation to the logic. Here is the portion of the language definition necessary for 4 extraction from the ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MSCIS -91-09.


Representing Proof Transformations for Program Optimization - Anderson (1994)   (6 citations)  (Correct)

....to metaprogramming tasks for formal logic like proof transformation has been to use a separate programming language, such as ML, as a metalanguage for a type theory considered as an object logic. A more recently developed strategy, which has been applied to programming language semantics [13] [12], 19] theorem provers [8] 9] and the metatheory of deductive systems [29] is the use of a higher order logic programming language as a logical framework. This is the basis of the approach taken here. The Elf programming language [27] supports this strategy by providing an operational ....

....language were given in the form of deductive systems encoded as Elf programs. The programming language syntax, evaluation and type inference were implemented in the style of Michaylov and Pfenning [19] which extends the higherorder representations developed in Prolog by Hannan and Miller in [13] [12]. We omit details of the language description and give example programs in the syntax of Standard ML [22] Our implementations of type and program extraction are an adaptation to the Elf setting of modified realizability [24] 15] 30] 31] 32] in which extracted types and programs are ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MSCIS -91-09.


Implementing Polymorphic Typing in a Logic Programming.. - Kwon, Nadathur, Wilson (1994)   (3 citations)  (Correct)

.... work presented here is that of providing a good implementation for the higher order logic programming language called Prolog [19] that, amongst other things, incorporates such a notion of typing [20] Numerous applications have been discovered for this language over the last few years (e.g. see [4, 5, 7, 14, 22]) stressing the importance of this concern. In providing a robust and efficient implementation for Prolog, three aspects that are novel to this language have to be dealt with: its higher order features, its new search primitives and its typing regimen. The ideas discussed in this paper complement ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Object-Level Substitution, Unification And Generalization In.. - Chuck C. Liang (1995)   (Correct)

....X) T : typing X S, pi x (typing x S = typing (B x) T) will not be able to derive a type for (let (abs y y) x (app x x) since x can not have both A and (arr A A) as types. In any case, the above program can at most be called a type checker, when T is instead some closed type expression. In [19], Hannan specified type inferencing as logic programming, up to the limitations described here. In [21] Harper defined several type inferencing proof systems in the Edinburgh LF logical framework [22] which has a close relationship with Prolog. Unification, however, was not present in any of his ....

....for x. 3.5.4 Comparison with Other Research Ideally, one would like to have a direct formulation of the ML typing system (e.g, the Damas Milner calculus) independently of meta programming principles. That is, to interpret typing rules directly as logic program clauses, such as Hannan did in [19]. However, the type schemes derived by such programs can not be interpreted as principal types within the meta logic for the reasons we have discussed. Furthermore, Hannan had to bypass the difficulties of let typing in the same manner as our quicktype program. Full fi reduction was used instead ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Higher-order abstract syntax in Coq - Despeyroux, Felty, Hirschowitz (1995)   (25 citations)  (Correct)

.... provers for several of these logics have been speci ed and implemented in the logic programming language Prolog, which provides support for the manipulation of objects expressed in higher order syntax [5, 6] The Prolog language has also been used to specify program evaluators and transformers [7, 8]. Elf, a logic programming implementation of LF, has been used to specify and verify properties of inference systems [11, 14] and compilers [9] In many of these examples, embedded implication (i:e: an implication on the left of an implication) is used, providing an elegant mechanism for handling ....

J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, Technical Report MS-CIS-91-09, Jan. 1991. RR n\Sigma2556 18 J. Despeyroux, A. Felty & A. Hirschowitz


Higher-Order Logic Programming as Constraint Logic Programming - Michaylov, Pfenning (1993)   (6 citations)  (Correct)

....These languages are particularly useful for various kinds of metaprogramming and theorem proving tasks because of the logical support for variable binding via abstraction. They have been used for a wide range of applications including theorem proving [3] programming language interpretation [5, 13], type inference [21] compilation [6] and natural language parsing [20] Despite their utility, current language implementations have acquired a well deserved reputation for being inefficient. In this paper we argue that HOLP languages can reasonably be viewed as Constraint Logic Programming ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as technical report MS-CIS-91-09.


A Proof Procedure for the Logic of Hereditary Harrop Formulas - Nadathur (1993)   (10 citations)  (Correct)

....in [12] The higher order version of this logic also provides for higher order programming and for the use of higher order terms as data structures. A logic programming language called Prolog that is based on this logic is described in [20] and has been used in numerous applications (e.g. see [3, 6, 15, 24]) Our interest in this paper is in describing a proof procedure for the logic of hereditary Harrop formulas. The practical motivation for this endeavor is obvious: such a procedure could provide the basis for an interpreter for Prolog. From a theoretical perspective, the exercise undertaken is ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


Unification in a lambda-Calculus with Intersection Types - Kohlhase, Pfenning   (Correct)

....in higher order logic programming. For example, in the higher order representation of natural deductions [2] one can distinguish normal forms as a refinement of arbitrary derivations instead of explicitly encoding two different representations. In the implementation of functional languages [4] refinement types can distinguish values from arbitrary expressions instead of leaving this distinction implicit. The interested reader is referred to [17] for further examples and discussion. 3 Basic Definitions The syntax of is that of the simply typed calculus augmented with the ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


Scoping Constructs in Logic Programming: Implementation.. - Nadathur, Jayaraman.. (1995)   (14 citations)  (Correct)

....program above as E(x) The examples considered in this section are simple ones, intended only to bring out the semantics of the new logical symbols and the value of their inclusion in logic programming. More extensive examples may be found in various places in the literature. See, for example, [5, 7, 14, 15, 24]. In the following sections we provide a precise definition of a logical language that includes implications and universal quantifiers in goals and we examine the implementation of this language. The language that we consider is a first order one and does not explicitly cover all the examples ....

John J. Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, August 1990.


A Proof of the Church-Rosser Theorem and its Representation in a .. - Pfenning (1992)   (21 citations)  (Correct)

.... designed just for the implementation of the calculus, but in fact bound variables occur in most programming languages and the technique of higher order abstract syntax has wide applicability in theorem proving and logic programming [Fel89, NM88, Pau86] and the theory of programming languages [Han91, HP92, MP91]. The second stage is the formalization of the semantics of the language which is given via judgments defined by inference rules. The judgments are implemented as types and deductions as objects. Thus the relationship between a deduction and the judgment it establishes is represented as the ....

....between an object and its type. In our example, we will represent various reduction and conversion relations in this style. Similar techniques have been used to specify type systems, operational semantics, compilation and other aspects of the semantics of programming languages (see, for example, [Han91, HP92, Har90, MP91]) The third stage is the formalization of the proofs of meta theorems in the framework. The construction which is implicit in the proof is represented as a judgment which relates deductions. For example, in the proof of the Church Rosser theorem we have to show the existence of certain reduction ....

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


A Proof of the Church-Rosser Theorem - And Its Representation   (Correct)

No context found.

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


Natural Semantics and Some of its - Meta-Theory In Elf   (Correct)

No context found.

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, 1990.


A Proof of the Church-Rosser Theorem and its Representation in a .. - Pfenning (1992)   (21 citations)  (Correct)

No context found.

John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.


Aspects Theoriques Et Pratiques De L'inferences De Type Et Effets - Talpin (1993)   (Correct)

No context found.

Hannan, J. Investigating a Proof-Theoretic Meta-Language for Functional Languages. Ph. D. Thesis, University of Pennsylvania, 1990.

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