Denotational Semantics of Gradual Typing using Synthetic Guarded Domain Theory (Extended Version)

📅 2024-11-19
🏛️ arXiv.org
📈 Citations: 1
✨ Influential: 0
📄 PDF
🤖 AI Summary
Gradually typed languages require modeling recursion, errors, memory allocation, and dynamic type tags simultaneously, while verifying complex metatheoretic properties—including type equality reasoning and graduality—yet existing approaches are repetitive, ad hoc, and lack reusability. Method: We introduce guarded domain theory to gradual type semantics for the first time, unifying these key features; by combining guarded recursion with denotational semantics, we support step-indexed logical relations while preserving modularity and reusability. Contribution/Results: We formally construct a complete denotational model of a simple gradually typed λ-calculus in Guarded Cubical Agda. This yields the first mechanized proofs of βη-equivalence and graduality theorems. Our framework provides a trustworthy, general, and extensible semantic foundation for gradual type systems, enabling rigorous formal verification of their metatheory.

Technology Category

Constraint Satisfaction and Optimization: Satisfiability Modulo TheoriesKnowledge Representation and Reasoning: Automated Reasoning and Theorem ProvingMachine Learning: Transfer, Domain Adaptation, Multi-Task Learning

Application Category

Semantics and Knowledge: Data modeling to support human-machine intelligence, including LLMs agents, intelligent system behavior, explanations, and user-friendly interactionsGraph Algorithms and Modeling for the Web: Efficient manipulation of static and dynamic Web-related graphsSecurity and Privacy: Data transparency and provenance
📝 Abstract
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.
Problem

Research questions and friction points this paper is trying to address.

Modeling denotational semantics for gradually typed languages
Ensuring validity of type-based equational reasoning
Proving graduality theorem for denotational models
Innovation

Methods, ideas, or system contributions that make the work stand out.

Uses synthetic guarded domain theory
Models gradually typed lambda calculus
Mechanized in Guarded Cubical Agda
🔎 Similar Papers