Reference. Productive coprogramming with guarded recursion
Cite
Cited by (12)
A Modal Deconstruction of Löb Induction gratzer-2025-a
Modelling Recursion and Probabilistic Choice in Guarded Type Theory stassen-2025-modelling
Denotational Semantics of Gradual Typing using Synthetic Guarded Domain Theory giovannini_ding_new_2025
Gradually typed programming languages, which allow for soundly mixing static and dynamically typed programming styles, present a strong challenge for metatheorists. Even the simplest sound gradually typed languages feature at least recursion and errors, with realistic languages featuring furthermore runtime allocation of memory locations and dynamic type tags. Further, the desired metatheoretic properties of gradually typed languages have become increasingly sophisticated: validity of type-based equational reasoning as well as the relational property known as graduality. Many recent works have tackled verifying these properties, but the resulting mathematical developments are highly repetitive and tedious, with few reusable theorems persisting across different developments.
In this work, we present a new denotational semantics for gradual typing developed using guarded domain theory. Guarded domain theory combines the generality of step-indexed logical relations for modeling advanced programming features with the modularity and reusability of denotational semantics. We demonstrate the feasibility of this approach with a model of a simple gradually typed lambda calculus and prove the validity of beta-eta equality and the graduality theorem for the denotational model. This model should provide the basis for a reusable mathematical theory of gradually typed program semantics. Finally, we have mechanized most of the core theorems of our development in Guarded Cubical Agda, a recent extension of Agda with support for the guarded recursive constructions we use.
Classifying topoi in synthetic guarded domain theory: the universal property of multi-clock guarded recursion palombi_sterling_2023
A Stratified Approach to Löb Induction gratzer-2022-a
Multimodal Dependent Type Theory gratzerNutyzBirkedal2021
First Steps in Synthetic Tait Computability: The Objective Metatheory of Cubical Type Theory sterling_2021
Doo bee doo bee doo convent-2020-doo
A typed, algebraic approach to parsing krishnaswami_typed_2019
Coinduction in flow: the later modality in fibrations basold_2019
This paper provides a construction on fibrations that gives access to the so-called later modality, which allows for a controlled form of recursion in coinductive proofs and programs. The construction is essentially a generalisation of the topos of trees from the codomain fibration over sets to arbitrary fibrations. As a result, we obtain a framework that allows the addition of a recursion principle for coinduction to rather arbitrary logics and programming languages. The main interest of using recursion is that it allows one to write proofs and programs in a goal-oriented fashion. This enables easily understandable coinductive proofs and programs, and fosters automatic proof search.
Part of the framework are also various results that enable a wide range of applications: transportation of (co)limits, exponentials, fibred adjunctions and first-order connectives from the initial fibration to the one constructed through the framework. This means that the framework extends any first-order logic with the later modality. Moreover, we obtain soundness and completeness results, and can use up-to techniques as proof rules. Since the construction works for a wide variety of fibrations, we will be able to use the recursion offered by the later modality in various context. For instance, we will show how recursive proofs can be obtained for arbitrary (syntactic) first-order logics, for coinductive set-predicates, and for the probabilistic modal mu-calculus. Finally, we use the same construction to obtain a novel language for probabilistic productive coinductive programming. These examples demonstrate the flexibility of the framework and its accompanying results.
Guarded Cubical Type Theory birkedal-2018-guarded
Do be do be do lindley-2017-do
Cites 24 works (2 here)
With notes (2)
First steps in synthetic guarded domain theory: step-indexing in the topos of trees birkedalFirstStepsSGDT2012
Applicative programming with effects mcbride-2008-applicative
External (22)
- Intensional Type Theory with Guarded Recursive Types qua Fixed Points on Universes (2013)
- Pure type systems with corecursion on streams: from finite to infinitary normalisation (2012)
- Logical step-indexed logical relations (2011)
- Representing Contractive Functions on Streams (2011)
- A semantic model for graphical user interfaces (2011)
- Ultrametric Semantics of Reactive Programs (2011)
- A metric model of guarded recursion (2010)
- Beating the Productivity Checker Using Embedded Languages (2010)
- Representations of stream processors using nested fixed points (2009)
- Mixing induction and coinduction (draft) (2009)
- General recursion via coinductive types (2005)
- Termination checking with types (2004)
- An indexed model of recursive types for foundational proof-carrying code (2001)
- Monadic encapsulation of effects: a revised approach (extended version) (2001)
- A modality for recursion (2000)
- Equational theories for inductive types (1997)
- Codifying guarded definitions with recursive schemes (1995)
- Lazy functional state threads (1994)
- Computational adequacy via 'mixed' inductive definitions (1994)
- Using circular programs to eliminate multiple traversals of data (1984)
- The Category-Theoretic Solution of Recursive Domain Equations (1982)
- A lattice-theoretical fixpoint theorem and its applications (1955)