Results 1 
3 of
3
An Algebraic View of Structural Induction
 Computer Science Logic 1994, number 933 in Lect. Notes Comp. Sci
, 1994
"... We propose a uniform, categorytheoretic 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 9 (5 self)
 Add to MetaCart
We propose a uniform, categorytheoretic 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...
Axiomatics for Data Refinement in Call By Value Programming Languages
"... We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first order fragment of the computational calculus, such as a CPS language. We give a category theoretic account of the basic setting, then show how to model contexts, then arbitrary type and term constructors, then signatures, and finally data refinement. This extends and clarifies Kinoshita and Power's work on lax logical relations for call by value languages.
Logical Relations, Data Abstraction, and Structured Fibrations
"... We develop a notion of equivalence between interpretations of the simply typed calculus together with an equationally dened abstract datatype, and we show that two interpretations are equivalent if and only if they are linked by a logical relation. We show that our construction generalises from th ..."
Abstract
 Add to MetaCart
We develop a notion of equivalence between interpretations of the simply typed calculus together with an equationally dened abstract datatype, and we show that two interpretations are equivalent if and only if they are linked by a logical relation. We show that our construction generalises from the simply typed calculus to include the linear calculus and calculi with additional type and term constructors, such as those given by sum types or by a strong monad for modelling phenomena such as partiality or nondeterminism. This is all done in terms of category theoretic structure, using  brations to model logical relations following Hermida, and adapting Jung and Tiuryn's logical relations of varying arity to provide the completeness results, which form the heart of the work.