Affiliation:
1. Northeastern University, USA
2. Czech Technical University, Czechia
3. BAE Systems, USA
Abstract
We present a complete reasoning principle for contextual equivalence in an untyped probabilistic language. The language includes continuous (real-valued) random variables, conditionals, and scoring. It also includes recursion, since the standard call-by-value fixpoint combinator is expressible.
We demonstrate the usability of our characterization by proving several equivalence schemas, including familiar facts from lambda calculus as well as results specific to probabilistic programming. In particular, we use it to prove that reordering the random draws in a probabilistic program preserves contextual equivalence. This allows us to show, for example, that
(let x =
e
1
in let y =
e
2
in
e
0
) =
ctx
(let y =
e
2
in let x =
e
1
in
e
0
)
(provided
x
does not occur free in
e
2
and
y
does not occur free in
e
1
) despite the fact that
e
1
and
e
2
may have sampling and scoring effects.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
21 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Almost-Sure Termination by Guarded Refinement;Proceedings of the ACM on Programming Languages;2024-08-15
2. Bialgebraic Reasoning on Higher-order Program Equivalence;Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science;2024-07-08
3. Compiling Probabilistic Programs for Variable Elimination with Information Flow;Proceedings of the ACM on Programming Languages;2024-06-20
4. A Formalisation of Core Erlang, a Concurrent Actor Language;Acta Cybernetica;2024-03-04
5. Asynchronous Probabilistic Couplings in Higher-Order Separation Logic;Proceedings of the ACM on Programming Languages;2024-01-05