In relational verification, judicious alignment of computational steps facilitates proof of relations between programs using simple relational assertions. Relational Hoare logics (RHL) provide compositional rules that embody various alignments of executions. Seemingly more flexible alignments can be expressed in terms of product automata based on program transition relations. A single degenerate alignment rule (self-composition), atop a complete Hoare logic, comprises a RHL for $\forall\forall$ properties that is complete in the ordinary logical sense. The notion of alignment completeness was previously proposed as a more satisfactory measure, and some rules were shown to be alignment complete with respect to a few ad hoc forms of alignment automata. This paper proves alignment completeness with respect to a general class of $\forall\forall$ alignment automata, for a RHL comprised of standard rules together with a rule of semantics-preserving rewrites based on Kleene algebra with tests. A new logic for $\forall\exists$ properties is introduced and shown to be alignment complete. The $\forall\forall$ and $\forall\exists$ automata are shown to be semantically complete. Thus the logics are both complete in the ordinary sense.
翻译:在关系验证中,计算步骤的合理对齐有助于使用简单关系断言证明程序间的关系。关系霍尔逻辑(RHL)提供了体现执行过程多种对齐方式的组合规则。更灵活的对齐方式可表示为基于程序转移关系的乘积自动机。在完备霍尔逻辑基础上,单一的退化对齐规则(自组合)构成了针对$\forall\forall$属性的RHL,该逻辑在普通逻辑意义上是完备的。此前提出了对齐完备性概念作为更合理的度量标准,并证明某些规则相对于若干特定形式的对齐自动机具有对齐完备性。本文证明,对于由标准规则与基于带测试克林代数的语义保持重写规则组成的RHL,其相对于一类通用$\forall\forall$对齐自动机具有对齐完备性。引入了一种针对$\forall\exists$属性的新逻辑,并证明其具有对齐完备性。同时证明$\forall\forall$与$\forall\exists$自动机具有语义完备性。因此,这两种逻辑在普通意义上均为完备的。