A Fixed Point Iteration Technique for Proving Correctness of Slicing for Probabilistic Programs
Torben Amtoft, Anindya Banerjee
TL;DR
The paper addresses proving correctness of a slicing transformation for probabilistic programs by using fixed-point iterations on continuous semantic functionals. It shows that the naive fixed-point approach can fail when loops cause misalignment between source and target iterations, and introduces an exclusion-set technique to restructure the source iteration so that it progresses in lockstep with the target. By defining refined iterates that start above the bottom on a carefully chosen exclusion set and verifying three key properties, the authors provide a general recipe to derive $R\;\phi\;\gamma$ from $R\;\phi'_k\;\gamma'_k$, with convergence to the desired fixpoints. The method is illustrated on a running probabilistic program, connects to prior work on slicing in probabilistic settings, and offers a broader perspective on when fixed-point proofs require nonstandard starting points. This approach potentially extends to other program transformations where loop-induced divergence in fixed-point iterations obstructs direct proofs.
Abstract
When proving the correctness of a method for slicing probabilistic programs, it was previously discovered by the authors that for a fixed point iteration to work one needs a non-standard starting point for the iteration. This paper presents and explores this technique in a general setting; it states the lemmas that must be established to use the technique to prove the correctness of a program transformation, and sketches how to apply the technique to slicing of probabilistic programs.
