Reference. A Nominal Approach to Probabilistic Separation Logic

Cite

Cite as @li-2024-a (helia, typst) · \cite{li-2024-a} (LaTeX)
BibTeX
bibtex · 1 line
@inproceedings{li-2024-a, series={LICS ’24}, title={A Nominal Approach to Probabilistic Separation Logic}, url={http://dx.doi.org/10.1145/3661814.3662135}, DOI={10.1145/3661814.3662135}, booktitle={Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science}, publisher={ACM}, author={Li, John M. and Aytac, Jon and Johnson-Freyd, Philip and Ahmed, Amal and Holtzen, Steven}, year={2024}, month=July, pages={1–14}, collection={LICS ’24} }
hayagriva YAML (typst)
yaml · 17 lines
li-2024-a:
  type: article
  title: A Nominal Approach to Probabilistic Separation Logic
  author:
  - Li, John
  - Aytac, Jon
  - Johnson-Freyd, Philip
  - Ahmed, Amal
  - Holtzen, Steven
  date: 2024-07
  page-range: 1-14
  serial-number:
    doi: 10.1145/3661814.3662135
  parent:
    type: proceedings
    title: Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science
    publisher: ACM
Cited by (1)

Categorical Semantics of Probabilistic Symbolic Execution li-2026-categorical

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.
PDF · DOI · pldb
Cites 52 works (7 here)
With notes (7)

Lilac: A Modal Separation Logic for Conditional Probability li-2023-lilac

We present Lilac, a separation logic for reasoning about probabilistic programs where separating conjunction captures probabilistic independence. Inspired by an analogy with mutable state where sampling corresponds to dynamic allocation, we show how probability spaces over a fixed, ambient sample space appear to be the natural analogue of heap fragments, and present a new combining operation on them such that probability spaces behave like heaps and measurability of random variables behaves like ownership. This combining operation forms the basis for our model of separation, and produces a logic with many pleasant properties. In particular, Lilac has a frame rule identical to the ordinary one, and naturally accommodates advanced features like continuous random variables and reasoning about quantitative properties of programs. Then we propose a new modality based on disintegration theory for reasoning about conditional probability. We show how the resulting modal logic validates examples from prior work, and give a formal verification of an intricate weighted sampling algorithm whose correctness depends crucially on conditional independence structure.
PDF · DOI · arXiv · pldb

A domain theory for statistical probabilistic programming vakar-2019-a

We give an adequate denotational semantics for languages with recursive higher-order types, continuous probability distributions, and soft constraints. These are expressive languages for building Bayesian models of the kinds used in computational statistics and machine learning. Among them are untyped languages, similar to Church and WebPPL, because our semantics allows recursive mixed-variance datatypes. Our semantics justifies important program equivalences including commutativity. Our new semantic model is based on ‘quasi-Borel predomains’. These are a mixture of chain-complete partial orders (cpos) and quasi-Borel spaces. Quasi-Borel spaces are a recent model of probability theory that focuses on sets of admissible random elements. Probability is traditionally treated in cpo models using probabilistic powerdomains, but these are not known to be commutative on any class of cpos with higher order functions. By contrast, quasi-Borel predomains do support both a commutative probabilistic powerdomain and higher-order functions. As we show, quasi-Borel predomains form both a model of Fiore’s axiomatic domain theory and a model of Kock’s synthetic measure theory.
PDF · DOI · pldb

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

DOI · arXiv

Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints staton-2016-semantics

DOI · arXiv

Nominal Sets: Names and Symmetry in Computer Science pitts_nominal_sets

On the Logic of Bunched Implications — and its relation to separation logic biering_bunched_2004

Web

Separation logic: A logic for shared mutable data structures reynolds_separation_2002

In joint work with Peter O’Hearn and others, based on early ideas of Burstall, we have developed an extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure. The simple imperative programming language is extended with commands (not expressions) for accessing and modifying shared structures, and for explicit allocation and deallocation of storage. Assertions are extended by introducing a “separating conjunction” that asserts that its subformulas hold for disjoint parts of the heap, and a closely related “separating implication”. Coupled with the inductive definition of predicates on abstract data structures, this extension permits the concise and flexible description of structures with controlled sharing. In this paper, we survey the current development of this program logic, including extensions that permit unrestricted address arithmetic, dynamically allocated arrays, and recursive procedures. We also discuss promising future directions.
DOI
External (45)
li-2024-a reference entries/refs/li-2024-a/li-2024-a.hel