<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-19T05:17:09Z</responseDate><request verb="GetRecord" identifier="oai:www.repository.cam.ac.uk:1810/295167" metadataPrefix="uketd_dc">https://api.repository.cam.ac.uk/server/oai/request</request><GetRecord><record><header><identifier>oai:www.repository.cam.ac.uk:1810/295167</identifier><datestamp>2025-12-19T22:43:11Z</datestamp><setSpec>com_1810_213729</setSpec><setSpec>com_1810_256065</setSpec><setSpec>col_1810_219485</setSpec></header><metadata><uketd_dc:uketddc xmlns:uketd_dc="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:uketdterms="http://naca.central.cranfield.ac.uk/ethos-oai/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/ http://naca.central.cranfield.ac.uk/ethos-oai/2.0/uketd_dc.xsd">
   <dc:title>Formally justified and modular Bayesian inference for probabilistic programs</dc:title>
   <dc:identifier xsi:type="dcterms:DOI">10.17863/CAM.42233</dc:identifier>
   <dc:creator>Ścibior, Adam Michał</dc:creator>
   <uketdterms:advisor>Ghahramani, Zoubin</uketdterms:advisor>
   <dcterms:abstract>Probabilistic modelling offers a simple and coherent framework to describe the
real world in the face of uncertainty. Furthermore, by applying Bayes' rule
it is possible to use probabilistic models to make inferences about the state of
the world from partial observations. While traditionally probabilistic models
were constructed on paper, more recently the approach of probabilistic
programming enables users to write the models in executable languages resembling
computer programs and to freely mix them with deterministic code.
It has long been recognised that the semantics of programming languages is
complicated and the intuitive understanding that programmers have is often
inaccurate, resulting in difficult to understand bugs and unexpected program
behaviours. Programming languages are therefore studied in a rigorous way using
formal languages with mathematically defined semantics. Traditionally formal
semantics of probabilistic programs are defined using exact inference results,
but in practice exact Bayesian inference is not tractable and approximate
methods are used instead, posing a question of how the results of these
algorithms relate to the exact results. Correctness of such approximate methods
is usually argued somewhat less rigorously, without reference to a formal
semantics.
In this dissertation we formally develop denotational semantics for
probabilistic programs that correspond to popular sampling algorithms often used
in practice. The semantics is defined for an expressive typed lambda calculus
with higher-order functions and inductive types, extended with probabilistic
effects for sampling and conditioning, allowing continuous distributions and
unbounded likelihoods. It makes crucial use of the recently developed formalism
of quasi-Borel spaces to bring all these elements together. We provide semantics
corresponding to several variants of Markov chain Monte Carlo and Sequential
Monte Carlo methods and formally prove a notion of correctness for these
algorithms in the context of probabilistic programming.
We also show that the semantic construction can be directly mapped to an
implementation using established functional programming abstractions called
monad transformers. We develop a compact Haskell library for probabilistic
programming closely corresponding to the semantic construction, giving users a
high level of assurance in the correctness of the implementation. We also
demonstrate on a collection of benchmarks that the library offers performance
competitive with existing systems of similar scope.
An important property of our construction, both the semantics and the
implementation, is the high degree of modularity it offers. All the inference
algorithms are constructed by combining small building blocks in a setup where
the type system ensures correctness of compositions. We show that with basic
building blocks corresponding to vanilla Metropolis-Hastings and Sequential
Monte Carlo we can implement more advanced algorithms known in the literature,
such as Resample-Move Sequential Monte Carlo, Particle Marginal
Metropolis-Hastings, and Sequential Monte Carlo squared. These implementations
are very concise, reducing the effort required to produce them and the scope for
bugs. On top of that, our modular construction enables in some cases
deterministic testing of randomised inference algorithms, further increasing
reliability of the implementation.</dcterms:abstract>
   <uketdterms:institution>University of Cambridge</uketdterms:institution>
   <dcterms:issued>2019-10-26</dcterms:issued>
   <dc:type>Thesis</dc:type>
   <uketdterms:qualificationlevel>Doctoral</uketdterms:qualificationlevel>
   <uketdterms:qualificationname>Doctor of Philosophy (PhD)</uketdterms:qualificationname>
   <dc:language>en</dc:language>
   <uketdterms:sponsor>Engineering and Physical Sciences Research Council, Cambridge Trust, Cambridge-Tuebingen programme</uketdterms:sponsor>
   <dcterms:isReferencedBy xsi:type="dcterms:URI">https://www.repository.cam.ac.uk/handle/1810/295167</dcterms:isReferencedBy>
   <dc:identifier xsi:type="dcterms:URI">https://www.repository.cam.ac.uk/bitstreams/d2851189-e73e-4439-85ff-a648eded82b8/download</dc:identifier>
   <uketdterms:checksum xsi:type="uketdterms:MD5">1e2a7e161e72449acfb30327fb63c884</uketdterms:checksum>
   <dcterms:license>https://www.repository.cam.ac.uk/bitstreams/ca8a7aae-1031-49f8-a94c-9e361d3bc7fc/download</dcterms:license>
   <uketdterms:checksum xsi:type="uketdterms:MD5">87eda9de84448d1f82354d60eee3eb5f</uketdterms:checksum>
   <dc:rights>https://www.rioxx.net/licenses/all-rights-reserved/</dc:rights>
   <dc:subject>probabilistic programming</dc:subject>
   <dc:subject>machine learning</dc:subject>
   <dc:subject>Bayesian inference</dc:subject>
   <dc:subject>functional programming</dc:subject>
   <dc:subject>denotational semantics</dc:subject>
   <dc:subject>Haskell</dc:subject>
   <dc:subject>Monte Carlo</dc:subject>
   <dc:subject>Markov chain Monte Carlo</dc:subject>
   <dc:subject>Sequential Monte Carlo</dc:subject>
   <dc:subject>quasi-Borel spaces</dc:subject>
   <dc:subject>monads</dc:subject>
   <dc:subject>monad transformers</dc:subject>
   <dc:subject>programming languages</dc:subject>
   <dc:subject>lambda calculus</dc:subject>
   <dc:subject>importance sampling</dc:subject>
</uketd_dc:uketddc>
</metadata></record></GetRecord></OAI-PMH>