17 research outputs found
Guarded Cubical Type Theory: Path Equality for Guarded Recursion
This paper improves the treatment of equality in guarded dependent type
theory (GDTT), by combining it with cubical type theory (CTT). GDTT is an
extensional type theory with guarded recursive types, which are useful for
building models of program logics, and for programming and reasoning with
coinductive types. We wish to implement GDTT with decidable type-checking,
while still supporting non-trivial equality proofs that reason about the
extensions of guarded recursive constructions. CTT is a variation of
Martin-L\"of type theory in which the identity type is replaced by abstract
paths between terms. CTT provides a computational interpretation of functional
extensionality, is conjectured to have decidable type checking, and has an
implemented type-checker. Our new type theory, called guarded cubical type
theory, provides a computational interpretation of extensionality for guarded
recursive types. This further expands the foundations of CTT as a basis for
formalisation in mathematics and computer science. We present examples to
demonstrate the expressivity of our type theory, all of which have been checked
using a prototype type-checker implementation, and present semantics in a
presheaf category.Comment: 17 pages, to be published in proceedings of CSL 201
A model of guarded recursion with clock synchronisation
AbstractGuarded recursion is an approach to solving recursive type equations where the type variable appears guarded by a modality to be thought of as a delay for one time step. Atkey and McBride proposed a calculus in which guarded recursion can be used when programming with coinductive data, allowing productivity to be captured in types. The calculus uses clocks representing time streams and clock quantifiers which allow limited and controlled elimination of modalities. The calculus has since been extended to dependent types by Møgelberg. Both works give denotational semantics but no rewrite semantics.In previous versions of this calculus, different clocks represented separate time streams and clock synchronisation was prohibited. In this paper we show that allowing clock synchronisation is safe by constructing a new model of guarded recursion and clocks. This result will greatly simplify the type theory by removing freshness restrictions from typing rules, and is a necessary step towards defining rewrite semantics, and ultimately implementing the calculus
Recommended from our members
Modal dependent type theory and dependent right adjoints
In recent years we have seen several new models of dependent type theory
extended with some form of modal necessity operator, including nominal type
theory, guarded and clocked type theory, and spatial and cohesive type theory.
In this paper we study modal dependent type theory: dependent type theory with
an operator satisfying (a dependent version of) the K-axiom of modal logic. We
investigate both semantics and syntax. For the semantics, we introduce
categories with families with a dependent right adjoint (CwDRA) and show that
the examples above can be presented as such. Indeed, we show that any finite
limit category with an adjunction of endofunctors gives rise to a CwDRA via the
local universe construction. For the syntax, we introduce a dependently typed
extension of Fitch-style modal lambda-calculus, show that it can be interpreted
in any CwDRA, and build a term model. We extend the syntax and semantics with
universes
Modal dependent type theory and dependent right adjoints
In recent years we have seen several new models of dependent type theory
extended with some form of modal necessity operator, including nominal type
theory, guarded and clocked type theory, and spatial and cohesive type theory.
In this paper we study modal dependent type theory: dependent type theory with
an operator satisfying (a dependent version of) the K-axiom of modal logic. We
investigate both semantics and syntax. For the semantics, we introduce
categories with families with a dependent right adjoint (CwDRA) and show that
the examples above can be presented as such. Indeed, we show that any finite
limit category with an adjunction of endofunctors gives rise to a CwDRA via the
local universe construction. For the syntax, we introduce a dependently typed
extension of Fitch-style modal lambda-calculus, show that it can be interpreted
in any CwDRA, and build a term model. We extend the syntax and semantics with
universes
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
The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types
We present the guarded lambda-calculus, an extension of the simply typed
lambda-calculus with guarded recursive and coinductive types. The use of
guarded recursive types ensures the productivity of well-typed programs.
Guarded recursive types may be transformed into coinductive types by a
type-former inspired by modal logic and Atkey-McBride clock quantification,
allowing the typing of acausal functions. We give a call-by-name operational
semantics for the calculus, and define adequate denotational semantics in the
topos of trees. The adequacy proof entails that the evaluation of a program
always terminates. We introduce a program logic with L\"ob induction for
reasoning about the contextual equivalence of programs. We demonstrate the
expressiveness of the calculus by showing the definability of solutions to
Rutten's behavioural differential equations.Comment: Accepted to Logical Methods in Computer Science special issue on the
18th International Conference on Foundations of Software Science and
Computation Structures (FoSSaCS 2015
Bisimulation as path type for guarded recursive types
In type theory, coinductive types are used to represent processes, and are
thus crucial for the formal verification of non-terminating reactive programs
in proof assistants based on type theory, such as Coq and Agda. Currently,
programming and reasoning about coinductive types is difficult for two reasons:
The need for recursive definitions to be productive, and the lack of
coincidence of the built-in identity types and the important notion of
bisimilarity.
Guarded recursion in the sense of Nakano has recently been suggested as a
possible approach to dealing with the problem of productivity, allowing this to
be encoded in types. Indeed, coinductive types can be encoded using a
combination of guarded recursion and universal quantification over clocks. This
paper studies the notion of bisimilarity for guarded recursive types in Ticked
Cubical Type Theory, an extension of Cubical Type Theory with guarded
recursion. We prove that, for any functor, an abstract, category theoretic
notion of bisimilarity for the final guarded coalgebra is equivalent (in the
sense of homotopy type theory) to path equality (the primitive notion of
equality in cubical type theory). As a worked example we study a guarded notion
of labelled transition systems, and show that, as a special case of the general
theorem, path equality coincides with an adaptation of the usual notion of
bisimulation for processes. In particular, this implies that guarded recursion
can be used to give simple equational reasoning proofs of bisimilarity. This
work should be seen as a step towards obtaining bisimilarity as path equality
for coinductive types using the encodings mentioned above