23 research outputs found
Type-Theoretic Constructions of the Final Coalgebra of the Finite Powerset Functor
The finite powerset functor is a construct frequently employed for the specification of nondeterministic transition systems as coalgebras. The final coalgebra of the finite powerset functor, whose elements characterize the dynamical behavior of transition systems, is a well-understood object which enjoys many equivalent presentations in set-theoretic foundations based on classical logic.
In this paper, we discuss various constructions of the final coalgebra of the finite powerset functor in constructive type theory, and we formalize our results in the Cubical Agda proof assistant. Using setoids, the final coalgebra of the finite powerset functor can be defined from the final coalgebra of the list functor. Using types instead of setoids, as it is common in homotopy type theory, one can specify the finite powerset datatype as a higher inductive type and define its final coalgebra as a coinductive type. Another construction is obtained by quotienting the final coalgebra of the list functor, but the proof of finality requires the assumption of the axiom of choice. We conclude the paper with an analysis of a classical construction by James Worrell, and show that its adaptation to our constructive setting requires the presence of classical axioms such as countable choice and the lesser limited principle of omniscience
{mitten}: A Flexible Multimodal Proof Assistant
Recently, there has been a growing interest in type theories which include modalities, unary type constructors which need not commute with substitution. Here we focus on MTT [Daniel Gratzer et al., 2021], a general modal type theory which can internalize arbitrary collections of (dependent) right adjoints [Birkedal et al., 2020]. These modalities are specified by mode theories [Licata and Shulman, 2016], 2-categories whose objects corresponds to modes, morphisms to modalities, and 2-cells to natural transformations between modalities. We contribute a defunctionalized NbE algorithm which reduces the type-checking problem for MTT to deciding the word problem for the mode theory. The algorithm is restricted to the class of preordered mode theories - mode theories with at most one 2-cell between any pair of modalities. Crucially, the normalization algorithm does not depend on the particulars of the mode theory and can be applied without change to any preordered collection of modalities. Furthermore, we specify a bidirectional syntax for MTT together with a type-checking algorithm. We further contribute mitten, a flexible experimental proof assistant implementing these algorithms which supports all decidable preordered mode theories without alteration
On Induction, Coinduction and Equality in Martin-L\uf6f and Homotopy Type Theory
Martin L\uf6f Type Theory, having put computation at the center of logicalreasoning, has been shown to be an effective foundation for proof assistants,with applications both in computer science and constructive mathematics. Oneambition though is for MLTT to also double as a practical general purposeprogramming language. Datatypes in type theory come with an induction orcoinduction principle which gives a precise and concise specification of theirinterface. However, such principles can interfere with how we would like toexpress our programs. In this thesis, we investigate more flexible alternativesto direct uses of the (co)induction principles.As a first contribution, we consider the n-truncation of a type in Homo-topy Type Theory. We derive in HoTT an eliminator into (n+1)-truncatedtypes instead of n-truncated ones, assuming extra conditions on the underlyingfunction.As a second contribution, we improve on type-based criteria for terminationand productivity. By augmenting the types with well-foundedness information,such criteria allow function definitions in a style closer to general recursion.We consider two criteria: guarded types, and sized types.Guarded types introduce a modality âlaterâ to guard the availability ofrecursive calls provided by a general fixed-point combinator. In Guarded Cu-bical Type Theory we equip the fixed-point combinator with a propositionalequality to its one-step unfolding, instead of a definitional equality that wouldbreak normalization. The notion of path from Cubical Type Theory allows usto do so without losing canonicity or decidability of conversion.Sized types, on the other hand, explicitly index datatypes with size boundson the height or depth of their elements. The sizes however can get in theway of the reasoning principles we expect. Our approach is to introduce newquantifiers for âirrelevantâ size quantification. We present a type theory withparametric quantifiers where irrelevance arises as a âfree theoremâ. We alsodevelop a conversion checking algorithm for a more specific theory where thenew quantifiers are restricted to sizes.Finally, our third contribution is about the operational semantics of typetheory. For the extensions above we would like to devise a practical conversionchecking algorithm suitable for integration into a proof assistant. We formal-ized the correctness of such an algorithm for a small but challenging corecalculus, proving that conversion is decidable. We expect this development toform a good basis to verify more complex theories.The ideas discussed in this thesis are already influencing the developmentof Agda, a proof assistant based on type theory
Greatest HITs: Higher Inductive Types in Coinductive Definitions via Induction under Clocks
Guarded recursion is a powerful modal approach to recursion that can be seen
as an abstract form of step-indexing. It is currently used extensively in
separation logic to model programming languages with advanced features by
solving domain equations also with negative occurrences. In its multi-clocked
version, guarded recursion can also be used to program with and reason about
coinductive types, encoding the productivity condition required for recursive
definitions in types. This paper presents the first type theory combining
multi-clocked guarded recursion with the features of Cubical Type Theory, as
well as a denotational semantics. Using the combination of Higher Inductive
Types (HITs) and guarded recursion allows for simple programming and reasoning
about coinductive types that are traditionally hard to represent in type
theory, such as the type of finitely branching labelled transition systems. For
example, our results imply that bisimilarity for these imply path equality, and
so proofs can be transported along bisimilarity proofs. Among our technical
contributions is a new principle of induction under clocks. This allows
universal quantification over clocks to commute with HITs up to equivalence of
types, and is crucial for the encoding of coinductive types. Such commutativity
requirements have been formulated for inductive types as axioms in previous
type theories with multi-clocked guarded recursion, but our present formulation
as an induction principle allows for the formulation of general computation
rules.Comment: 29 page
Classifying topoi in synthetic guarded domain theory
Several different topoi have played an important role in the development and
applications of synthetic guarded domain theory (SGDT), a new kind of synthetic
domain theory that abstracts the concept of guarded recursion frequently
employed in the semantics of programming languages. In order to unify the
accounts of guarded recursion and coinduction, several authors have enriched
SGDT with multiple "clocks" parameterizing different time-streams, leading to
more complex and difficult to understand topos models. Until now these topoi
have been understood very concretely qua categories of presheaves, and the
logico-geometrical question of what theories these topoi classify has remained
open. We show that several important topos models of SGDT classify very simple
geometric theories, and that the passage to various forms of multi-clock
guarded recursion can be rephrased more compositionally in terms of the lower
bagtopos construction of Vickers and variations thereon due to Johnstone. We
contribute to the consolidation of SGDT by isolating the universal property of
multi-clock guarded recursion as a modular construction that applies to any
topos model of single-clock guarded recursion.Comment: To appear in the proceedings of the 38th International Conference on
Mathematical Foundations of Programming Semantics (MFPS 2022
Guarded Dependent Type Theory with Coinductive Types
We present guarded dependent type theory, gDTT, an extensional dependent type
theory with a `later' modality and clock quantifiers for programming and
proving with guarded recursive and coinductive types. The later modality is
used to ensure the productivity of recursive definitions in a modular, type
based, way. Clock quantifiers are used for controlled elimination of the later
modality and for encoding coinductive types using guarded recursive types. Key
to the development of gDTT are novel type and term formers involving what we
call `delayed substitutions'. These generalise the applicative functor rules
for the later modality considered in earlier work, and are crucial for
programming and proving with dependent types. We show soundness of the type
theory with respect to a denotational model.Comment: This is the technical report version of a paper to appear in the
proceedings of FoSSaCS 201
Partial Univalence in n-truncated Type Theory
It is well known that univalence is incompatible with uniqueness of identity
proofs (UIP), the axiom that all types are h-sets. This is due to finite h-sets
having non-trivial automorphisms as soon as they are not h-propositions.
A natural question is then whether univalence restricted to h-propositions is
compatible with UIP. We answer this affirmatively by constructing a model where
types are elements of a closed universe defined as a higher inductive type in
homotopy type theory. This universe has a path constructor for simultaneous
"partial" univalent completion, i.e., restricted to h-propositions.
More generally, we show that univalence restricted to -types is
consistent with the assumption that all types are -truncated. Moreover we
parametrize our construction by a suitably well-behaved container, to abstract
from a concrete choice of type formers for the universe.Comment: 21 pages, long version of paper accepted at LICS 202