Reference. Categorical Semantics of Probabilistic Symbolic Execution

Symbolic execution has emerged as a powerful technique for scaling exact probabilistic inference to languages with more expressive features. But, this expressivity comes at a price: probabilistic programming languages based on symbolic execution are difficult to debug, optimize, and prove correct due to the many intricacies inherent to high-performance symbolic execution strategies. We aim to make it easier to work with probabilistic symbolic executors by developing symbolic sets , a new semantic domain that cleanly captures the notion of computation underlying symbolic execution. Just as a symbolic executor replaces ordinary execution with a lifted semantics, symbolic set theory replaces ordinary set theory with a lifted mathematics : the category of symbolic sets is a Grothendieck topos, which allows type theory to be used as a metalanguage for working with symbolic sets and functions. We prove a metatheorem that shows how a large class of definitional interpreters written in the internal language of symbolic sets are automatically correct for their ordinary set-theoretic interpretations. Using this metatheorem, we give the first full correctness argument for a symbolic probabilistic language with higher-order functions, type-directed state merging, pattern matching, and structural recursion.

Cite

Cite as @li-2026-categorical (helia, typst) · \cite{li-2026-categorical} (LaTeX)
BibTeX
bibtex · 1 line
@article{li-2026-categorical, title={Categorical Semantics of Probabilistic Symbolic Execution}, volume={10}, ISSN={2475-1421}, url={http://dx.doi.org/10.1145/3808343}, DOI={10.1145/3808343}, number={PLDI}, journal={Proceedings of the ACM on Programming Languages}, publisher={Association for Computing Machinery (ACM)}, author={Li, John M. and Czenszak, Jack and Holtzen, Steven}, year={2026}, month=June, pages={2402–2426} }
hayagriva YAML (typst)
yaml · 17 lines
li-2026-categorical:
  type: article
  title: Categorical Semantics of Probabilistic Symbolic Execution
  author:
  - Li, John
  - Czenszak, Jack
  - Holtzen, Steven
  date: 2026-06
  page-range: 2402-2426
  serial-number:
    doi: 10.1145/3808343
  parent:
    type: periodical
    title: Proceedings of the ACM on Programming Languages
    publisher: Association for Computing Machinery (ACM)
    issue: PLDI
    volume: 10
Cites 60 works (7 here)
With notes (7)

Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic Programming moy-2025-roulette

Exact probabilistic inference is a requirement for many applications of probabilistic programming languages (PPLs) such as in high-consequence settings or verification. However, designing and implementing a PPL with scalable high-performance exact inference is difficult: exact inference engines, much like SAT solvers, are intricate low-level programs that are hard to implement. Due to this implementation challenge, PPLs that support scalable exact inference are restrictive and lack many features of general-purpose languages. This paper presents Roulette, the first discrete probabilistic programming language that combines high-performance exact inference with general-purpose language features. Roulette supports a significant subset of Racket, including data structures, first-class functions, surely-terminating recursion, mutable state, modules, and macros, along with probabilistic features such as finitely supported discrete random variables, conditioning, and top-level inference. The key insight is that there is a close connection between exact probabilistic inference and the symbolic evaluation strategy of Rosette. Building on this connection, Roulette generalizes and extends the Rosette solver-aided programming system to reason about probabilistic rather than symbolic quantities. We prove Roulette sound by generalizing a proof of correctness for Rosette to handle probabilities, and demonstrate its scalability and expressivity on a number of examples.
PDF · DOI · pldb

A Nominal Approach to Probabilistic Separation Logic li-2024-a

DOI · arXiv

A convenient category for higher-order probability theory heunen-2017-a

DOI · arXiv

Nominal Sets: Names and Symmetry in Computer Science pitts_nominal_sets

First steps in synthetic guarded domain theory: step-indexing in the topos of trees birkedalFirstStepsSGDT2012

We present the topos S of trees as a model of guarded recursion. We study the internal dependently-typed higher-order logic of S and show that S models two modal operators, on predicates and types, which serve as guards in recursive definitions of terms, predicates, and types. In particular, we show how to solve recursive type equations involving dependent types. We propose that the internal logic of S provides the right setting for the synthetic construction of abstract versions of step-indexed models of programming languages and program logics. As an example, we show how to construct a model of a programming language with higher-order store and recursive types entirely inside the internal logic of S. Moreover, we give an axiomatic categorical treatment of models of synthetic guarded domain theory and prove that, for any complete Heyting algebra A with a well-founded basis, the topos of sheaves over A forms a model of synthetic guarded domain theory, generalizing the results for S.
DOI

Sketches of an Elephant: A Topos Theory Compendium johnstone-2002

Web

Normalization by evaluation for typed lambda calculus with coproducts altenkirch_etal_nd

Solves the decision problem for the simply typed lambda calculus with a strong binary sum, or, equivalently, the word problem for free Cartesian closed categories with binary co-products. Our method is based on the semantic technique known as “normalization by evaluation”, and involves inverting the interpretation of the syntax in a suitable sheaf model and, from this, extracting an appropriate unique normal form. There is no rewriting theory involved and the proof is completely constructive, allowing program extraction from the proof.
DOI
External (53)
li-2026-categorical reference entries/refs/li-2026-categorical/li-2026-categorical.hel