Reference. Mechanizing a Proof-Relevant Logical Relation for Timed Message-Passing Protocols
Cite
Cites 25 works (4 here)
With notes (4)
A Logical Approach to Type Soundness timany-2024-a
Logical Relations as Types: Proof-Relevant Parametricity for Program Modules sterling_harper_2021
The theory of program modules is of interest to language designers not only for its practical importance to programming, but also because it lies at the nexus of three fundamental concerns in language design: the phase distinction, computational effects, and type abstraction. We contribute a fresh “synthetic” take on program modules that treats modules as the fundamental constructs, in which the usual suspects of prior module calculi (kinds, constructors, dynamic programs) are rendered as derived notions in terms of a modal type-theoretic account of the phase distinction. We simplify the account of type abstraction (embodied in the generativity of module functors) through a lax modality that encapsulates computational effects, placing projectibility of module expressions on a type-theoretic basis.
Our main result is a (significant) proof-relevant and phase-sensitive generalization of the Reynolds abstraction theorem for a calculus of program modules, based on a new kind of logical relation called a parametricity structure. Parametricity structures generalize the proof-irrelevant relations of classical parametricity to proof-relevant families, where there may be non-trivial evidence witnessing the relatedness of two programs—simplifying the metatheory of strong sums over the collection of types, for although there can be no “relation classifying relations,” one easily accommodates a “family classifying small families.”
Using the insight that logical relations/parametricity is itself a form of phase distinction between the syntactic and the semantic, we contribute a new synthetic approach to phase separated parametricity based on the slogan logical relations as types, by iterating our modal account of the phase distinction. We axiomatize a dependent type theory of parametricity structures using two pairs of complementary modalities (syntactic, semantic) and (static, dynamic), substantiated using the topos theoretic Artin gluing construction. Then, to construct a simulation between two implementations of an abstract type, one simply programs a third implementation whose type component carries the representation invariant.
Iris from the ground up: A modular foundation for higher-order concurrent separation logic jung_etal_iris_ground_up_2018
Session Types as Intuitionistic Linear Propositions caires-2010-session
External (21)
- Semantic Logical Relations for Timed Message-Passing Protocols (2025)
- A Semantic Logical Relation for Termination of Intuitionistic Linear Logic Session Types (2025)
- Rocq-std++: An extended "Standard Library" for Rocq (2024)
- DimSum: A Decentralized Approach to Multi-language Semantics and Verification (2023)
- Efficient, Extensional, and Generic Finite Maps in Coq-std++ (2023)
- Actris: session-type based reasoning in separation logic (2020)
- Behavioural Types: from Theory to Tools (2017)
- Behavioral Types in Programming Languages (2016)
- A Logical Foundation for Session-based Concurrent Computation (2015)
- Abstract effects and proof-relevant logical relations (2014)
- Proof-Relevant Logical Relations for Name Generation (2013)
- Higher-Order Processes, Functions, and Sessions: A Monadic Integration (2013)
- Multiparty asynchronous session types (2008)
- The π-calculus: a Theory of Mobile Processes (2001)
- Communicating and Mobile Systems: the π-calculus (1999)
- Language Primitives and Type Discipline for Structured Communication-Based Programming (1998)
- Types for Dyadic Interaction (1993)
- A framework for defining logics (1993)
- Implementing mathematics with the Nuprl proof development system (1986)
- Constructive mathematics and computer programming (1982)
- A Calculus of Communicating Systems (1980)