Skip to content

CCR-project/RCL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,731 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Refinement Composition Logic

Dependencies

Our development successfully compiles with the following versions (in Linux):

  • coq (= 8.15.2)

  • coq-ext-lib (= 0.11.8)

  • coq-iris (= 4.0.0)

  • coq-itree (= 4.0.0)

  • coq-ordinal (= 0.5.2)

  • coq-paco (= 4.1.2)

  • coq-stdpp (= 1.8.0)

All packages can be installed from OPAM archive for Coq

How to build

  • make -j[N] -k

Mapping from the paper to the code

Sec. 2 BACKGROUND

  • Definition of Contextual refinement $⊑_{ctx}$ --> ref at ems/ModSem.v
  • Rules in Fig. 2 --> RefFacts at lib/Algebra.v, and ModSem_RefFacts at ems/ModSemFacts.v
  • Fig. 4 --> RPT0, RPT1, SUCC, PUT, T_MAIN, M_MAIN, S_MAIN at imp/example/Repeat.v

Sec. 3 TUTORIAL

  • Sec 3.1, Fig. 3 --> iris/IPMDemo.v
  • Sec 3.2, Example involving Fig. 4 --> Theorem main_rcl, main_ref, Persistent_rpt0, rpt0_spec at imp/example/Repeat.v

Sec. 5 REFINEMENT COMPOSITION LOGIC

  • Sec. 5.1, Fig. 6 (Definition of MRAs) --> Module MRAS at lib/Algebra.v
  • Definition of mProp --> mProp at iris/IPM.v
  • Fig. 5 and Fig. 7 --> Provided in iris/IPM.v. For examples, -- Set of modules --> Own -- The refines modality --> Refines -- The persistence modality --> Pers -- The magic wand --> Wand
  • Fig. 8 --> mProp_bi_mixin and mProp_bupd_mixin in iris/IPM.v

Sec. 6 MORE ON ALGEBRAS

  • Def.2 (Definition of MRA) --> Module MRA at lib/Algebra.v
  • Sec. 6.2 --> Provided in iris/homomorphisms.v

Sec. 7 DERIVED PATTERNS AND THEIR APPLICATIONS

  • Sec. 7.1, Definition of layered refinement, rules of layer calculus, and the example --> SECTION CAL in iris/IPM.v
  • Sec. 7.2, Definition of fancy update --> IUpd at iris/IPM.v
  • Sec. 7.2, example --> Provided in imp/example/Stealing.v
  • Sec. 7.3, accessor pattern --> SubIProp at iris/IPM.v

Sec. 8 A CONCRETE INSTANCE OF MRA

  • Fig.13 --> Collected in FreeSim/Behavior.v
  • The core operator --> core_h at ems/ModSemE.v
  • findDef --> prog: callE ~> itree Es at ems/ModSem.v
  • Theorem 8.1 --> Proved by ModSem_MRA at ems/ModSemFacts.v

Additional materials

Integrating conditional refinement into RCL

  • wrapper modality --> Wrap in iris/IPM.v
  • Rules for the wrapper modality --> Module WA in lib/Algebra.v
  • Conditional refinement. --> CondRefines in iris/IPM.v
  • An example involving Rpt --> Section CCR in imp/example/Repeat.v

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6