Results 1  10
of
19
Internal Type Theory
 Lecture Notes in Computer Science
, 1996
"... . We introduce categories with families as a new notion of model for a basic framework of dependent types. This notion is close to ordinary syntax and yet has a clean categorical description. We also present categories with families as a generalized algebraic theory. Then we define categories with f ..."
Abstract

Cited by 50 (7 self)
 Add to MetaCart
(Show Context)
. We introduce categories with families as a new notion of model for a basic framework of dependent types. This notion is close to ordinary syntax and yet has a clean categorical description. We also present categories with families as a generalized algebraic theory. Then we define categories with families formally in MartinLof's intensional intuitionistic type theory. Finally, we discuss the coherence problem for these internal categories with families. 1 Introduction In a previous paper [8] I introduced a general notion of simultaneous inductiverecursive definition in intuitionistic type theory. This notion subsumes various reflection principles and seems to pave the way for a natural development of what could be called "internal type theory", that is, the construction of models of (fragments of) type theory in type theory, and more generally, the formalization of the metatheory of type theory in type theory. The present paper is a first investigation of such an internal type theor...
From reductionbased to reductionfree normalization
 Proceedings of the Fourth International Workshop on Reduction Strategies in Rewriting and Programming (WRS'04
, 2004
"... We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the inte ..."
Abstract

Cited by 28 (13 self)
 Add to MetaCart
(Show Context)
We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the intermediate successive terms in the reduction sequence), equational simplication, refunctionalization (i.e., the converse of defunctionalization), and directstyle transformation (i.e., the converse of the CPS transformation), ending with a reductionfree normalization function of the kind usually crafted by hand. We treat in detail four simple examples: calculating arithmetic expressions, recognizing Dyck words, normalizing lambdaterms with explicit substitutions and call/cc, and attening binary trees. The overall method builds on previous work by the author and his students on a syntactic correspondence between reduction semantics and abstract machines and on a functional correspondence between evaluators and abstract machines. The measure of success of these two correspondences is that each of the interderived semantic artifacts (i.e., manmade constructs) could plausibly have been written by hand, as is the actual case for several ones derived here.
Normalization and the Yoneda Embedding
"... this paper we describe a new, categorical approach to normalization in typed  ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
this paper we describe a new, categorical approach to normalization in typed 
A coherence theorem for MartinLöf's type theory
 J. Functional Programming
, 1998
"... In type theory a proposition is represented by a type, the type of its proofs. As a consequence the equality relation on a certain type is represented by a binary family of types. Equality on a type may be conventional or inductive. Conventional equality means that one particular equivalence rel ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
(Show Context)
In type theory a proposition is represented by a type, the type of its proofs. As a consequence the equality relation on a certain type is represented by a binary family of types. Equality on a type may be conventional or inductive. Conventional equality means that one particular equivalence relation is singled out as the equality, while inductive equality, which we also call identity, is inductively defined as the "smallest reflexive relation". It is sometimes convenient to know that the type representing a proposition is collapsed in the sense that all its inhabitants are identical. Although uniqueness of identity proofs for an arbitrary type is not derivable inside type theory, there is a large class of types for which it may be proved. Our main result is a proof that any type with decidable identity has unique identity proofs. This result is convenient for proving that the class of types with decidable identities is closed under indexed sum. Our proof of the main result...
Inferring Type Isomorphisms Generically
 Proceedings of the 7th International Conference on Mathematics of Program Construction, MPC 2004, volume 3125 of LNCS
"... Datatypes which di#er inessentially in their names and structure are said to be isomorphic; for example, a ternary product is isomorphic to a nested pair of binary products. In some canonical cases, the conversion function is uniquely determined solely by the two types involved. ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
(Show Context)
Datatypes which di#er inessentially in their names and structure are said to be isomorphic; for example, a ternary product is isomorphic to a nested pair of binary products. In some canonical cases, the conversion function is uniquely determined solely by the two types involved.
Customizing an XML–Haskell data binding with type isomorphism inference in Generic Haskell
"... Customizing an XML–Haskell data binding ..."
(Show Context)
Toward the automation of category theory
, 2004
"... We introduce a sequent system for basic categorytheoretic reasoning suitable for computer implementation. We illustrate its use by giving a complete formal proof that the functor categories Fun[C × D, E] and Fun[C, Fun[D, E]] are naturally isomorphic. ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
We introduce a sequent system for basic categorytheoretic reasoning suitable for computer implementation. We illustrate its use by giving a complete formal proof that the functor categories Fun[C × D, E] and Fun[C, Fun[D, E]] are naturally isomorphic.
A Comparison of HOL and ALF Formalizations of a Categorical Coherence Theorem
 In Theorem Proving in Higher Order Logic (HOL'96). Springer LNCS
, 1996
"... . We compare formalizations of an example from elementary category theory in the systems HOL (an implementation of Church's classical simple type theory) and ALF (an implementation of MartinL of's intuitionistic type theory). The example is a proof of coherence for monoidal categories whic ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
. We compare formalizations of an example from elementary category theory in the systems HOL (an implementation of Church's classical simple type theory) and ALF (an implementation of MartinL of's intuitionistic type theory). The example is a proof of coherence for monoidal categories which was extracted from a proof of normalization for monoids. It makes essential use of the identification of proofs and programs which is fundamental to intuitionistic type theory. This aspect is naturally highlighted in the ALF formalization. However, it was possible to develop a similar formalization of the proof in HOL. The most interesting aspect of the developments concerned the implementation of diagram chasing. In particular, the HOL development was greatly facilitated by an implementation of tool support for equational reasoning in Standard ML. 1 Introduction We compare the two proof assistants ALF and HOL by using them for implementing a proof in elementary category theory 3 . This proof was...
Coherence for SkewMonoidal Categories
"... I motivate a variation (due to K. Szlachányi) of monoidal categories called skewmonoidal categories where the unital and associativity laws are not required to be isomorphisms, only natural transformations. Coherence has to be formulated differently than in the wellknown monoidal case. In my (to ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
I motivate a variation (due to K. Szlachányi) of monoidal categories called skewmonoidal categories where the unital and associativity laws are not required to be isomorphisms, only natural transformations. Coherence has to be formulated differently than in the wellknown monoidal case. In my (to my knowledge new) version, it becomes a statement of uniqueness of normalizing rewrites. I present a proof of this coherence theorem and also formalize it fully in the dependently typed programming language Agda.
A New Approach to OnePass Transformations
"... We show how to construct a onepass optimizing transformation by fusing a nonoptimizing transformation with an optimization pass. We state the transformation in build form and the optimization pass in cata form, i.e., as a catamorphism; and we use cata/build fusion to combine them. We illustrate th ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We show how to construct a onepass optimizing transformation by fusing a nonoptimizing transformation with an optimization pass. We state the transformation in build form and the optimization pass in cata form, i.e., as a catamorphism; and we use cata/build fusion to combine them. We illustrate the method by fusing Plotkin’s callbyvalue and callbyname CPS transformations with a reductionfree normalization function for the λcalculus, thus obtaining two new onepass CPS transformations.