• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Types, Abstraction, and Parametric Polymorphism, Part 2 (1991)

by QingMing Ma, John C. Reynolds
Add To MetaCart

Tools

Sorted by:
Results 11 - 20 of 40
Next 10 →

Notes on Sconing and Relators

by John C. Mitchell, Andre Scedrov , 1993
"... This paper describes a semantics of typed lambda calculi based on relations. The main mathematical tool is a category-theoretic method of sconing, also called glueing or Freyd covers. Its correspondence to logical relations is also examined. 1 Introduction Many modern programming languages feature ..."
Abstract - Cited by 24 (0 self) - Add to MetaCart
This paper describes a semantics of typed lambda calculi based on relations. The main mathematical tool is a category-theoretic method of sconing, also called glueing or Freyd covers. Its correspondence to logical relations is also examined. 1 Introduction Many modern programming languages feature rather sophisticated typing mechanisms. In particular, languages such as ML include polymorphic data types, which allow considerable programming flexibility. Several notions of polymorphism were introduced into computer science by Strachey [Str67], among them the important notion of parametric polymorphism. Strachey's intuitive definition is that a polymorphic function is parametric if it has a uniformly given algorithm in all types, that is, if the function's behavior is independent of the type at which the function is instantiated. Reynolds [Rey83] proposed a mathematical definition of parametric polymorphic functions by means of invariance with respect to certain relations induced by typ...

An Axiomatic Approach to Binary Logical Relations with Applications to Data Refinement

by Yoshiki Kinoshita, Peter W. O'hearn, A. John Power, Makoto Takeyama, Robert D. Tennent - Proc. TACS'97, Springer LNCS 1281 , 1997
"... We introduce an axiomatic approach to logical relations and data refinement. We consider a programming language and the monad on the category of small categories generated by it. We identify abstract data types for the language with sketches for the associated monad, and define an axiomatic notion o ..."
Abstract - Cited by 18 (1 self) - Add to MetaCart
We introduce an axiomatic approach to logical relations and data refinement. We consider a programming language and the monad on the category of small categories generated by it. We identify abstract data types for the language with sketches for the associated monad, and define an axiomatic notion of "relation" between models of such a sketch in a semantic category. We then prove three results: (i) such models lift to the whole language together with the sketch; (ii) any such relation satisfies a soundness condition, and (iii) such relations compose. We do this for both equality of data representations and for an ordered version. Finally, we compare our formulation of data refinement with that of Hoare. This work has been done with the support of the MITI Cooperative Architecture Project. This author also acknowledges the support of Kaken-hi. y This author achnowledges the support of the MITI Cooperative Architecture Project. z This author acknowledges the support of EPSRC grant...

Reflexive Graphs and Parametric Polymorphism

by G. Rosolini , 1993
"... this paper is to understand why that is a parametric categorical model. In [10] Ma and Reynolds propose a parametricity hypothesis for a functor between categorical models of polymorphism which essentially requires that there is an extension of (a certain form of) an identity relation functor which ..."
Abstract - Cited by 18 (0 self) - Add to MetaCart
this paper is to understand why that is a parametric categorical model. In [10] Ma and Reynolds propose a parametricity hypothesis for a functor between categorical models of polymorphism which essentially requires that there is an extension of (a certain form of) an identity relation functor which preserve the model structure. There is no mention in the paper of any case when the parametricity hypothesis is satified, nor if there is a canonical completion of a category to one which satisfies the hypothesis. We shall suggest how the construction of a PL-category of relations on a given category presented in [10] can be viewed as a "parametric completion". We shall also follow the suggestion of Ma in [9] that subtyping is a kind of parametricity requirement and show how to fit subtyping in the same setup. The basic idea is to use reflexive graphs of categories as in [12]. We shall employ their construction to present a kind of parametric completion of a given category. We also give a different presentation of the REL-construction in [10], and use it to discuss some examples. We show in particular that the REL-construction acts (essentially) in the same way on a category and on its completion. Hence it follows that the identity functor on the completion satisfies the parametricity hypothesis. Discussions with Eugenio Moggi, Peter O'Hearn, Edmund Robinson, and Thomas Streicher were very useful. Paul Taylor's beutiful diagram macros were used for typesetting all the diagrams in the text. 1 Graphs of categories

Logical Relations for Monadic Types

by Jean Goubault-Larrecq , Slawomir Lasota, David Nowak , 2002
"... Logical relations and their generalizations are a fundamental tool in proving properties of lambda-calculi, e.g., yielding sound principles for observational equivalence. We propose a natural notion of logical relations able to deal with the monadic types of Moggi's computational lambda-calculus ..."
Abstract - Cited by 17 (7 self) - Add to MetaCart
Logical relations and their generalizations are a fundamental tool in proving properties of lambda-calculi, e.g., yielding sound principles for observational equivalence. We propose a natural notion of logical relations able to deal with the monadic types of Moggi's computational lambda-calculus. The treatment is categorical, and is based on notions of subsconing and distributivity laws for monads. Our approach has a number of interesting applications, including cases for lambda-calculi with non-determinism (where being in logical relation means being bisimilar), dynamic name creation, and probabilistic systems.

Lax Logical Relations

