Formal Semantics and Automated Reasoning for Probabilistic Programs Modeling Epistemic and Aleatoric Uncertainty
This work formalizes the syntax and semantics of a probabilistic programming language based on Hehner's predicative probabilistic programming, introducing Iverson brackets to separate relations from arithmetic. It establishes constructive semantics for probabilistic loops using fixed-point theorems, enriches the semantics to handle subdistributions and superdistributions, and mechanizes the theory in Isabelle/UTP for automated reasoning.