Results 1 
8 of
8
KripkeStyle Models for Typed Lambda Calculus
 Annals of Pure and Applied Logic
, 1996
"... The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke ..."
Abstract

Cited by 44 (3 self)
 Add to MetaCart
The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke lambda models are cartesian closed subcategories of the presheaves over a poset. To those familiar with Kripke models of modal or intuitionistic logics, Kripke lambda models are likely to seem adequately \semantic." However, when viewed as cartesian closed categories, they do not have the property variously referred to as concreteness, wellpointedness, or having enough points. While the traditional lambda calculus proof system is not complete for Henkin models that may have empty types, we prove strong completeness for Kripke models. In fact, every set of equations that is closed under implication is the theory of a single Kripke model. We also develop some properties of logical relations ...
Retrieving Library Functions By Unifying Types Modulo Linear Isomorphism
, 1992
"... An improved method to retrieve a library function via its Hindley/Milner type is described. Previous retrieval systems have identified types that are isomorphic in any Cartesian closed category (CCC), and have retrieved library functions of types that are either isomorphic to the query, or have ..."
Abstract

Cited by 18 (0 self)
 Add to MetaCart
An improved method to retrieve a library function via its Hindley/Milner type is described. Previous retrieval systems have identified types that are isomorphic in any Cartesian closed category (CCC), and have retrieved library functions of types that are either isomorphic to the query, or have instances that are. Sometimes it is useful to instantiate the query too, which requires unification modulo isomorphism. Although unifiability modulo CCCisomorphism is undecidable, it is decidable modulo linear isomorphism, that is, isomorphism in any symmetric monoidal closed (SMC) category. We argue that the linear isomorphism should retrieve library functions almost as well as CCCisomorphism, and we report experiments with such retrieval from the Lazy ML library. When unification is used, the system retrieves too many functions, but sorting by the sizes of the unifiers tends to place the most relevant functions first. R'esum'e Ce papier pr'esente une nouvelle m'ethode pour la re...
Pointfree Program Transformation
 Fundamenta Informaticae
, 2005
"... Abstract. The subject of this paper is functional program transformation in the socalled pointfree style. By this we mean first translating programs to a form consisting only of categoricallyinspired combinators, algebraic data types defined as fixed points of functors, and implicit recursion thr ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
Abstract. The subject of this paper is functional program transformation in the socalled pointfree style. By this we mean first translating programs to a form consisting only of categoricallyinspired combinators, algebraic data types defined as fixed points of functors, and implicit recursion through the use of typeparameterized recursion patterns. This form is appropriate for reasoning about programs equationally, but difficult to actually use in practice for programming. In this paper we present a collection of libraries and tools developed at Minho with the aim of supporting the automatic conversion of programs to pointfree (embedded in Haskell), their manipulation and ruledriven simplification, and the (limited) automatic application of fusion for program transformation. 1
The power of linear functions
 PROCEEDINGS OF THE 15TH EACSL CONFERENCE ON COMPUTER SCIENCE LOGIC (CSL’06), VOLUME 4207 OF LECTURE NOTES IN COMPUTER SCIENCE
, 2006
"... The linear lambda calculus is very weak in terms of expressive power: in particular, all functions terminate in linear time. In this paper we consider a simple extension with Booleans, natural numbers and a linear iterator. We show properties of this linear version of Gödel’s System T and study th ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
The linear lambda calculus is very weak in terms of expressive power: in particular, all functions terminate in linear time. In this paper we consider a simple extension with Booleans, natural numbers and a linear iterator. We show properties of this linear version of Gödel’s System T and study the class of functions that can be represented. Surprisingly, this linear calculus is extremely expressive: it is as powerful as System T.
Implementing SASL using Categorical MultiCombinators
, 1990
"... machines INTRODUCTION Functional programs consist of definitions of functions and other objects. The execution of a program in a functional language consists of the evaluation of an expression, and we can see this as proceeding by successive rewriting of an expression until it takes printable (or no ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
machines INTRODUCTION Functional programs consist of definitions of functions and other objects. The execution of a program in a functional language consists of the evaluation of an expression, and we can see this as proceeding by successive rewriting of an expression until it takes printable (or normal) form. (A normal form is one that cannot be rewritten further.) For example, if we say fac n = n * fac(n1) , n¿0 (1) = 1 , otherwise then fac 2 is rewritten thus 00380644/90/00000000$05.00 Received 28 September 1987 c fl1990 by John Wiley & Sons, Ltd. Revised 18 May 1988 and 24 April 1990 2 R.D.LINS AND S.J.THOMPSON fac 2 ) 2 fac (2 \Gamma 1) (2) ) 2 fac 1 ) 2 (1 fac (1 \Gamma 1)) ) 2 (1 fac 0) ) 2 (1 1) ) 2 1 ) 2 The definition (1) is used in the first line of (2) where we have to substitute the actual value 2 for the variable n  this process of parameter passing forms the major overhead in rewriting implementations of functional languages. The method of compi...
An internal language for interaction categories
 In Theory and Formal Methods 1994: Proceedings of the Second Imperial College Department of Computing Workshop on Theory and Formal Methods. Imperial
, 1995
"... 1 Introduction It has been known for some years that formal systems of various kinds correspond to certain flavours of categorical structure. The first person to observe this phenomenon seems to have been Lawvere, who formulated a connection between certain kinds of algebraic theories and categories ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
1 Introduction It has been known for some years that formal systems of various kinds correspond to certain flavours of categorical structure. The first person to observe this phenomenon seems to have been Lawvere, who formulated a connection between certain kinds of algebraic theories and categories with finite products. Since Lawvere's original insight, there has been much progress in understanding
Monad Transformers as Monoid Transformers
"... The incremental approach to modular monadic semantics constructs complex monads by using monad transformers to add computational features to a preexisting monad. A complication of this approach is that the operations associated to the preexisting monad need to be lifted to the new monad. In a compa ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The incremental approach to modular monadic semantics constructs complex monads by using monad transformers to add computational features to a preexisting monad. A complication of this approach is that the operations associated to the preexisting monad need to be lifted to the new monad. In a companion paper by Jaskelioff, the lifting problem has been addressed in the setting of system F ω. Here, we recast and extend those results in a categorytheoretic setting. We abstract and generalize from monads to monoids (in a monoidal category), and from monad transformers to monoid transformers. The generalization brings more simplicity and clarity, and opens the way for lifting of operations with applicability beyond monads. Key words: Monad, Monoid, Monoidal Category
Categorifying Fundamental Physics
"... Despite the incredible progress over most of the 20th century, and a continuing flow of new observational discoveries — neutrino oscillations, dark matter, dark energy, and evidence for inflation — theoretical research in fundamental physics seems to be in a ‘stuck ’ phase. So, now more than ever, i ..."
Abstract
 Add to MetaCart
Despite the incredible progress over most of the 20th century, and a continuing flow of new observational discoveries — neutrino oscillations, dark matter, dark energy, and evidence for inflation — theoretical research in fundamental physics seems to be in a ‘stuck ’ phase. So, now more than ever, it seems important to reexamine basic assumptions and seek fundamentally new ideas. Work along these lines is inherently risky: many different directions must be explored, since while few will lead to important new insights, it is hard to know in advance which these will be. For this reason, I have ceased for now to work on loop quantum gravity, and begun to rethink basic mathematical structures in physics. The unifying idea behind this multipronged project is ‘categorification’, or in simple terms: giving up the naive concept of equality. While equations play an utterly fundamental role in physics, and this is unlikely to change, equations between elements of a set often arise as a shorthand for something deeper: isomorphisms between objects in a category.