25 research outputs found
Sets in homotopy type theory
Homotopy Type Theory may be seen as an internal language for the
-category of weak -groupoids which in particular models the
univalence axiom. Voevodsky proposes this language for weak -groupoids
as a new foundation for mathematics called the Univalent Foundations of
Mathematics. It includes the sets as weak -groupoids with contractible
connected components, and thereby it includes (much of) the traditional set
theoretical foundations as a special case. We thus wonder whether those
`discrete' groupoids do in fact form a (predicative) topos. More generally,
homotopy type theory is conjectured to be the internal language of `elementary'
-toposes. We prove that sets in homotopy type theory form a -pretopos. This is similar to the fact that the -truncation of an
-topos is a topos. We show that both a subobject classifier and a
-object classifier are available for the type theoretical universe of sets.
However, both of these are large and moreover, the -object classifier for
sets is a function between -types (i.e. groupoids) rather than between sets.
Assuming an impredicative propositional resizing rule we may render the
subobject classifier small and then we actually obtain a topos of sets
Martin-L\"of \`a la Coq
We present an extensive mechanization of the meta-theory of Martin-L\"of Type
Theory (MLTT) in the Coq proof assistant. Our development builds on
pre-existing work in Agda to show not only the decidability of conversion, but
also the decidability of type checking, using an approach guided by
bidirectional type checking. From our proof of decidability, we obtain a
certified and executable type checker for a full-fledged version of MLTT with
support for , , , and identity types, and one
universe. Furthermore, our development does not rely on impredicativity,
induction-recursion or any axiom beyond MLTT with a schema for indexed
inductive types and a handful of predicative universes, narrowing the gap
between the object theory and the meta-theory to a mere difference in
universes. Finally, we explain our formalization choices, geared towards a
modular development relying on Coq's features, e.g. meta-programming facilities
provided by tactics and universe polymorphism
Refining Inductive Types
Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful information. For example, the N-indexed type of vectors refines lists by their lengths. Other data types may be refined in similar ways, but programmers must produce purpose-specific refinements on an ad hoc basis, developers must anticipate which refinements to include in libraries, and implementations must often store redundant information about data and their refinements. In this paper we show how to generically derive inductive characterizations of refinements of inductive types, and argue that these characterizations can alleviate some of the aforementioned difficulties associated with ad hoc refinements. Our characterizations also ensure that standard techniques for programming with and reasoning about inductive types are applicable to refinements, and that refinements can themselves be further refined
Refining Inductive Types
Dependently typed programming languages allow sophisticated properties of
data to be expressed within the type system. Of particular use in dependently
typed programming are indexed types that refine data by computationally useful
information. For example, the N-indexed type of vectors refines lists by their
lengths. Other data types may be refined in similar ways, but programmers must
produce purpose-specific refinements on an ad hoc basis, developers must
anticipate which refinements to include in libraries, and implementations must
often store redundant information about data and their refinements. In this
paper we show how to generically derive inductive characterisations of
refinements of inductive types, and argue that these characterisations can
alleviate some of the aforementioned difficulties associated with ad hoc
refinements. Our characterisations also ensure that standard techniques for
programming with and reasoning about inductive types are applicable to
refinements, and that refinements can themselves be further refined
Constructing a universe for the setoid model
The setoid model is a model of intensional type theory that validates certain extensionality principles, like function extensionality and propositional extensionality, the latter being a limited form of univalence that equates logically equivalent propositions. The appeal of this model construction is that it can be constructed in a small, intensional, type theoretic metatheory, therefore giving a method to boostrap extensionality. The setoid model has been recently adapted into a formal system, namely Setoid Type Theory (SeTT). SeTT is an extension of intensional Martin-L\uf6f type theory with constructs that give full access to the extensionality principles that hold in the setoid model. Although already a rich theory as currently defined, SeTT currently lacks a way to internalize the notion of type beyond propositions, hence we want to extend SeTT with a universe of setoids. To this aim, we present the construction of a (non-univalent) universe of setoids within the setoid model, first as an inductive-recursive definition, which is then translated to an inductive-inductive definition and finally to an inductive family. These translations from more powerful definition schemas to simpler ones ensure that our construction can still be defined in a relatively small metatheory which includes a proof-irrelevant identity type with a strong transport rule
Generic bidirectional typing for dependent type theories
Bidirectional typing is a discipline in which the typing judgment is
decomposed explicitly into inference and checking modes, allowing to control
the flow of type information in typing rules and to specify algorithmically how
they should be used. Bidirectional typing has been fruitfully studied and
bidirectional systems have been developed for many type theories. However, the
formal development of bidirectional typing has until now been kept confined to
specific theories, with general guidelines remaining informal. In this work, we
give a generic account of bidirectional typing for a general class of dependent
type theories. This is done by first giving a general definition of type
theories (or equivalently, a logical framework), for which we define
declarative and bidirectional type systems. We then show, in a
theory-independent fashion, that the two systems are equivalent. This
equivalence is then explored to establish the decidability of typing for weak
normalizing theories, yielding a generic type-checking algorithm that has been
implemented in a prototype and used in practice with many theories
Cubical Syntax for Reflection-Free Extensional Equality
We contribute XTT, a cubical reconstruction of Observational Type Theory
which extends Martin-L\"of's intensional type theory with a dependent equality
type that enjoys function extensionality and a judgmental version of the
unicity of identity types principle (UIP): any two elements of the same
equality type are judgmentally equal. Moreover, we conjecture that the typing
relation can be decided in a practical way. In this paper, we establish an
algebraic canonicity theorem using a novel cubical extension (independently
proposed by Awodey) of the logical families or categorical gluing argument
inspired by Coquand and Shulman: every closed element of boolean type is
derivably equal to either 'true' or 'false'.Comment: Extended version; International Conference on Formal Structures for
Computation and Deduction (FSCD), 201
Computads for generalised signatures
We introduce a notion of signature whose sorts form a direct category, and
study computads for such signatures. Algebras for such a signature are
presheaves with an interpretation of every function symbol of the signature,
and we describe how computads give rise to signatures. Generalising work of
Batanin, we show that computads with certain generator-preserving morphisms
form a presheaf category, and describe a forgetful functor from algebras to
computads. Algebras free on a computad turn out to be the cofibrant objects for
certain cofibrantly generated factorisation system, and the adjunction above
induces the universal cofibrant replacement, in the sense of Garner, for this
factorisation system. Finally, we conclude by explaining how many-sorted
structures, weak -categories, and algebraic semi-simplicial Kan
complexes are algebras of such signatures, and we propose a notion of weak
multiple category.Comment: 39 page
Turing-completeness totally free
In this paper, I show that general recursive definitions can be represented in the free monad which supports the ‘effect’ of making a recursive call, without saying how these calls should be executed. Diverse semantics can be given within a total framework by suitable monad morphisms. The Bove-Capretta construction of the domain of a general recursive function can be presented datatype-generically as an instance of this technique. The paper is literate Agda, but its key ideas are more broadly transferable