by Gordon Plotkin, John Power, Donald Sannella, Robert Tennent - In 27th Intl. Colloq. on Automata, Languages and Programming, volume 1853 of LNCS , 2000
"... Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with th ..."
Abstract - Cited by 15 (2 self) - Add to MetaCart
Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with the correspondences of Schoett, the algebraic relations of Mitchell and the pre-logical relations of Honsell and Sannella on Henkin models, but also generalise naturally to models in cartesian closed categories and to richer languages.

A Logic of Subtyping

by Giuseppe Longo, Kathleen Milsted, Sergei Soloviev , 1996
"... The relation of inclusion between types has been suggested by the practice of programming, as it enriches the polymorphism of functional languages. We propose a simple (and linear) calculus of sequents for subtyping as logical entailment. This allows us to derive a complete and coherent approach to ..."
Abstract - Cited by 14 (4 self) - Add to MetaCart
The relation of inclusion between types has been suggested by the practice of programming, as it enriches the polymorphism of functional languages. We propose a simple (and linear) calculus of sequents for subtyping as logical entailment. This allows us to derive a complete and coherent approach to subtyping from a few, logically meaningful, sequents. In particular, transitivity and anti-symmetry will be derived from elementary logical principles, which stresses the power of sequents and Gentzen-style proof methods. Proof techniques based on cut-elimination will be at the core of our results. 1 Introduction 1.1 Motivations, Theories and Models In recent years, several extensions of core functional languages have been proposed to deal with the notion of subtyping; see, for example, [CW85, Mit88, BL90, BCGS91, CMMS91, CG92, PS94, Tiu96, TU96]. These extensions were suggested by the practice of programming in computer science. In particular, they were inspired by the notion of inheritance...

A Simple Proof Technique for Certain Parametricity Results

by Karl Crary - In 4th ACM International Conference on Functional Programming , 1998
"... Many properties of parametric, polymorphic functions can be determined simply by inspection of their types. Such results are usually proven using Reynolds's parametricity theorem. However, Reynolds's theorem can be difficult to show in some settings, particularly ones involving computational effects ..."
Abstract - Cited by 12 (2 self) - Add to MetaCart
Many properties of parametric, polymorphic functions can be determined simply by inspection of their types. Such results are usually proven using Reynolds's parametricity theorem. However, Reynolds's theorem can be difficult to show in some settings, particularly ones involving computational effects. I present an alternative technique for proving some parametricity results. This technique is considerably simpler and easily generalizes to effectful settings. It works by instantiating polymorphic functions with singleton types that fully specify the behavior of the functions. Using this technique, I show that callers' stacks are protected from corruption during function calls in Typed Assembly Language programs. 1 Introduction A polymorphic function can be termed parametric [11] if it always uses the same algorithm, regardless of the type at which it is applied. In particular, a parametric, polymorphic function can neither branch on nor otherwise analyze its type argument. In many type ...

Subtyping and Parametricity

by Gordon Plotkin, Luca Cardelli , 1993
"... In this paper we study the interaction of subtyping and parametricity. We describe a logic for a programming language with parametric polymorphism and subtyping. The logic supports the formal definition and use of relational parametricity. We give two models for it, and compare it with other formal ..."
Abstract - Cited by 11 (2 self) - Add to MetaCart
In this paper we study the interaction of subtyping and parametricity. We describe a logic for a programming language with parametric polymorphism and subtyping. The logic supports the formal definition and use of relational parametricity. We give two models for it, and compare it with other formal systems for the same language. In particular, we examine the "Penn interpretation" of subtyping as implicit coercion. Without subtyping, parametricity yields, for example, an encoding of abstract types and of initial algebras, with the corresponding proof principles of simulation and induction. With subtyping, we obtain partially abstract types and certain initial order-sorted algebras, and may derive proof principles for them. 1 Introduction A function is polymorphic if it works on inputs of several types. We may distinguish various notions of polymorphism, particularly parametric polymorphism (e.g. [Rey83]) and subtype polymorphism (e.g. [CW85]). These may exist in isolation, as in ML [MT...

A Characterization Of Lambda Definability In Categorical Models Of Implicit Polymorphism

by Moez Alimohamed - Theoretical Computer Science , 1995
"... . Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A category-theoretic framework known as glueing or sconing is used to extend the Jung-Tiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categor ..."
Abstract - Cited by 11 (0 self) - Add to MetaCart
. Lambda definability is characterized in categorical models of simply typed lambda calculus with type variables. A category-theoretic framework known as glueing or sconing is used to extend the Jung-Tiuryn characterization of lambda definability [JuT93], first to ccc models, and then to categorical models of the calculus with type variables. Logical relations are now a well-established tool for studying the semantics of various typed lambda calculi. The main lines of research are focused in two areas, the first of which strives for an understanding of Strachey's notion of parametric polymorphism. The main idea is that a parametricly polymorphic function acts independently from the types to which its type variables are instantiated, and that this uniformity may be captured by imposing a relational structure on the types [OHT93, MSd93, MaR91, Wad89, Rey83, Str67]. The other line of research concerns lambda definability and the full abstraction problem for various models of languag...

Parametricity as a Notion of Uniformity in Reflexive Graphs

by Brian Patrick Dunphy , 2002
"... data types embody uniformity in the form of information hiding. Information hiding enforces the uniform treatment of those entities that dier only on hidden information. ..."
Abstract - Cited by 11 (3 self) - Add to MetaCart
data types embody uniformity in the form of information hiding. Information hiding enforces the uniform treatment of those entities that dier only on hidden information.
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University