Results 1  10
of
38
The type theoretic interpretation of constructive set theory: inductive definitions
 Logic, Methodology and Philosophy of Science VII
, 1986
"... Abstract. We present a generalisation of the typetheoretic interpretation of constructive set theory into MartinLöf type theory. The original interpretation treated logic in MartinLöf type theory via the propositionsastypes interpretation. The generalisation involves replacing MartinLöf t ..."
Abstract

Cited by 154 (10 self)
 Add to MetaCart
Abstract. We present a generalisation of the typetheoretic interpretation of constructive set theory into MartinLöf type theory. The original interpretation treated logic in MartinLöf type theory via the propositionsastypes interpretation. The generalisation involves replacing MartinLöf type theory with a new type theory in which logic is treated as primitive. The primitive treatment of logic in type theories allows us to study reinterpretations of logic, such as the doublenegation translation.
Hybridizing a logical framework
 In International Workshop on Hybrid Logic 2006 (HyLo 2006), Electronic Notes in Computer Science
, 2006
"... The logical framework LF is a constructive type theory of dependent functions that can elegantly encode many other logical systems. Prior work has studied the benefits of extending it to the linear logical framework LLF, for the incorporation linear logic features into the type theory affords good r ..."
Abstract

Cited by 25 (1 self)
 Add to MetaCart
The logical framework LF is a constructive type theory of dependent functions that can elegantly encode many other logical systems. Prior work has studied the benefits of extending it to the linear logical framework LLF, for the incorporation linear logic features into the type theory affords good representations of state change. We describe and argue for the usefulness of an extension of LF by features inspired by hybrid logic, which has several benefits. For one, it shows how linear logic features can be decomposed into primitive operations manipulating abstract resource labels. More importantly, it makes it possible to realize a metalogical framework capable of reasoning about stateful deductive systems encoded in the style familiar from prior work with LLF, taking advantage of familiar methodologies used for metatheoretic reasoning in LF.Acknowledgments From the very first computer science course I took at CMU, Frank Pfenning has been an exceptional teacher and mentor. For his patience, breadth of knowledge, and mathematical good taste I am extremely thankful. No less do I owe to the other two major contributors to my programming languages
Dependent Session Types via Intuitionistic Linear Type Theory
"... We develop an interpretation of linear type theory as dependent session types for a term passing extension of the πcalculus. The type system allows us to express rich constraints on sessions, such as interface contracts and proofcarrying certification, which go beyond existing session type systems ..."
Abstract

Cited by 17 (12 self)
 Add to MetaCart
(Show Context)
We develop an interpretation of linear type theory as dependent session types for a term passing extension of the πcalculus. The type system allows us to express rich constraints on sessions, such as interface contracts and proofcarrying certification, which go beyond existing session type systems, and are here justified on purely logical grounds. We can further refine our interpretation using proof irrelevance to eliminate communication overhead for proofs between trusted parties. Our technical results include type preservation and global progress, which in our setting naturally imply compliance to all properties declared in interface contracts expressed by dependent types.
Towards Concurrent Type Theory
 INVITED TALK AT TLDI’12
, 2012
"... We review progress in a recent line of research that provides a concurrent computational interpretation of (intuitionistic) linear logic. Propositions are interpreted as session types, sequent proofs as processes in the πcalculus, cut reductions as process reductions, and vice versa. The strong pro ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
We review progress in a recent line of research that provides a concurrent computational interpretation of (intuitionistic) linear logic. Propositions are interpreted as session types, sequent proofs as processes in the πcalculus, cut reductions as process reductions, and vice versa. The strong prooftheoretic foundation of this type system provides immediate opportunities for uniform generalization, specifically, to embed terms from a functional type theory. The resulting system satisfies the properties of type preservation, progress, and termination, as expected from a language derived via a CurryHoward isomorphism. While very expressive, the language is strictly stratified so that dependent types for functional terms can be enforced during communication, but neither processes nor channels can appear in functional terms. We briefly speculate on how this limitation might be overcome to arrive at a fully dependent concurrent type theory.
Irrelevance in Type Theory with a Heterogeneous Equality Judgement
"... Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as possible, preferably immediately after type checking. To this end, Pfenning’s type theory with irrelevant quantification, that models a distinction between static and dynamic code, is extended to universes and large eliminations. Novel is a heterogeneously typed implementation of equality which allows the smooth construction of a universal Kripke model that proves normalization, consistency and decidability.
B.: Proofcarrying code in a sessiontyped process calculus
 In: Proc. of CPP ’11. LNCS
