Results 1 -
8 of
8
Models of Sharing Graphs: A Categorical Semantics of let and letrec
, 1997
"... To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sha ..."
Abstract
-
Cited by 61 (9 self)
- Add to MetaCart
To my parents A general abstract theory for computation involving shared resources is presented. We develop the models of sharing graphs, also known as term graphs, in terms of both syntax and semantics. According to the complexity of the permitted form of sharing, we consider four situations of sharing graphs. The simplest is first-order acyclic sharing graphs represented by let-syntax, and others are extensions with higher-order constructs (lambda calculi) and/or cyclic sharing (recursive letrec binding). For each of four settings, we provide the equational theory for representing the sharing graphs, and identify the class of categorical models which are shown to be sound and complete for the theory. The emphasis is put on the algebraic nature of sharing graphs, which leads us to the semantic account of them. We describe the models in terms of the notions of symmetric monoidal categories and functors, additionally with symmetric monoidal adjunctions and traced
Structural Induction and Coinduction in a Fibrational Setting
- Information and Computation
, 1997
"... . We present a categorical logic formulation of induction and coinduction principles for reasoning about inductively and coinductively defined types. Our main results provide sufficient criteria for the validity of such principles: in the presence of comprehension, the induction principle for in ..."
Abstract
-
Cited by 55 (13 self)
- Add to MetaCart
. We present a categorical logic formulation of induction and coinduction principles for reasoning about inductively and coinductively defined types. Our main results provide sufficient criteria for the validity of such principles: in the presence of comprehension, the induction principle for initial algebras is admissible, and dually, in the presence of quotient types, the coinduction principle for terminal coalgebras is admissible. After giving an alternative formulation of induction in terms of binary relations, we combine both principles and obtain a mixed induction/coinduction principle which allows us to reason about minimal solutions X = oe(X) where X may occur both positively and negatively in the type constructor oe. We further strengthen these logical principles to deal with contexts and prove that such strengthening is valid when the (abstract) logic we consider is contextually/functionally complete. All the main results follow from a basic result about adjunc...
An Algebraic View of Structural Induction
- Computer Science Logic 1994, number 933 in Lect. Notes Comp. Sci
, 1994
"... We propose a uniform, category-theoretic account of structural induction for inductively defined data types. The account is based on the understanding of inductively defined data types as initial algebras for certain kind of endofunctors T : B !B on a bicartesian/distributive category B . Regarding ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
We propose a uniform, category-theoretic account of structural induction for inductively defined data types. The account is based on the understanding of inductively defined data types as initial algebras for certain kind of endofunctors T : B !B on a bicartesian/distributive category B . Regarding a predicate logic as a fibration p : P!B over B , we consider a logical predicate lifting of T to the total category P. Then, a predicate is inductive precisely when it carries an algebra structure for such lifted endofunctor. The validity of the induction principle is formulated by requiring that the `truth' predicate functor ? : B !Ppreserve initial algebras. We then show that when the fibration admits a comprehension principle, analogous to the one in set theory, it satisfies the induction principle. We also consider the appropriate extensions of the above formulation to deal with initiality (and induction) in arbitrary contexts, i.e. the `stability' property of the induction principle. 1...
Decomposing Typed Lambda Calculus Into a Couple of Categorical Programming Languages
- Proc. CTCS , Lect. Notes in Computer Science 953
, 1995
"... . We give two categorical programming languages with variable arrows and associated abstraction/reduction mechanisms, which extend the possibility of categorical programming [Hag87, CF92] in practice. These languages are complementary to each other -- one of them provides a first-order programming s ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
. We give two categorical programming languages with variable arrows and associated abstraction/reduction mechanisms, which extend the possibility of categorical programming [Hag87, CF92] in practice. These languages are complementary to each other -- one of them provides a first-order programming style whereas the other does higherorder -- and are "children" of the simply typed lambda calculus in the sense that we can decompose typed lambda calculus into them and, conversely, the combination of them is equivalent to typed lambda calculus. This decomposition is a consequence of a semantic analysis on typed lambda calculus due to C. Hermida and B. Jacobs [HJ94]. 1 Introduction There have been several attempts applying category theory to designing programming languages directly, especially to typed functional programming languages, since category theory itself has been a typed functional language for various mathematics. If one (possibly a programmer or a mathematician) can regard a cat...
A Theory of Program Refinement
, 1998
"... We give a canonical program refinement calculus based on the lambda calculus and classical first-order predicate logic, and study its proof theory and semantics. The intention is to construct a metalanguage for refinement in which basic principles of program development can be studied. The idea is t ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
We give a canonical program refinement calculus based on the lambda calculus and classical first-order predicate logic, and study its proof theory and semantics. The intention is to construct a metalanguage for refinement in which basic principles of program development can be studied. The idea is that it should be possible to induce a refinement calculus in a generic manner from a programming language and a program logic. For concreteness, we adopt the simply-typed lambda calculus augmented with primitive recursion as a paradigmatic typed functional programming language, and use classical first-order logic as a simple program logic. A key feature is the construction of the refinement calculus in a modular fashion, as the combination of two orthogonal extensions to the underlying programming language (in this case, the simply-typed lambda calculus). The crucial observation is that a refinement calculus is given by extending a programming language to allow indeterminate expressions (or ‘stubs’) involving the construction ‘some program x such that P ’. Factoring this into ‘some x...’
Simply-typed Underdeterminism
- of Journal of Computer Science and Technology
, 1998
"... We study an extension of the simply-typed lambda calculus with constructs for expressing a notion we call underdeterminism. This allows us to interpret notions of stub and skeleton used in top-down program development. We axiomatise a simple notion of program refinement, and give a semantics, for wh ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We study an extension of the simply-typed lambda calculus with constructs for expressing a notion we call underdeterminism. This allows us to interpret notions of stub and skeleton used in top-down program development. We axiomatise a simple notion of program refinement, and give a semantics, for which the calculus is proved sound and complete. 1
Abstraction and Application in
, 2001
"... The postulates of comprehension and extensionality in set theory are based on an inversion principle connecting set-theoretic abstraction and the property of having a member. An exactly analogous inversion principle connects functional abstraction and application to an argument in the postulates of ..."
Abstract
- Add to MetaCart
The postulates of comprehension and extensionality in set theory are based on an inversion principle connecting set-theoretic abstraction and the property of having a member. An exactly analogous inversion principle connects functional abstraction and application to an argument in the postulates of the lambda calculus. Such an inversion principle arises also in two adjoint situations involving a cartesian closed category and its polynomial extension. Composing these two adjunctions, which stem from the deduction theorem of logic, produces the adjunction connecting product and exponentiation, i.e. conjunction and implication. Mathematics Subject Classification: 18A15, 18A40, 18D15 1

