Commit e922a646 authored by Jacques-Henri Jourdan's avatar Jacques-Henri Jourdan

Tweak core.v

parent fee229c1
Pipeline #3483 passed with stage
in 10 minutes and 19 seconds
......@@ -7,7 +7,7 @@ Import uPred.
in the shallow embedding. *)
Definition coreP {M : ucmraT} (P : uPred M) : uPred M :=
( (Q : uPred M) `(!PersistentP Q, !P - Q), Q)%I.
( `(!PersistentP Q, P Q), Q)%I.
Section core.
Context {M : ucmraT}.
......@@ -23,11 +23,18 @@ Section core.
iIntros (HPQ). iApply HQ. unshelve iApply ("HCP" $! Q). done.
Qed.
Global Instance coreP_mono : Proper (() ==> ()) (@coreP M).
Proof.
unfold coreP. iIntros (?? ENT) "H *". unshelve iApply ("H" $! Q). by etrans.
Qed.
Global Instance coreP_proper : Proper ((⊣⊢) ==> (⊣⊢)) (@coreP M).
Proof. intros ??. rewrite !equiv_spec=>-[A B]. split; rewrite ?A // ?B //. Qed.
Lemma coreP_elim P : PersistentP P coreP P - P.
Proof.
iIntros (?) "HCP". unshelve iApply ("HCP" $! P). iIntros "P". done.
Qed.
End core.
Global Opaque coreP.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment