State invariants in WP and the dead of heap_ctx.

Merged Robbert Krebbers requested to merge state_inv into master

This merge request changes the WP construction so that it takes state interpretation as its parameter (part of the irisG type class), instead of building in the authoritative ownership of the entire state. When instantiating WP with a concrete language, one can choose the state interpretation. For example, for heap_lang we directly use auth (gmap loc (frac * dec_agree val)), and avoid the indirection through an invariant managing ownership of the entire state.

As a result, we no longer have to carry around heap_ctx.

Merge request reports