🤖 AI Summary
In low-level systems formal verification, Conditional Contextual Refinement (CCR) suffers from weak composability and excessive exposure of low-level resource details, hindering proof reuse. To address this, we propose CCR 2.0: (1) a strengthened composability theorem enabling proof reuse across contexts and abstraction levels; (2) a shielding mechanism that abstracts away model-level implementation details of separation logic, raising the user’s reasoning level; and (3) a complete Coq formalization unifying refinement and separation logic into a higher-order reasoning framework. Our formalization supports modular, layered verification while preserving semantic precision. Experimental evaluation demonstrates that CCR 2.0 significantly improves proof efficiency and maintainability, enabling greater modularity and reuse in complex system verification—particularly for concurrent and resource-aware systems where fine-grained control and abstraction must coexist.
📝 Abstract
In recent years, great progress has been made in the field of formal verification for low-level systems. Many of them are based on one of two popular approaches: refinement or separation logic. These two approaches are very different in nature and offer complementary benefits in terms of compositionality. Recently, to fuse these benefits in a unified mechanism, a new approach called Conditional Contextual Refinement (CCR 1.0 for short) was proposed. In this paper, we advance the model of CCR 1.0 and provide novel and intuitive reasoning principles, resulting in: CCR 2.0. Specifically, CCR 2.0 (i) comes with a better compositionality theorem, having the practical benefit of facilitating more proof reuse, and (ii) provides a proof technique that hides model-level (i.e., resources of the separation logic) details from the user. Achieving this goal was challenging due to non-trivial counterexamples which necessitated us to devise novel notions. Our results are formalized in Coq.