Reference. Modelling Recursion and Probabilistic Choice in Guarded Type Theory
Cite
Cited by (1)
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.
Cites 45 works (8 here)
With notes (8)
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.
Modular Denotational Semantics for Effects with Guarded Interaction Trees frumin-2024-modular
Towards Univalent Reference Types: The Impact of Univalence on Denotational Semantics sterling-2024-towards
Cubical Agda: A Dependently Typed Programming Language with Univalence and Higher Inductive Types VezzosiMortbergAbel2019
A domain theory for statistical probabilistic programming vakar-2019-a
A convenient category for higher-order probability theory heunen-2017-a
Productive coprogramming with guarded recursion atkey-2013-productive
External (37)
- Asynchronous Probabilistic Couplings in Higher-Order Separation Logic (2024)
- What Monads Can and Cannot Do with a Bit of Extra Time (2024)
- Step-Indexed Logical Relations for Countable Nondeterminism and Probabilistic Choice (2023)
- Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq (2023)
- Greatest HITs: Higher inductive types in coinductive definitions via induction under clocks (2022)
- Denotational semantics of general store and polymorphism (2022)
- Reasoning about “reasoning about reasoning”: semantics and contextual equivalence for probabilistic programs with nested queries and recursion (2022)
- Two Guarded Recursive Powerdomains for Applicative Simulation (2021)
- Modal dependent type theory and dependent right adjoints (2019)
- Semantics of higher-order probabilistic programs with conditioning (2019)
- Interaction trees: representing recursive and impure programs in Coq (2019)
- Fitch-Style Modal Lambda Calculi (2018)
- Full Abstraction for Probabilistic PCF (2018)
- Denotational semantics of recursive types in synthetic guarded domain theory (2018)
- Contextual equivalence for a probabilistic language with continuous random variables and recursion (2018)
- Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus (2018)
- The clocks are ticking: No more delays! (2017)
- Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom (2017)
- Contextual Equivalence for Probabilistic Programs with Continuous Random Variables and Scoring (2017)
- Relational Reasoning via Probabilistic Coupling (2015)
- Step-Indexed Logical Relations for Probability (2015)
- A Model of PCF in Guarded Type Theory (2015)
- On Probabilistic Applicative Bisimulation and Call-by-Value λ-Calculi (2014)
- On coinductive equivalences for higher-order probabilistic functional programs (2014)
- Intensional Type Theory with Guarded Recursive Types qua Fixed Points on Universes (2013)
- Preorders on Monads and Coalgebraic Simulations (2013)
- A Generic Operational Metatheory for Algebraic Effects (2010)
- Convexity, Duality and Effects (2010)
- Formal certification of code-based cryptographic proofs (2009)
- Optimal Transport: Old and New (2009)
- Lectures on the Coupling Method (2002)
- A modality for recursion (2000)
- Coupling, Stationarity, and Regeneration (2000)
- Relational Properties of Domains (1996)
- Axiomatic domain theory in categories of partial maps (1994)
- A probabilistic powerdomain of evaluations (1989)
- Denotational semantics with partial functions (lecture at CSLI Summer School) (1985)