| John Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123--152, April 1993. |
....the universal variable x at some leaf of the term. At this point, one would like to use a clause like de bruijn x (db var I x) N x : plus N I x N x . N is the N of the clause instance that introduced x 18 Hannan presents a similar example in the framework of extended natural semantics [22]. The purpose of de Bruijn s notation is to avoid, by simply eliminating names, the naming problem that is otherwise solved using axiom ff. The idea is to replace every occurrence of a bound name by the number of abstractions that are between this occurrence and the abstraction that binds the ....
....of clauses forces us to make them explicit to avoid a confusion with the outermost clause. Variable N is intentionally left free in the implied clause. Hence, it is shared by the two clauses. The universal variable x is shared by the premise and the conclusion of the implication. Another example [22] Let us define a predicate that relates a pure calculus term to its simple type. One needs a type for representing the terms of the simply typed calculus, and a type the simple types. For object level terms, we will reuse constants l term, 20 An implication less solution to this problem that ....
[Article contains additional citation context not shown here]
J. Hannan. Extended natural semantics. J. Functional Programming, 3(2):123--152, 1993.
....universal quantification brings in a form of openness: new constructors can be added at any time. We illustrate the problem with the definition of a predicate that relates terms and their de Bruijn s notation [12] Hannan presents a similar example in the framework of extended natural semantics [20]. The purpose of de Bruijn s notation is to avoid, by simply eliminating names, the naming problem that is otherwise solved using axiom ff. The idea is to replace every occurrence of a bound name by the number of abstractions that are between this occurrence and the abstraction that binds the ....
....nor that they will be used only once. All these properties may be necessary in applications like natural language processing. Note that linear logic [18] models these properties, and that some fragments and some presentations of it have the uniform proof property [23, 31] 3.5.2. Another example. [20] Let us define a predicate that relates a pure calculus term to its simple type. One needs a type for representing the object level simply typed calculus, and a type for the object level simple types. For objectlevel terms, we will reuse constants l term, app and abs (see Section 3.2.1) One ....
[Article contains additional citation context not shown here]
J. Hannan. Extended natural semantics. J. Functional Programming, 3(2):123--152, 1993.
....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 Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....aspects of term replacement required in implementing and reasoning about term rewriting systems. This is especially true when the object level This paper appears in Theorem Proving in Higher Order Logics, 11th International Conference Springer Verlag LNCS Vol. 1479. September 1998. 2 See [17, 4, 10, 5] for background and sample work on higher order abstract syntax. rewriting system is itself higher order. Higher order rewriting requires substitution to be regarded in the broadest sense, one in which the scopes of bound variables are not necessarily respected. We are required to consider x as, ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
.... such as subsets of intuitionistic logic with quantification at higher types (like those implemented in Isabelle [29] and Prolog [28] These encodings have been successfully used in the specification of a wide range of computations, including the evaluation of functional programming languages [4, 15, 27], abstract machines [16] and process calculi [26] Various recent papers suggest that linear logic [11] can be used as well to make this style of specification more expressive. For example, specifications of imperative and concurrent programming language features [5, 6, 9, 23, 24] and the ....
John Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123--152, April 1993.
....proof theoretic formulation of type inference. That is, type inference should be presentable as proof search. The original Damas Milner calculus is too nondeterministic for this purpose. Previous attempts at its alteration either took short cuts with the let case or were stopped by gen. In [4], Hannan gave proof theoretic formulations of the natural semantics of ML. But his technique for let was basically to replace let x = M in N with N [M=x] To allow let expressions to be typed naturally, Harper defined in [5] an algorithmic version of the Damas Milner calculus for the express ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....proof theoretic formulation of type inference. That is, type inference should be presentable as proof search. The original Damas Milner calculus is too nondeterministic for this purpose. Previous attempts at its alteration either took short cuts with the let case or were stopped by gen. In [6], Hannan gave prooftheoretic formulations of the natural semantics of ML. But his technique for let was basically to replace let x = M in N with N [M=x] To allow let expressions to be typed naturally, Harper defined in [7] an algorithmic version of the Damas Milner calculus for the express ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....semantics of encoded object languages [27] While it has been useful as a meta language, it does not seem that the calculus would yield an interesting encoding of itself. Similarly, Prolog has been successful in providing powerful and flexible specifications of functional programming languages [8, 21] and natural deduction proof systems [5] Forum has similarly been used to specify sequent calculi and various features of programming languages [2, 14] It is not clear, however, that Prolog or Forum would be particularly good for representing their own operational semantics. Observation 2. A ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....from the above examples that Forum allows for both the natural specification of sequent calculus and the possibility of handling some substructural object logics. 6 Operational Semantics Examples Evaluation of pure functional programs has been successfully specified in intuitionistic meta logics [11] and type theories [4, 30] using structured operational semantics and natural semantics. These specification systems are less successful at providing natural specifications of languages that incorporate references and concurrency. In this section, we consider how evaluation incorporating ....
....is achieved at the meta level by fi reduction of the meta level application (R U ) in the above inference rule. A familiar way to represent these inference rules in meta logic is to encode them as the following two clauses using the predicate eval of type tm tm o (see, for example, [11]) eval (app M N ) V ffi Gamma eval M (abs R) ffi Gamma eval N U ffi Gamma eval (R U ) V: eval (abs R) abs R) In order to add side effecting features, this specification must be made more explicit: in particular, the exact order in which M , N , and (R U ) are evaluated must be specified. ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....inference [19] Cut free sequent calculus proofs have been successfully used to encode the operational semantics of a wide range of computational systems. For example, the evaluation of functional programming languages and of their abstract machines have been specified in intuitionistic logic [4, 16, 15]; imperative and concurrency features have been modeled using linear logic programming languages [5, 6, 9, 20, 21] and the sequential and concurrent (pipe line) semantics of a RISC processor have also been specified in linear logic [6] It is natural, therefore, to ask what such a definition ....
John Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123--152, April 1993.
....V) eval (F (fixpt F) V) can be added to this collection to realize the effect of the first of the equations above. We do not describe a complete set of equations or an encoding of it here, but the interested reader can find extended discussions of this and other related issues in [HM92] and [Han93]. A point that should be noted about an encoding of the kind described here is that it reflects the effect of the objectlanguage equations only in the evaluation relation and does not affect the equality relation of the meta language. In particular, the notions of equality and unification for our ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123 -- 152, April 1993.
....clear from the above example that Forum allows for both the natural specification of sequent calculus and the possibility of handling substructural object logics. 4 Operational Semantics Examples Evaluation of pure functional programs has been successfully specified in intuitionistic meta logics [9] and type theories [4, 20] using structured operational semantics and natural semantics. These specification systems are less successful at providing natural specifications of languages that incorporate references, control operators, and concurrency. We now consider how evaluation incorporating ....
....V K ffi Gamma r V Omega (r (V 1) Gammaffi K) Figure 4: Three specifications of a global counter. the above clause. A familiar way to represent these inference rules in meta logic is to encode them as the following two clauses using the predicate eval of type tm tm o (see, for example, [9]) eval (app M N ) V ffi Gamma eval M (abs R) ffi Gamma eval N U ffi Gamma eval (R U ) V: eval (abs R) abs R) In order to add side effecting features, this specification must be made more explicit: in particular, the exact order in which M , N , and (R U ) are evaluated must be specified. ....
J. Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123-152, 1993.
....the meta logic, we can now reason within the object language and interpret the results via the adequacy theorem. Many experiments have been carried out following this methodology, including type inference [Pfe88] equational reasoning [Nip89] theorem proving [Fel89] functional programming [HM90, Han93] specification languages [MM93] VLSI design [Ros92] set theory [Pau93, Noe93] interpreter verification [BHN 94] and the Church Rosser theorem [Nip95, Ras95] However, in many applications we need to go a step further and design a representation of derivations themselves as objects in the ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
....computations within these logics and with using meta theoretic properties of those logics to infer properties of computations. We only mention a few of these examples here. Intuitionistic logic has been used to specify both the dynamic and static semantics of functional programming languages [9], and theorems that relate these two semantics (such as subject reduction or type preservation) are rendered as simple consequences of the proof theory of intuitionistic logic [14] In [17] various linear logic encodings of simple objects with state are given and proved equivalent within linear ....
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, April 1993.
No context found.
John Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123--152, April 1993.
No context found.
John Hannan. Extended natural semantics. J. of Functional Programming, 3(2):123--152, April 1993.
No context found.
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, 1993.
No context found.
John Hannan. Extended natural semantics. Journal of Functional Programming, 3(2):123--152, 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