Commit 6da6e6b1 authored by Robbert Krebbers's avatar Robbert Krebbers

Make levels of viewshifts consistent with implication/wand.

parent 57485cae
...@@ -33,13 +33,13 @@ Arguments pvs {_ _} _ _ _%I. ...@@ -33,13 +33,13 @@ Arguments pvs {_ _} _ _ _%I.
Instance: Params (@pvs) 4. Instance: Params (@pvs) 4.
Notation "|={ E1 , E2 }=> Q" := (pvs E1 E2 Q%I) Notation "|={ E1 , E2 }=> Q" := (pvs E1 E2 Q%I)
(at level 199, E1, E2 at level 50, Q at level 200, (at level 99, E1, E2 at level 50, Q at level 200,
format "|={ E1 , E2 }=> Q") : uPred_scope. format "|={ E1 , E2 }=> Q") : uPred_scope.
Notation "|={ E }=> Q" := (pvs E E Q%I) Notation "|={ E }=> Q" := (pvs E E Q%I)
(at level 199, E at level 50, Q at level 200, (at level 99, E at level 50, Q at level 200,
format "|={ E }=> Q") : uPred_scope. format "|={ E }=> Q") : uPred_scope.
Notation "|==> Q" := (pvs Q%I) Notation "|==> Q" := (pvs Q%I)
(at level 199, Q at level 200, format "|==> Q") : uPred_scope. (at level 99, Q at level 200, format "|==> Q") : uPred_scope.
Section pvs. Section pvs.
Context {Λ : language} {Σ : iFunctor}. Context {Λ : language} {Σ : iFunctor}.
......
...@@ -8,15 +8,30 @@ Definition vs {Λ Σ} (E1 E2 : coPset) (P Q : iProp Λ Σ) : iProp Λ Σ := ...@@ -8,15 +8,30 @@ Definition vs {Λ Σ} (E1 E2 : coPset) (P Q : iProp Λ Σ) : iProp Λ Σ :=
Arguments vs {_ _} _ _ _%I _%I. Arguments vs {_ _} _ _ _%I _%I.
Instance: Params (@vs) 4. Instance: Params (@vs) 4.
Notation "P ={ E1 , E2 }=> Q" := (vs E1 E2 P%I Q%I) Notation "P ={ E1 , E2 }=> Q" := (vs E1 E2 P%I Q%I)
(at level 199, E1,E2 at level 50, (at level 99, E1,E2 at level 50, Q at level 200,
format "P ={ E1 , E2 }=> Q") : uPred_scope. format "P ={ E1 , E2 }=> Q") : uPred_scope.
Notation "P ={ E1 , E2 }=> Q" := (True vs E1 E2 P%I Q%I) Notation "P ={ E1 , E2 }=> Q" := (True (P ={E1,E2}=> Q)%I)
(at level 199, E1, E2 at level 50, (at level 99, E1, E2 at level 50, Q at level 200,
format "P ={ E1 , E2 }=> Q") : C_scope. format "P ={ E1 , E2 }=> Q") : C_scope.
Notation "P ={ E }=> Q" := (vs E E P%I Q%I) Notation "P ={ E }=> Q" := (P ={E,E}=> Q)%I
(at level 199, E at level 50, format "P ={ E }=> Q") : uPred_scope. (at level 99, E at level 50, Q at level 200,
Notation "P ={ E }=> Q" := (True vs E E P%I Q%I) format "P ={ E }=> Q") : uPred_scope.
(at level 199, E at level 50, format "P ={ E }=> Q") : C_scope. Notation "P ={ E }=> Q" := (True (P ={E}=> Q)%I)
(at level 99, E at level 50, Q at level 200,
format "P ={ E }=> Q") : C_scope.
Notation "P <={ E1 , E2 }=> Q" := ((P ={E1,E2}=> Q) (Q ={E2,E1}=> P))%I
(at level 99, E1,E2 at level 50, Q at level 200,
format "P <={ E1 , E2 }=> Q") : uPred_scope.
Notation "P <={ E1 , E2 }=> Q" := (True (P <={E1,E2}=> Q)%I)
(at level 99, E1, E2 at level 50, Q at level 200,
format "P <={ E1 , E2 }=> Q") : C_scope.
Notation "P <={ E }=> Q" := (P <={E,E}=> Q)%I
(at level 99, E at level 50, Q at level 200,
format "P <={ E }=> Q") : uPred_scope.
Notation "P <={ E }=> Q" := (True (P <={E}=> Q)%I)
(at level 99, E at level 50, Q at level 200,
format "P <={ E }=> Q") : C_scope.
Section vs. Section vs.
Context {Λ : language} {Σ : iFunctor}. Context {Λ : language} {Σ : iFunctor}.
......
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