parent cf0bcf6a
 ... @@ -189,5 +189,5 @@ Section error_tests. ... @@ -189,5 +189,5 @@ Section error_tests. Abort. Abort. End error_tests. End error_tests. Lemma heap_e_adequate σ : adequate NotStuck heap_e σ (= #2). Lemma heap_e_adequate σ : adequate NotStuck heap_e σ (λ v _, v = #2). Proof. eapply (heap_adequacy heapΣ)=> ?. by apply heap_e_spec. Qed. Proof. eapply (heap_adequacy heapΣ)=> ?. by apply heap_e_spec. Qed.
 ... @@ -15,7 +15,7 @@ Proof. solve_inG. Qed. ... @@ -15,7 +15,7 @@ Proof. solve_inG. Qed. Definition heap_adequacy Σ `{heapPreG Σ} s e σ φ : Definition heap_adequacy Σ `{heapPreG Σ} s e σ φ : (∀ `{heapG Σ}, WP e @ s; ⊤ {{ v, ⌜φ v⌝ }}%I) → (∀ `{heapG Σ}, WP e @ s; ⊤ {{ v, ⌜φ v⌝ }}%I) → adequate s e σ φ. adequate s e σ (λ v _, φ v). Proof. Proof. intros Hwp; eapply (wp_adequacy _ _); iIntros (?) "". intros Hwp; eapply (wp_adequacy _ _); iIntros (?) "". iMod (gen_heap_init σ) as (?) "Hh". iMod (gen_heap_init σ) as (?) "Hh". ... ...
 ... @@ -41,7 +41,7 @@ Instance: Params (@ownP) 3. ... @@ -41,7 +41,7 @@ Instance: Params (@ownP) 3. (* Adequacy *) (* Adequacy *) Theorem ownP_adequacy Σ `{ownPPreG Λ Σ} s e σ φ : Theorem ownP_adequacy Σ `{ownPPreG Λ Σ} s e σ φ : (∀ `{ownPG Λ Σ}, ownP σ ⊢ WP e @ s; ⊤ {{ v, ⌜φ v⌝ }}) → (∀ `{ownPG Λ Σ}, ownP σ ⊢ WP e @ s; ⊤ {{ v, ⌜φ v⌝ }}) → adequate s e σ φ. adequate s e σ (λ v _, φ v). Proof. Proof. intros Hwp. apply (wp_adequacy Σ _). intros Hwp. apply (wp_adequacy Σ _). iIntros (?). iMod (own_alloc (● (Excl' (σ : leibnizC _)) ⋅ ◯ (Excl' σ))) iIntros (?). iMod (own_alloc (● (Excl' (σ : leibnizC _)) ⋅ ◯ (Excl' σ))) ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!