Results 1 
4 of
4
Practical aspects of evidencebased compilation in System FC
"... System FC is an explicitly typed language that serves as the target language for Haskell source programs. System FC is based on System F with the addition of erasable but explicit type equality proof witnesses. This paper improves FC in two directions: The first contribution is extending termlevel ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
System FC is an explicitly typed language that serves as the target language for Haskell source programs. System FC is based on System F with the addition of erasable but explicit type equality proof witnesses. This paper improves FC in two directions: The first contribution is extending termlevel functions with the ability to return equality proof witnesses, which allows the smooth integration of equality superclasses and indexed constraint synonyms, features currently absent from Haskell. We show how to ensure soundness and satisfy the zerocost requirement for equality witnesses using a familiar mechanism, already present in GHC: that of unlifted types. Our second contribution is an equality proof simplification algorithm, which greatly reduces the size of the target System FC terms.
A Syntactical Approach to Weak ωGroupoids
"... Abstract—When moving to a Type Theory without proof irrelevance the notion of a setoid has to be generalized to the notion of a weak ωgroupoid. As a first step in this direction we study the formalisation of weak ωgroupoids in Type Theory. This is motivated by Voevodsky’s proposal of univalent typ ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract—When moving to a Type Theory without proof irrelevance the notion of a setoid has to be generalized to the notion of a weak ωgroupoid. As a first step in this direction we study the formalisation of weak ωgroupoids in Type Theory. This is motivated by Voevodsky’s proposal of univalent type theory which is incompatible with proofirrelevance and the results by Lumsdaine and Garner/van de Berg showing that the standard eliminator for equality gives rise to a weak ωgroupoid.
Canonicity for 2Dimensional Type Theory
"... Higherdimensional dependent type theory enriches conventional onedimensional dependent type theory with additional structure expressing equivalence of elements of a type. This structure may be employed in a variety of ways to capture rather coarse identifications of elements, such as a universe o ..."
Abstract
 Add to MetaCart
(Show Context)
Higherdimensional dependent type theory enriches conventional onedimensional dependent type theory with additional structure expressing equivalence of elements of a type. This structure may be employed in a variety of ways to capture rather coarse identifications of elements, such as a universe of sets considered modulo isomorphism. Equivalence must be respected by all families of types and terms, as witnessed computationally by a typegeneric program. Higherdimensional type theory has applications to code reuse for dependently typed programming, and to the formalization of mathematics. In this paper, we develop a novel judgemental formulation of a twodimensional type theory, which enjoys a canonicity property: a closed term of boolean type is definitionally equal to true or false. Canonicity is a necessary condition for a computational interpretation of type theory as a programming language, and does not hold for existing axiomatic presentations of higherdimensional type theory. The method of proof is a generalization of the NuPRL semantics, interpreting types as syntactic groupoids rather than equivalence relations.
Homotopical Patch Theory
"... Homotopy type theory is an extension of MartinLöf type theory, based on a correspondence with homotopy theory and higher category theory. In homotopy type theory, the propositional equality type becomes proofrelevant, and corresponds to paths in a space. This allows for a new class of datatypes, ..."
Abstract
 Add to MetaCart
(Show Context)
Homotopy type theory is an extension of MartinLöf type theory, based on a correspondence with homotopy theory and higher category theory. In homotopy type theory, the propositional equality type becomes proofrelevant, and corresponds to paths in a space. This allows for a new class of datatypes, called higher inductive types, which are specified by constructors not only for points but also for paths. In this paper, we consider a programming application of higher inductive types. Version control systems such as Darcs are based on the notion of patches—syntactic representations of edits to a repository. We show how patch theory can be developed in homotopy type theory. Our formulation separates formal theories of patches from their interpretation as edits to repositories. A patch theory is presented as a higher inductive type. Models of a patch theory are given by maps out of that type, which, being functors, automatically preserve the structure of patches. Several standard tools of homotopy theory come into play, demonstrating the use of these methods in a practical programming context.