Conditional Contextual Refinement
summary
A new refinement notion, Conditional Contextual Refinement (CCR), combines separation-logic pre/post conditions with transitive contextual refinement by inserting wrappers that operationalize specs and then proving a wrapper elimination theorem that removes them after linking. CCR uses demonic and angelic non-determinism to implicitly pass ownership resources without changing APIs, models separation assertions as predicates over explicit resources, and is implemented in Coq and evaluated on examples with shared memory, recursion, function pointers, non-termination and end-to-end assembly.
AI-written summary · about
