Probabilistic Refinement Session Types
summary
Introduces PReST, a core calculus that generalizes probabilistic session types to symbolic probabilities and proves type safety, global progress, probability consistency and an expected cost bound while remaining a conservative extension of refinement session types. Implements a prototype in OCaml with a bi-directional OCaml checker that emits SMT queries to Z3 and CVC5; Z3 solves benchmarks within 0.3s while CVC5 often times out. Shows a flip primitive, a unat uniform encoding for 0..n, and static verification of PMFs and composed distributions on distributed protocols and Markov chains.
AI-written summary · about
chapters (10)
- 0:00PRESS language intro
- 2:38Motivation for probabilistic refinement
- 5:48Flip primitive and type checking
- 9:01Probability distributions in PRESS
- 12:37Verifying uniform distribution
- 15:09Crowd forwarding protocol
- 16:17Metatheory and guarantees
- 17:19PRESS type checker implementation
- 18:23Future work and conclusion
- 19:29Q&A
related talks
24mAn Intrinsically-typed Probabilistic Programming Language in Coq (Extended Abstr...
20mParameterized Algebraic Protocols
23mAnswer Refinement Modification: Refinement Type System for Algebraic Effects and...
21mPolymorphic Typestate for Session Types
30mRelatively Complete Verification of Probabilistic Programs
49mSemantic Foundations for Probabilistic Programming
20mVerified Density Compilation for a Probabilistic Programming Language
15mA Modular Cost Analysis for Probabilistic Programs
