English

Encode the $\forall\exists$ Relational Hoare Logic into Standard Hoare Logic

Programming Languages 2025-08-22 v2

Abstract

Verifying a real-world program's functional correctness can be decomposed into (1) a refinement proof showing that the program implements a more abstract high-level program and (2) an algorithm correctness proof at the high level. Relational Hoare logic serves as a powerful tool to establish refinement but often necessitates formalization beyond standard Hoare logic. Particularly in the nondeterministic setting, the \forall\exists relational Hoare logic is required. Existing approaches encode this logic into a Hoare logic with ghost states and invariants, yet these extensions significantly increase formalization complexity and soundness proof overhead. This paper proposes a generic encoding theory that reduces the \forall\exists relational Hoare logic to standard (unary) Hoare logic. Precisely, we propose to redefine the validity of relational Hoare triples while preserving the original proof rules and then encapsulate the \forall\exists pattern within assertions. We have proved that the validity of encoded standard Hoare triples is equivalent to the validity of the desired relational Hoare triples. Moreover, the encoding theory demonstrates how common relational Hoare logic proof rules are indeed special cases of standard Hoare logic proof rules, and relational proof steps correspond to standard proof steps. Our theory enables standard Hoare logic to prove \forall\exists relational properties by defining a predicate Exec, without requiring modifications to the logic framework or re-verification of soundness.

Keywords

Cite

@article{arxiv.2504.17444,
  title  = {Encode the $\forall\exists$ Relational Hoare Logic into Standard Hoare Logic},
  author = {Shushu Wu and Xiwei Wu and Qinxiang Cao},
  journal= {arXiv preprint arXiv:2504.17444},
  year   = {2025}
}

Comments

Extended version of the paper accepted at OOPSLA 2025 R2

R2 v1 2026-06-28T23:09:43.865Z