Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Rice Wine
Iris
Commits
f9e88985
Commit
f9e88985
authored
May 28, 2018
by
Ralf Jung
Browse files
reserve fancy update notation
parent
b56835d0
Changes
2
Hide whitespace changes
Inline
Side-by-side
theories/bi/notation.v
View file @
f9e88985
...
...
@@ -41,5 +41,32 @@ Reserved Notation "■? p P" (at level 20, p at level 9, P at level 20,
Reserved
Notation
"|==> Q"
(
at
level
99
,
Q
at
level
200
,
format
"|==> Q"
).
Reserved
Notation
"P ==∗ Q"
(
at
level
99
,
Q
at
level
200
,
format
"P ==∗ Q"
).
Reserved
Notation
"|={ E1 , E2 }=> Q"
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"|={ E1 , E2 }=> Q"
).
Reserved
Notation
"P ={ E1 , E2 }=∗ Q"
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"P ={ E1 , E2 }=∗ Q"
).
Reserved
Notation
"|={ E }=> Q"
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"|={ E }=> Q"
).
Reserved
Notation
"P ={ E }=∗ Q"
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"P ={ E }=∗ Q"
).
Reserved
Notation
"|={ E1 , E2 }▷=> Q"
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"|={ E1 , E2 }▷=> Q"
).
Reserved
Notation
"P ={ E1 , E2 }▷=∗ Q"
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"P ={ E1 , E2 }▷=∗ Q"
).
Reserved
Notation
"|={ E }▷=> Q"
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"|={ E }▷=> Q"
).
Reserved
Notation
"P ={ E }▷=∗ Q"
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"P ={ E }▷=∗ Q"
).
(** Define the scope *)
Delimit
Scope
bi_scope
with
I
.
theories/bi/updates.v
View file @
f9e88985
...
...
@@ -15,37 +15,19 @@ Class FUpd (PROP : Type) : Type := fupd : coPset → coPset → PROP → PROP.
Instance
:
Params
(@
fupd
)
4
.
Hint
Mode
FUpd
!
:
typeclass_instances
.
Notation
"|={ E1 , E2 }=> Q"
:
=
(
fupd
E1
E2
Q
)
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"|={ E1 , E2 }=> Q"
)
:
bi_scope
.
Notation
"P ={ E1 , E2 }=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}=>
Q
)%
I
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"P ={ E1 , E2 }=∗ Q"
)
:
bi_scope
.
Notation
"P ={ E1 , E2 }=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}=>
Q
)
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
stdpp_scope
.
Notation
"|={ E }=> Q"
:
=
(
fupd
E
E
Q
)
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"|={ E }=> Q"
)
:
bi_scope
.
Notation
"P ={ E }=∗ Q"
:
=
(
P
-
∗
|={
E
}=>
Q
)%
I
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"P ={ E }=∗ Q"
)
:
bi_scope
.
Notation
"P ={ E }=∗ Q"
:
=
(
P
-
∗
|={
E
}=>
Q
)
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
stdpp_scope
.
Notation
"|={ E1 , E2 }=> Q"
:
=
(
fupd
E1
E2
Q
)
:
bi_scope
.
Notation
"P ={ E1 , E2 }=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}=>
Q
)%
I
:
bi_scope
.
Notation
"P ={ E1 , E2 }=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}=>
Q
)
:
stdpp_scope
.
Notation
"|={ E }=> Q"
:
=
(
fupd
E
E
Q
)
:
bi_scope
.
Notation
"P ={ E }=∗ Q"
:
=
(
P
-
∗
|={
E
}=>
Q
)%
I
:
bi_scope
.
Notation
"P ={ E }=∗ Q"
:
=
(
P
-
∗
|={
E
}=>
Q
)
:
stdpp_scope
.
(** Fancy updates that take a step. *)
Notation
"|={ E1 , E2 }▷=> Q"
:
=
(|={
E1
,
E2
}=>
(
▷
|={
E2
,
E1
}=>
Q
))%
I
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"|={ E1 , E2 }▷=> Q"
)
:
bi_scope
.
Notation
"P ={ E1 , E2 }▷=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}
▷
=>
Q
)%
I
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"P ={ E1 , E2 }▷=∗ Q"
)
:
bi_scope
.
Notation
"|={ E }▷=> Q"
:
=
(|={
E
,
E
}
▷
=>
Q
)%
I
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"|={ E }▷=> Q"
)
:
bi_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"
)
:
bi_scope
.
Notation
"|={ E1 , E2 }▷=> Q"
:
=
(|={
E1
,
E2
}=>
(
▷
|={
E2
,
E1
}=>
Q
))%
I
:
bi_scope
.
Notation
"P ={ E1 , E2 }▷=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}
▷
=>
Q
)%
I
:
bi_scope
.
Notation
"|={ E }▷=> Q"
:
=
(|={
E
,
E
}
▷
=>
Q
)%
I
:
bi_scope
.
Notation
"P ={ E }▷=∗ Q"
:
=
(
P
={
E
,
E
}
▷
=
∗
Q
)%
I
:
bi_scope
.
(** Bundled versions *)
(* Mixins allow us to create instances easily without having to use Program *)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment