Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iris
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tej Chajed
iris
Commits
342b79a4
Commit
342b79a4
authored
Nov 11, 2017
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bump stdpp.
parent
63f6c55b
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
44 additions
and
44 deletions
+44
-44
opam
opam
+1
-1
theories/algebra/big_op.v
theories/algebra/big_op.v
+6
-6
theories/algebra/cmra.v
theories/algebra/cmra.v
+7
-7
theories/algebra/dra.v
theories/algebra/dra.v
+1
-1
theories/base_logic/deprecated.v
theories/base_logic/deprecated.v
+3
-3
theories/base_logic/double_negation.v
theories/base_logic/double_negation.v
+1
-1
theories/base_logic/lib/fancy_updates.v
theories/base_logic/lib/fancy_updates.v
+2
-2
theories/base_logic/lib/namespaces.v
theories/base_logic/lib/namespaces.v
+2
-2
theories/base_logic/lib/viewshifts.v
theories/base_logic/lib/viewshifts.v
+2
-2
theories/base_logic/primitive.v
theories/base_logic/primitive.v
+3
-3
theories/base_logic/upred.v
theories/base_logic/upred.v
+4
-4
theories/program_logic/hoare.v
theories/program_logic/hoare.v
+4
-4
theories/program_logic/weakestpre.v
theories/program_logic/weakestpre.v
+4
-4
theories/proofmode/notation.v
theories/proofmode/notation.v
+4
-4
No files found.
opam
View file @
342b79a4
...
...
@@ -12,5 +12,5 @@ remove: ["rm" "-rf" "%{lib}%/coq/user-contrib/iris"]
depends: [
"coq" { >= "8.6.1" & < "8.8~" }
"coq-mathcomp-ssreflect" { (>= "1.6.1" & < "1.7~") | (= "dev") }
"coq-stdpp" { (= "dev.2017-1
0-28.7
") | (= "dev") }
"coq-stdpp" { (= "dev.2017-1
1-11.0
") | (= "dev") }
]
theories/algebra/big_op.v
View file @
342b79a4
...
...
@@ -30,10 +30,10 @@ Arguments big_opL {M} o {_ A} _ !_ /.
Typeclasses
Opaque
big_opL
.
Notation
"'[^' o 'list]' k ↦ x ∈ l , P"
:
=
(
big_opL
o
(
λ
k
x
,
P
)
l
)
(
at
level
200
,
o
at
level
1
,
l
at
level
10
,
k
,
x
at
level
1
,
right
associativity
,
format
"[^ o list] k ↦ x ∈ l , P"
)
:
C
_scope
.
format
"[^ o list] k ↦ x ∈ l , P"
)
:
stdpp
_scope
.
Notation
"'[^' o 'list]' x ∈ l , P"
:
=
(
big_opL
o
(
λ
_
x
,
P
)
l
)
(
at
level
200
,
o
at
level
1
,
l
at
level
10
,
x
at
level
1
,
right
associativity
,
format
"[^ o list] x ∈ l , P"
)
:
C
_scope
.
format
"[^ o list] x ∈ l , P"
)
:
stdpp
_scope
.
Definition
big_opM
`
{
Monoid
M
o
}
`
{
Countable
K
}
{
A
}
(
f
:
K
→
A
→
M
)
(
m
:
gmap
K
A
)
:
M
:
=
big_opL
o
(
λ
_
,
curry
f
)
(
map_to_list
m
).
...
...
@@ -42,10 +42,10 @@ Arguments big_opM {M} o {_ K _ _ A} _ _ : simpl never.
Typeclasses
Opaque
big_opM
.
Notation
"'[^' o 'map]' k ↦ x ∈ m , P"
:
=
(
big_opM
o
(
λ
k
x
,
P
)
m
)
(
at
level
200
,
o
at
level
1
,
m
at
level
10
,
k
,
x
at
level
1
,
right
associativity
,
format
"[^ o map] k ↦ x ∈ m , P"
)
:
C
_scope
.
format
"[^ o map] k ↦ x ∈ m , P"
)
:
stdpp
_scope
.
Notation
"'[^' o 'map]' x ∈ m , P"
:
=
(
big_opM
o
(
λ
_
x
,
P
)
m
)
(
at
level
200
,
o
at
level
1
,
m
at
level
10
,
x
at
level
1
,
right
associativity
,
format
"[^ o map] x ∈ m , P"
)
:
C
_scope
.
format
"[^ o map] x ∈ m , P"
)
:
stdpp
_scope
.
Definition
big_opS
`
{
Monoid
M
o
}
`
{
Countable
A
}
(
f
:
A
→
M
)
(
X
:
gset
A
)
:
M
:
=
big_opL
o
(
λ
_
,
f
)
(
elements
X
).
...
...
@@ -54,7 +54,7 @@ Arguments big_opS {M} o {_ A _ _} _ _ : simpl never.
Typeclasses
Opaque
big_opS
.
Notation
"'[^' o 'set]' x ∈ X , P"
:
=
(
big_opS
o
(
λ
x
,
P
)
X
)
(
at
level
200
,
o
at
level
1
,
X
at
level
10
,
x
at
level
1
,
right
associativity
,
format
"[^ o set] x ∈ X , P"
)
:
C
_scope
.
format
"[^ o set] x ∈ X , P"
)
:
stdpp
_scope
.
Definition
big_opMS
`
{
Monoid
M
o
}
`
{
Countable
A
}
(
f
:
A
→
M
)
(
X
:
gmultiset
A
)
:
M
:
=
big_opL
o
(
λ
_
,
f
)
(
elements
X
).
...
...
@@ -63,7 +63,7 @@ Arguments big_opMS {M} o {_ A _ _} _ _ : simpl never.
Typeclasses
Opaque
big_opMS
.
Notation
"'[^' o 'mset]' x ∈ X , P"
:
=
(
big_opMS
o
(
λ
x
,
P
)
X
)
(
at
level
200
,
o
at
level
1
,
X
at
level
10
,
x
at
level
1
,
right
associativity
,
format
"[^ o mset] x ∈ X , P"
)
:
C
_scope
.
format
"[^ o mset] x ∈ X , P"
)
:
stdpp
_scope
.
(** * Properties about big ops *)
Section
big_op
.
...
...
theories/algebra/cmra.v
View file @
342b79a4
...
...
@@ -8,8 +8,8 @@ Instance: Params (@pcore) 2.
Class
Op
(
A
:
Type
)
:
=
op
:
A
→
A
→
A
.
Hint
Mode
Op
!
:
typeclass_instances
.
Instance
:
Params
(@
op
)
2
.
Infix
"⋅"
:
=
op
(
at
level
50
,
left
associativity
)
:
C
_scope
.
Notation
"(⋅)"
:
=
op
(
only
parsing
)
:
C
_scope
.
Infix
"⋅"
:
=
op
(
at
level
50
,
left
associativity
)
:
stdpp
_scope
.
Notation
"(⋅)"
:
=
op
(
only
parsing
)
:
stdpp
_scope
.
(* The inclusion quantifies over [A], not [option A]. This means we do not get
reflexivity. However, if we used [option A], the following would no longer
...
...
@@ -17,8 +17,8 @@ Notation "(⋅)" := op (only parsing) : C_scope.
x ≼ y ↔ x.1 ≼ y.1 ∧ x.2 ≼ y.2
*)
Definition
included
`
{
Equiv
A
,
Op
A
}
(
x
y
:
A
)
:
=
∃
z
,
y
≡
x
⋅
z
.
Infix
"≼"
:
=
included
(
at
level
70
)
:
C
_scope
.
Notation
"(≼)"
:
=
included
(
only
parsing
)
:
C
_scope
.
Infix
"≼"
:
=
included
(
at
level
70
)
:
stdpp
_scope
.
Notation
"(≼)"
:
=
included
(
only
parsing
)
:
stdpp
_scope
.
Hint
Extern
0
(
_
≼
_
)
=>
reflexivity
.
Instance
:
Params
(@
included
)
3
.
...
...
@@ -31,11 +31,11 @@ Notation "✓{ n } x" := (validN n x)
Class
Valid
(
A
:
Type
)
:
=
valid
:
A
→
Prop
.
Hint
Mode
Valid
!
:
typeclass_instances
.
Instance
:
Params
(@
valid
)
2
.
Notation
"✓ x"
:
=
(
valid
x
)
(
at
level
20
)
:
C
_scope
.
Notation
"✓ x"
:
=
(
valid
x
)
(
at
level
20
)
:
stdpp
_scope
.
Definition
includedN
`
{
Dist
A
,
Op
A
}
(
n
:
nat
)
(
x
y
:
A
)
:
=
∃
z
,
y
≡
{
n
}
≡
x
⋅
z
.
Notation
"x ≼{ n } y"
:
=
(
includedN
n
x
y
)
(
at
level
70
,
n
at
next
level
,
format
"x ≼{ n } y"
)
:
C
_scope
.
(
at
level
70
,
n
at
next
level
,
format
"x ≼{ n } y"
)
:
stdpp
_scope
.
Instance
:
Params
(@
includedN
)
4
.
Hint
Extern
0
(
_
≼
{
_
}
_
)
=>
reflexivity
.
...
...
@@ -140,7 +140,7 @@ End cmra_mixin.
Definition
opM
{
A
:
cmraT
}
(
x
:
A
)
(
my
:
option
A
)
:
=
match
my
with
Some
y
=>
x
⋅
y
|
None
=>
x
end
.
Infix
"⋅?"
:
=
opM
(
at
level
50
,
left
associativity
)
:
C
_scope
.
Infix
"⋅?"
:
=
opM
(
at
level
50
,
left
associativity
)
:
stdpp
_scope
.
(** * CoreId elements *)
Class
CoreId
{
A
:
cmraT
}
(
x
:
A
)
:
=
core_id
:
pcore
x
≡
Some
x
.
...
...
theories/algebra/dra.v
View file @
342b79a4
...
...
@@ -199,7 +199,7 @@ Proof. split; naive_solver eauto using dra_op_valid. Qed.
(* TODO: This has to be proven again. *)
(*
Lemma to_validity_included x y:
(✓ y ∧ to_validity x ≼ to_validity y)%
C
↔ (✓ x ∧ x ≼ y).
(✓ y ∧ to_validity x ≼ to_validity y)%
stdpp
↔ (✓ x ∧ x ≼ y).
Proof.
split.
- move=>[Hvl [z [Hvxz EQ]]]. move:(Hvl)=>Hvl'. apply Hvxz in Hvl'.
...
...
theories/base_logic/deprecated.v
View file @
342b79a4
...
...
@@ -2,11 +2,11 @@ From iris.base_logic Require Import primitive.
Set
Default
Proof
Using
"Type"
.
(* Deprecated 2016-11-22. Use ⌜φ⌝ instead. *)
Notation
"■ φ"
:
=
(
uPred_pure
φ
%
C
%
type
)
Notation
"■ φ"
:
=
(
uPred_pure
φ
%
stdpp
%
type
)
(
at
level
20
,
right
associativity
,
only
parsing
)
:
uPred_scope
.
(* Deprecated 2016-11-22. Use ⌜x = y⌝ instead. *)
Notation
"x = y"
:
=
(
uPred_pure
(
x
%
C
%
type
=
y
%
C
%
type
))
(
only
parsing
)
:
uPred_scope
.
Notation
"x = y"
:
=
(
uPred_pure
(
x
%
stdpp
%
type
=
y
%
stdpp
%
type
))
(
only
parsing
)
:
uPred_scope
.
(* Deprecated 2016-11-22. Use ⌜x ## y ⌝ instead. *)
Notation
"x ## y"
:
=
(
uPred_pure
(
x
%
C
%
type
##
y
%
C
%
type
))
(
only
parsing
)
:
uPred_scope
.
Notation
"x ## y"
:
=
(
uPred_pure
(
x
%
stdpp
%
type
##
y
%
stdpp
%
type
))
(
only
parsing
)
:
uPred_scope
.
theories/base_logic/double_negation.v
View file @
342b79a4
...
...
@@ -9,7 +9,7 @@ Definition uPred_nnupd {M} (P: uPred M) : uPred M :=
Notation
"|=n=> Q"
:
=
(
uPred_nnupd
Q
)
(
at
level
99
,
Q
at
level
200
,
format
"|=n=> Q"
)
:
uPred_scope
.
Notation
"P =n=> Q"
:
=
(
P
⊢
|=
n
=>
Q
)
(
at
level
99
,
Q
at
level
200
,
only
parsing
)
:
C
_scope
.
(
at
level
99
,
Q
at
level
200
,
only
parsing
)
:
stdpp
_scope
.
Notation
"P =n=∗ Q"
:
=
(
P
-
∗
|=
n
=>
Q
)%
I
(
at
level
99
,
Q
at
level
200
,
format
"P =n=∗ Q"
)
:
uPred_scope
.
...
...
theories/base_logic/lib/fancy_updates.v
View file @
342b79a4
...
...
@@ -24,7 +24,7 @@ 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"
)
:
uPred_scope
.
Notation
"P ={ E1 , E2 }=∗ Q"
:
=
(
P
-
∗
|={
E1
,
E2
}=>
Q
)
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
C
_scope
.
(
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
,
...
...
@@ -33,7 +33,7 @@ Notation "P ={ E }=∗ Q" := (P -∗ |={E}=> Q)%I
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"P ={ E }=∗ Q"
)
:
uPred_scope
.
Notation
"P ={ E }=∗ Q"
:
=
(
P
-
∗
|={
E
}=>
Q
)
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
C
_scope
.
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
stdpp
_scope
.
Section
fupd
.
Context
`
{
invG
Σ
}.
...
...
theories/base_logic/lib/namespaces.v
View file @
342b79a4
...
...
@@ -21,8 +21,8 @@ Instance nclose : UpClose namespace coPset := unseal nclose_aux.
Definition
nclose_eq
:
@
nclose
=
@
nclose_def
:
=
seal_eq
nclose_aux
.
Notation
"N .@ x"
:
=
(
ndot
N
x
)
(
at
level
19
,
left
associativity
,
format
"N .@ x"
)
:
C
_scope
.
Notation
"(.@)"
:
=
ndot
(
only
parsing
)
:
C
_scope
.
(
at
level
19
,
left
associativity
,
format
"N .@ x"
)
:
stdpp
_scope
.
Notation
"(.@)"
:
=
ndot
(
only
parsing
)
:
stdpp
_scope
.
Instance
ndisjoint
:
Disjoint
namespace
:
=
λ
N1
N2
,
nclose
N1
##
nclose
N2
.
...
...
theories/base_logic/lib/viewshifts.v
View file @
342b79a4
...
...
@@ -16,10 +16,10 @@ Notation "P ={ E }=> Q" := (P ={E,E}=> Q)%I
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"
)
:
C
_scope
.
format
"P ={ E1 , E2 }=> Q"
)
:
stdpp
_scope
.
Notation
"P ={ E }=> Q"
:
=
(
P
={
E
}=>
Q
)%
I
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
format
"P ={ E }=> Q"
)
:
C
_scope
.
format
"P ={ E }=> Q"
)
:
stdpp
_scope
.
Section
vs
.
Context
`
{
invG
Σ
}.
...
...
theories/base_logic/primitive.v
View file @
342b79a4
...
...
@@ -168,7 +168,7 @@ Definition uPred_bupd {M} := unseal uPred_bupd_aux M.
Definition
uPred_bupd_eq
:
@
uPred_bupd
=
@
uPred_bupd_def
:
=
seal_eq
uPred_bupd_aux
.
(* Latest notation *)
Notation
"'⌜' φ '⌝'"
:
=
(
uPred_pure
φ
%
C
%
type
)
Notation
"'⌜' φ '⌝'"
:
=
(
uPred_pure
φ
%
stdpp
%
type
)
(
at
level
1
,
φ
at
level
200
,
format
"⌜ φ ⌝"
)
:
uPred_scope
.
Notation
"'False'"
:
=
(
uPred_pure
False
)
:
uPred_scope
.
Notation
"'True'"
:
=
(
uPred_pure
True
)
:
uPred_scope
.
...
...
@@ -198,7 +198,7 @@ Notation "✓ x" := (uPred_cmra_valid x) (at level 20) : uPred_scope.
Notation
"|==> Q"
:
=
(
uPred_bupd
Q
)
(
at
level
99
,
Q
at
level
200
,
format
"|==> Q"
)
:
uPred_scope
.
Notation
"P ==∗ Q"
:
=
(
P
⊢
|==>
Q
)
(
at
level
99
,
Q
at
level
200
,
only
parsing
)
:
C
_scope
.
(
at
level
99
,
Q
at
level
200
,
only
parsing
)
:
stdpp
_scope
.
Notation
"P ==∗ Q"
:
=
(
P
-
∗
|==>
Q
)%
I
(
at
level
99
,
Q
at
level
200
,
format
"P ==∗ Q"
)
:
uPred_scope
.
...
...
@@ -206,7 +206,7 @@ Coercion uPred_valid {M} (P : uPred M) : Prop := True%I ⊢ P.
Typeclasses
Opaque
uPred_valid
.
Notation
"P -∗ Q"
:
=
(
P
⊢
Q
)
(
at
level
99
,
Q
at
level
200
,
right
associativity
)
:
C
_scope
.
(
at
level
99
,
Q
at
level
200
,
right
associativity
)
:
stdpp
_scope
.
Module
uPred
.
Definition
unseal_eqs
:
=
...
...
theories/base_logic/upred.v
View file @
342b79a4
...
...
@@ -158,11 +158,11 @@ Hint Resolve uPred_mono uPred_closed : uPred_def.
(** Notations *)
Notation
"P ⊢ Q"
:
=
(
uPred_entails
P
%
I
Q
%
I
)
(
at
level
99
,
Q
at
level
200
,
right
associativity
)
:
C
_scope
.
Notation
"(⊢)"
:
=
uPred_entails
(
only
parsing
)
:
C
_scope
.
(
at
level
99
,
Q
at
level
200
,
right
associativity
)
:
stdpp
_scope
.
Notation
"(⊢)"
:
=
uPred_entails
(
only
parsing
)
:
stdpp
_scope
.
Notation
"P ⊣⊢ Q"
:
=
(
equiv
(
A
:
=
uPred
_
)
P
%
I
Q
%
I
)
(
at
level
95
,
no
associativity
)
:
C
_scope
.
Notation
"(⊣⊢)"
:
=
(
equiv
(
A
:
=
uPred
_
))
(
only
parsing
)
:
C
_scope
.
(
at
level
95
,
no
associativity
)
:
stdpp
_scope
.
Notation
"(⊣⊢)"
:
=
(
equiv
(
A
:
=
uPred
_
))
(
only
parsing
)
:
stdpp
_scope
.
Module
uPred
.
Section
entails
.
...
...
theories/program_logic/hoare.v
View file @
342b79a4
...
...
@@ -10,17 +10,17 @@ Instance: Params (@ht) 4.
Notation
"{{ P } } e @ E {{ Φ } }"
:
=
(
ht
E
P
%
I
e
%
E
Φ
%
I
)
(
at
level
20
,
P
,
e
,
Φ
at
level
200
,
format
"{{ P } } e @ E {{ Φ } }"
)
:
C
_scope
.
format
"{{ P } } e @ E {{ Φ } }"
)
:
stdpp
_scope
.
Notation
"{{ P } } e {{ Φ } }"
:
=
(
ht
⊤
P
%
I
e
%
E
Φ
%
I
)
(
at
level
20
,
P
,
e
,
Φ
at
level
200
,
format
"{{ P } } e {{ Φ } }"
)
:
C
_scope
.
format
"{{ P } } e {{ Φ } }"
)
:
stdpp
_scope
.
Notation
"{{ P } } e @ E {{ v , Q } }"
:
=
(
ht
E
P
%
I
e
%
E
(
λ
v
,
Q
)%
I
)
(
at
level
20
,
P
,
e
,
Q
at
level
200
,
format
"{{ P } } e @ E {{ v , Q } }"
)
:
C
_scope
.
format
"{{ P } } e @ E {{ v , Q } }"
)
:
stdpp
_scope
.
Notation
"{{ P } } e {{ v , Q } }"
:
=
(
ht
⊤
P
%
I
e
%
E
(
λ
v
,
Q
)%
I
)
(
at
level
20
,
P
,
e
,
Q
at
level
200
,
format
"{{ P } } e {{ v , Q } }"
)
:
C
_scope
.
format
"{{ P } } e {{ v , Q } }"
)
:
stdpp
_scope
.
Section
hoare
.
Context
`
{
irisG
Λ
Σ
}.
...
...
theories/program_logic/weakestpre.v
View file @
342b79a4
...
...
@@ -76,20 +76,20 @@ Notation "'{{{' P } } } e @ E {{{ x .. y , 'RET' pat ; Q } } }" :=
(
∀
Φ
:
_
→
uPred
_
,
P
-
∗
▷
(
∀
x
,
..
(
∀
y
,
Q
-
∗
Φ
pat
%
V
)
..
)
-
∗
WP
e
@
E
{{
Φ
}})
(
at
level
20
,
x
closed
binder
,
y
closed
binder
,
format
"{{{ P } } } e @ E {{{ x .. y , RET pat ; Q } } }"
)
:
C
_scope
.
format
"{{{ P } } } e @ E {{{ x .. y , RET pat ; Q } } }"
)
:
stdpp
_scope
.
Notation
"'{{{' P } } } e {{{ x .. y , 'RET' pat ; Q } } }"
:
=
(
∀
Φ
:
_
→
uPred
_
,
P
-
∗
▷
(
∀
x
,
..
(
∀
y
,
Q
-
∗
Φ
pat
%
V
)
..
)
-
∗
WP
e
{{
Φ
}})
(
at
level
20
,
x
closed
binder
,
y
closed
binder
,
format
"{{{ P } } } e {{{ x .. y , RET pat ; Q } } }"
)
:
C
_scope
.
format
"{{{ P } } } e {{{ x .. y , RET pat ; Q } } }"
)
:
stdpp
_scope
.
Notation
"'{{{' P } } } e @ E {{{ 'RET' pat ; Q } } }"
:
=
(
∀
Φ
:
_
→
uPred
_
,
P
-
∗
▷
(
Q
-
∗
Φ
pat
%
V
)
-
∗
WP
e
@
E
{{
Φ
}})
(
at
level
20
,
format
"{{{ P } } } e @ E {{{ RET pat ; Q } } }"
)
:
C
_scope
.
format
"{{{ P } } } e @ E {{{ RET pat ; Q } } }"
)
:
stdpp
_scope
.
Notation
"'{{{' P } } } e {{{ 'RET' pat ; Q } } }"
:
=
(
∀
Φ
:
_
→
uPred
_
,
P
-
∗
▷
(
Q
-
∗
Φ
pat
%
V
)
-
∗
WP
e
{{
Φ
}})
(
at
level
20
,
format
"{{{ P } } } e {{{ RET pat ; Q } } }"
)
:
C
_scope
.
format
"{{{ P } } } e {{{ RET pat ; Q } } }"
)
:
stdpp
_scope
.
Section
wp
.
Context
`
{
irisG
Λ
Σ
}.
...
...
theories/proofmode/notation.v
View file @
342b79a4
...
...
@@ -16,14 +16,14 @@ Notation "Γ '--------------------------------------' □ Δ '------------------
(
envs_entails
(
Envs
Γ
Δ
)
Q
%
I
)
(
at
level
1
,
Q
at
level
200
,
left
associativity
,
format
"Γ '--------------------------------------' □ '//' Δ '--------------------------------------' ∗ '//' Q '//'"
,
only
printing
)
:
C
_scope
.
stdpp
_scope
.
Notation
"Δ '--------------------------------------' ∗ Q"
:
=
(
envs_entails
(
Envs
Enil
Δ
)
Q
%
I
)
(
at
level
1
,
Q
at
level
200
,
left
associativity
,
format
"Δ '--------------------------------------' ∗ '//' Q '//'"
,
only
printing
)
:
C
_scope
.
format
"Δ '--------------------------------------' ∗ '//' Q '//'"
,
only
printing
)
:
stdpp
_scope
.
Notation
"Γ '--------------------------------------' □ Q"
:
=
(
envs_entails
(
Envs
Γ
Enil
)
Q
%
I
)
(
at
level
1
,
Q
at
level
200
,
left
associativity
,
format
"Γ '--------------------------------------' □ '//' Q '//'"
,
only
printing
)
:
C
_scope
.
format
"Γ '--------------------------------------' □ '//' Q '//'"
,
only
printing
)
:
stdpp
_scope
.
Notation
"'--------------------------------------' ∗ Q"
:
=
(
envs_entails
(
Envs
Enil
Enil
)
Q
%
I
)
(
at
level
1
,
Q
at
level
200
,
format
"'--------------------------------------' ∗ '//' Q '//'"
,
only
printing
)
:
C
_scope
.
(
at
level
1
,
Q
at
level
200
,
format
"'--------------------------------------' ∗ '//' Q '//'"
,
only
printing
)
:
stdpp
_scope
.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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