Relative completeness via ghost parameters for probabilistic refinement-type verification

Establish a relative completeness theorem for refinement-type-based verification of higher-order probabilistic programs by proving that inserting extra ghost parameters at appropriate positions suffices to achieve relative completeness, analogous to the known result for non-probabilistic higher-order programs.

Background

The paper observes that standard dependent refinement type systems struggle when postconditions must depend on the result of a higher-order argument (e.g., a continuation of type unit → Prop), which hampers automated verification of certain higher-order probabilistic programs such as lics16_rec3. As a workaround, the authors illustrate adding an extra ghost parameter to the program to make the dependency explicit, enabling their implementation to verify the modified example.

They reference prior work showing that for non-probabilistic higher-order programs, inserting appropriate ghost parameters yields a relative completeness result for refinement-type-based verification. The authors explicitly conjecture that a similar relative completeness result should hold for the probabilistic setting of this paper, where properties are encoded via CPS into their dependent refinement type system for higher-order fixed-point logic.

References

This idea is proposed in , in which they proved that the relative completeness of the refinement-type-based verification for non-probabilistic higher-order programs can be achieved by inserting extra ghost parameters at appropriate positions. We conjecture that a similar result holds for the probabilistic case, but we leave it for future work.

Automated Verification of Higher-Order Probabilistic Programs via a Dependent Refinement Type System (2407.02975 - Kura et al., 2024) in Section 6, Implementation and Experiments (Results and Discussion)