, 2011
"... Abstract. Dependent session types allow us to describe not only properties of the I/O behavior of processes but also of the exchanged data. In this paper we show how to exploit dependent session types to express proofcarrying communication. We further introduce two modal operators into the type the ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
(Show Context)
Abstract. Dependent session types allow us to describe not only properties of the I/O behavior of processes but also of the exchanged data. In this paper we show how to exploit dependent session types to express proofcarrying communication. We further introduce two modal operators into the type theory to provide detailed control about how much information is communicated: one based on traditional proof irrelevance and one integrating digital signatures.
General structural operational semantics through categorical logic (Extended Abstract)
, 2008
"... Certain principles are fundamental to operational semantics, regardless of the languages or idioms involved. Such principles include rulebased definitions and proof techniques for congruence results. We formulate these principles in the general context of categorical logic. From this general formul ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
Certain principles are fundamental to operational semantics, regardless of the languages or idioms involved. Such principles include rulebased definitions and proof techniques for congruence results. We formulate these principles in the general context of categorical logic. From this general formulation we recover precise results for particular language idioms by interpreting the logic in particular categories. For instance, results for firstorder calculi, such as CCS, arise from considering the general results in the category of sets. Results for languages involving substitution and name generation, such as the πcalculus, arise from considering the general results in categories of sheaves and group actions. As an extended example, we develop a tyft/tyxtlike rule format for open bisimulation in the πcalculus.
Higher Inductive Types in Homotopy Type Theory
"... Homotopy Type Theory (HoTT) refers to the homotopical interpretation [1] of MartinLöf’s intensional, constructive type theory (MLTT) [5], together with several new principles motivated by that interpretation. Voevodsky’s Univalent Foundations program [6] is a conception for a new foundation for mat ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
Homotopy Type Theory (HoTT) refers to the homotopical interpretation [1] of MartinLöf’s intensional, constructive type theory (MLTT) [5], together with several new principles motivated by that interpretation. Voevodsky’s Univalent Foundations program [6] is a conception for a new foundation for mathematics, based on HoTT and implemented in a proof assistant like Coq [2]. Among the new principles to be added to MLTT are the Univalence Axiom [4], and the socalled higher inductive types (HITs), a new idea due to Lumsdaine and Shulman which allows for the introduction of some basic spaces and constructions from homotopy theory. For example, the ndimensional spheres S n can be implemented as HITs, in a way analogous to the implementation of the natural numbers as a conventional inductive type. Other examples include the unit interval; truncations, such as brackettypes [A]; and quotients by equivalent relations or groupoids. The combination of univalence and HITs is turning out to be a very powerful and workable system for the formalization of homotopy theory, with the recently given, formally verified proofs of some fundamental results, such as determinations of various of the homotopy groups of spheres by Brunerie and Licata. See [3] for much work in progress After briefly reviewing the foregoing developments, I will give an impredicative encoding of certain HITs on the basis of a new representation theorem, which states that every type of a particular kind is equivalent to its double dual in the space of coherent natural transformations. A realizability model is also provided, establishing the consistency of impredicative HoTT and its extension by HITs.
From dynamic binding to state via modal possibility
 In PPDP ’03: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declaritive Programming
, 2003
"... In this paper we propose a typed, purely functional calculus for state (with secondclass locations) in which types reflect the dichotomy between reading from and writing into the global store. This is in contrast to the usual formulation of state via monads, where the primitives for reading and wri ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
In this paper we propose a typed, purely functional calculus for state (with secondclass locations) in which types reflect the dichotomy between reading from and writing into the global store. This is in contrast to the usual formulation of state via monads, where the primitives for reading and writing introduce the same monadic type constructor. We hope to argue that making this distinction is useful, simple, and has strong logical foundations. Our type system is based on the proofterm calculus for constructive modal logic S4, which has two modal type operators: for necessity and 3 for possibility. We extend this calculus with the notion of names (which stand for locations) and generalize to indexed families of modal operators (indexed by sets of names). Then, the modal type CA classifies computations of type A which read from store locations listed in the set C. The dual type 3CA classifies computations which first write into the locations from C and than use the changed store to obtain a value of type A. There are several benefits to this development. First, the necessitation fragment of the language is interesting in its own: it formulates a calculus of dynamic binding. Second, the possibility operator 3 is a monad, thus forcing the singlethreading of memory writes, but not of memory reads (as these are associated with ). Finally, the different status of reads and writes gives rise to a natural way of expressing the allocation of uninitialized memory while also providing guarantees that only initialized locations are dereferenced.
A Modal Calculus for Effect Handling
, 2003
"... In their purest formulation, monads are used in functional programming for two purposes: (1) to hygienically propagate effects, and (2) to globalize the effect scope  once an effect occurs, the purity of the surrounding computation cannot be restored. As a consequence, monadic typing does not prov ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
In their purest formulation, monads are used in functional programming for two purposes: (1) to hygienically propagate effects, and (2) to globalize the effect scope  once an effect occurs, the purity of the surrounding computation cannot be restored. As a consequence, monadic typing does not provide very naturally for the practically important ability to handle effects, and there is a number of previous works directed toward remedying this deficiency. It is mostly based on extending the monadic framework with further extralogical constructs to support handling. In this paper we adopt...