Commutative Monads for Probabilistic Programming Languages

by   Xiaodong Jia, et al.

A long-standing open problem in the semantics of programming languages supporting probabilistic choice is to find a commutative monad for probability on the category DCPO. In this paper we present three such monads and a general construction for finding even more. We show how to use these monads to provide a sound and adequate denotational semantics for the Probabilistic FixPoint Calculus (PFPC) – a call-by-value simply-typed lambda calculus with mixed-variance recursive types, term recursion and probabilistic choice. We also show that in the special case where we consider continuous dcpo's, then all three monads coincide with the valuations monad of Jones and we fully characterise the induced Eilenberg-Moore categories by showing that they are all isomorphic to the category of continuous Kegelspitzen of Keimel and Plotkin.



page 1

page 2

page 3

page 4


A Calculus for Language Transformations

In this paper we propose a calculus for expressing algorithms for progra...

Semantics for Variational Quantum Programming

We consider a programming language that can manipulate both classical an...

The Central Valuations Monad

We give a commutative valuations monad Z on the category DCPO of dcpo's ...

A Probabilistic and Non-Deterministic Call-by-Push-Value Language

There is no known way of giving a domain-theoretic semantics to higher-o...

Simple game semantics and Day convolution

Game semantics has provided adequate models for a variety of programming...

Profunctor optics, a categorical update

Profunctor optics are bidirectional data accessors that capture data tra...

A Probabilistic Call-by-Need Lambda-Calculus – Extended Version

To support the understanding of declarative probabilistic programming la...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.