Invariants over states in WP and get rid of heap_ctx.
The WP construction now takes an invariant on states as a parameter (part of the irisG class) and no longer builds in the authoritative ownership of the entire state. When instantiating WP with a concrete language on can choose its state invariant. For example, for heap_lang we directly use `auth (gmap loc (frac * dec_agree val))`, and avoid the indirection through invariants entirely. As a result, we no longer have to carry `heap_ctx` around.
Showing
- heap_lang/adequacy.v 10 additions, 12 deletionsheap_lang/adequacy.v
- heap_lang/heap.v 79 additions, 76 deletionsheap_lang/heap.v
- heap_lang/lib/barrier/proof.v 6 additions, 7 deletionsheap_lang/lib/barrier/proof.v
- heap_lang/lib/barrier/specification.v 2 additions, 4 deletionsheap_lang/lib/barrier/specification.v
- heap_lang/lib/counter.v 11 additions, 14 deletionsheap_lang/lib/counter.v
- heap_lang/lib/lock.v 1 addition, 2 deletionsheap_lang/lib/lock.v
- heap_lang/lib/par.v 5 additions, 5 deletionsheap_lang/lib/par.v
- heap_lang/lib/spawn.v 4 additions, 6 deletionsheap_lang/lib/spawn.v
- heap_lang/lib/spin_lock.v 5 additions, 6 deletionsheap_lang/lib/spin_lock.v
- heap_lang/lib/ticket_lock.v 5 additions, 9 deletionsheap_lang/lib/ticket_lock.v
- heap_lang/lifting.v 9 additions, 55 deletionsheap_lang/lifting.v
- heap_lang/proofmode.v 7 additions, 27 deletionsheap_lang/proofmode.v
- program_logic/adequacy.v 38 additions, 57 deletionsprogram_logic/adequacy.v
- program_logic/ectx_lifting.v 35 additions, 32 deletionsprogram_logic/ectx_lifting.v
- program_logic/lifting.v 22 additions, 41 deletionsprogram_logic/lifting.v
- program_logic/weakestpre.v 4 additions, 33 deletionsprogram_logic/weakestpre.v
- tests/barrier_client.v 8 additions, 8 deletionstests/barrier_client.v
- tests/counter.v 12 additions, 11 deletionstests/counter.v
- tests/heap_lang.v 6 additions, 6 deletionstests/heap_lang.v
- tests/joining_existentials.v 5 additions, 7 deletionstests/joining_existentials.v
Loading
Please register or sign in to comment