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

monpred wand/impl framing: don't require indices to match syntactically

parent 27844ad7
No related branches found
No related tags found
No related merge requests found
...@@ -370,18 +370,22 @@ Proof. rewrite /Frame /FrameMonPredAt=> ->. by rewrite monPred_at_and. Qed. ...@@ -370,18 +370,22 @@ Proof. rewrite /Frame /FrameMonPredAt=> ->. by rewrite monPred_at_and. Qed.
Global Instance frame_monPred_at_or p P Q 𝓡 𝓠 i : Global Instance frame_monPred_at_or p P Q 𝓡 𝓠 i :
Frame p 𝓡 (P i Q i) 𝓠 FrameMonPredAt p i 𝓡 (P Q) 𝓠. Frame p 𝓡 (P i Q i) 𝓠 FrameMonPredAt p i 𝓡 (P Q) 𝓠.
Proof. rewrite /Frame /FrameMonPredAt=> ->. by rewrite monPred_at_or. Qed. Proof. rewrite /Frame /FrameMonPredAt=> ->. by rewrite monPred_at_or. Qed.
Global Instance frame_monPred_at_wand p P R Q1 Q2 i : Global Instance frame_monPred_at_wand p P R Q1 Q2 i j :
Frame p R Q1 Q2 FrameMonPredAt p i (R i) (P -∗ Q1) ((P -∗ Q2) i). IsBiIndexRel i j
Frame p R Q1 Q2
FrameMonPredAt p j (R i) (P -∗ Q1) ((P -∗ Q2) i).
Proof. Proof.
rewrite /Frame /FrameMonPredAt=>Hframe. rewrite /Frame /FrameMonPredAt=>-> Hframe.
rewrite -monPred_at_intuitionistically_if -monPred_at_sep. apply monPred_in_entails. rewrite -monPred_at_intuitionistically_if -monPred_at_sep. apply monPred_in_entails.
change ((?p R (P -∗ Q2)) -∗ P -∗ Q1). apply bi.wand_intro_r. change ((?p R (P -∗ Q2)) -∗ P -∗ Q1). apply bi.wand_intro_r.
rewrite -assoc bi.wand_elim_l. done. rewrite -assoc bi.wand_elim_l. done.
Qed. Qed.
Global Instance frame_monPred_at_impl P R Q1 Q2 i : Global Instance frame_monPred_at_impl P R Q1 Q2 i j :
Frame true R Q1 Q2 FrameMonPredAt true i (R i) (P Q1) ((P Q2) i). IsBiIndexRel i j
Frame true R Q1 Q2
FrameMonPredAt true j (R i) (P Q1) ((P Q2) i).
Proof. Proof.
rewrite /Frame /FrameMonPredAt=>Hframe. rewrite /Frame /FrameMonPredAt=>-> Hframe.
rewrite -monPred_at_intuitionistically_if -monPred_at_sep. apply monPred_in_entails. rewrite -monPred_at_intuitionistically_if -monPred_at_sep. apply monPred_in_entails.
change (( R (P Q2)) -∗ P Q1). change (( R (P Q2)) -∗ P Q1).
rewrite -bi.persistently_and_intuitionistically_sep_l. apply bi.impl_intro_r. rewrite -bi.persistently_and_intuitionistically_sep_l. apply bi.impl_intro_r.
......
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