Bake a binder in the notation for the postcondition of wp and triples.
That way, we do not have useless type annotations of the form "v : language.val heap_lang" cluttering about any goal. Note, that we could decide to eta expand everywhere (as we do for ∀ and ∃), and use the notation "WP e {{ Q }}" for "wp e ⊤ (λ _, Q)".
Showing
- heap_lang/lib/assert.v 1 addition, 1 deletionheap_lang/lib/assert.v
- heap_lang/lib/barrier/client.v 4 additions, 4 deletionsheap_lang/lib/barrier/client.v
- heap_lang/lib/barrier/specification.v 3 additions, 3 deletionsheap_lang/lib/barrier/specification.v
- heap_lang/lifting.v 3 additions, 3 deletionsheap_lang/lifting.v
- heap_lang/notation.v 8 additions, 0 deletionsheap_lang/notation.v
- program_logic/adequacy.v 2 additions, 2 deletionsprogram_logic/adequacy.v
- program_logic/ectx_weakestpre.v 1 addition, 1 deletionprogram_logic/ectx_weakestpre.v
- program_logic/hoare.v 19 additions, 7 deletionsprogram_logic/hoare.v
- program_logic/hoare_lifting.v 13 additions, 13 deletionsprogram_logic/hoare_lifting.v
- program_logic/invariants.v 2 additions, 2 deletionsprogram_logic/invariants.v
- program_logic/weakestpre.v 16 additions, 9 deletionsprogram_logic/weakestpre.v
- tests/heap_lang.v 3 additions, 3 deletionstests/heap_lang.v
- tests/joining_existentials.v 6 additions, 6 deletionstests/joining_existentials.v
- tests/one_shot.v 5 additions, 5 deletionstests/one_shot.v
Loading
Please register or sign in to comment