Skip to content
Snippets Groups Projects
Commit efd17201 authored by Ralf Jung's avatar Ralf Jung
Browse files

elim_inv_acc_with_close: also support ElimModal with a side-condition

parent 58e2394c
No related branches found
No related tags found
No related merge requests found
...@@ -868,15 +868,16 @@ Proof. ...@@ -868,15 +868,16 @@ Proof.
Qed. Qed.
Global Instance elim_inv_acc_with_close {X : Type} Global Instance elim_inv_acc_with_close {X : Type}
φ Pinv Pin φ1 φ2 Pinv Pin
M1 M2 α β Q Q' : M1 M2 α β Q Q' :
IntoAcc Pinv φ Pin M1 M2 α β IntoAcc Pinv φ1 Pin M1 M2 α β
( R, ElimModal True false false (M1 R) R Q Q') ( R, ElimModal φ2 false false (M1 R) R Q Q')
ElimInv (X:=X) φ Pinv Pin α (Some (λ x, β x -∗ M2 (proofmode.base.from_option id emp ( x))))%I ElimInv (X:=X) (φ1 φ2) Pinv Pin
α (Some (λ x, β x -∗ M2 (proofmode.base.from_option id emp ( x))))%I
Q (λ _, Q'). Q (λ _, Q').
Proof. Proof.
rewrite /ElimAcc /IntoAcc /ElimInv. rewrite /ElimAcc /IntoAcc /ElimInv.
iIntros (Hacc Helim ) "(Hinv & Hin & Hcont)". iIntros (Hacc Helim [??]) "(Hinv & Hin & Hcont)".
iMod (Hacc with "Hinv Hin") as (x) "[Hα Hclose]"; first done. iMod (Hacc with "Hinv Hin") as (x) "[Hα Hclose]"; first done.
iApply "Hcont". simpl. iSplitL "Hα"; done. iApply "Hcont". simpl. iSplitL "Hα"; done.
Qed. Qed.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment